Velocizzare il boot di Arch Linux modificando il file /etc/rc.sysinit

velocizzare avvio arch linux, velocizzare boot arch linux, tweak rc.sysinit in arch linuxArch Linux, velocità sorprendente, semplicità spiazzante.
Una dimostrazione di quanto sia flessibile Arch Linux può essere il file /etc/rc.sysinit che controlla praticamente tutti i processi di boot includendo il file rc.conf per la configurazione di sistema.

Gestisce il caricamento di Udev, dei moduli, esegue il check del HDD ed effettua diverse altre operazioni. Ulteriori informazioni possono essere trovate nella Wiki di Arch Linux.

In questa guida vedremo come modificare questo file in modo da avere un boot molto più veloce.

ATTENZIONE: E’ consigliato fare una copia di BackUp di tale file che, in caso di operazioni sbagliate, potrebbe rendere il sistema non avviabile.

Apriamo quindi un terminale e digitiamo “gksu leafpad /etc/rc.sysinit”, ricordandoci di sostituire “leafpad” col nome del nostro editor testuale.

Notiamo subito all’inizio del file le linee che mostrano i messaggi che vediamo solitamente all’inizio del boot dopo il caricamento del Kernel. Possiamo cominciare commentando la linea ‘printhl “${C_H2}http://www.archlinux.org”‘, cioè inserendo un # davanti ad essa.

1. Disabilitare il systemcheck

Se non volete che il vostro HDD venga controllato ad ogni boot, evitando così di sprecare tempo e risorse, ci sono alcune linee da commentare all’interno del file.

Le prime sono queste:

# remount root ro to allow for fsck later on, we remount now to
# make sure nothing can open files rw on root which would block a remount
#findmnt / –options ro &>/dev/null ||
#    status “Mounting Root Read-Only” mount -n -o remount,ro /

Commentando queste righe, eviteremo che il file system venga montato in modalità sola lettura. Questo passaggio è utile solo se il systemcheck è attivo, ma visto che noi lo vogliamo disabilitare non abbiamo motivo di fare inutili remount.

Adesso commentiamo le righe:

# Check filesystems
#[[ -f /forcefsck — || in_array forcefsck $(< /proc/cmdline) && FORCEFSCK=”– -f”
#declare -r FORCEFSCK
#run_hook sysinit_prefsck
#if [[ -x $(type -P fsck) –; then
#    stat_busy “Checking Filesystems”
#        fsck_all >|”${FSCK_OUT:-/dev/stdout}” 2>|”${FSCK_ERR:-/dev/stdout}”
#    declare -r fsckret=$?
#    (( fsckret <= 1 )) && stat_done || stat_fail
#else
#    declare -r fsckret=0
#fi
#run_hook sysinit_postfsck

# Single-user login and/or automatic reboot if needed
#fsck_reboot $fsckret

Quindi, muoviamo la stringa “mount -n -o remount,rw /” all’inizio del file ( Dopo l’ultimo comando mountpoint ).

Fatto ciò, dovremmo guadagnare qualche secondo al boot.

2. Eseguire più task contemporaneamente

Ci sono diversi task da eseguire contemporaneamente. Ovviamente, a vostro rischio e pericolo !

  • Leftover files. Questo processo consente di rimuovere i file temporanei prodotti dal boot.
    Lo si può eseguire contemporaneamente ad altri processi, e per farlo basta aggiungere una & davanti la riga: remove_leftover
  • Console Keymap: Questo processo mira a settare la configurazione adeguata per le console virtuali del vostro OS. Per eseguirlo contemporaneamente ad altri basta aggiungere una & davanti alla riga:
    [[ $KEYMAP — &&
        status “Loading Keyboard Map: $KEYMAP” loadkeys -q $KEYMAP &
  • Keyboard Font: Subito dopo trovate il task per settare i font: set_consolefont &

Volendo ci sono altri task da poter rendere paralleli, ma su alcuni sistemi rendere paralleli troppi processi potrebbe essere contro-producente se non addirittura dannoso. Lascio all’utente il compito di scegliere coscientemente i processi da rendere paralleli. Ricordate che basta una & alla fine della riga.

3. Disabilitare processi inutili

Non sempre si ha bisogno di tutte le operazioni eseguite dal sistema, per tanto commentare alcune righe può regalarci un boot fulmineo.

  • BootLogging. Per disabilitare il logging dei processi di boot commentare le seguenti righe. ( Le prime all’inizio del file, le seconde alla fine dello stesso. )

    # start up our mini logger until syslog takes over
    #minilogd
    #bootlogd -p /run/bootlogd.pid

    #stat_busy “Saving dmesg Log”
    #    if [[ -e /proc/sys/kernel/dmesg_restrict — &&
    #        (( $(< /proc/sys/kernel/dmesg_restrict) == 1 )); then
    #        install -Tm 0600 <( dmesg ) /var/log/dmesg.log
    #    else
    #        install -Tm 0644 <( dmesg ) /var/log/dmesg.log
    #    fi
    #(( $? == 0 )) && stat_done || stat_fail

  • Localizzazione di device o FS non presenti. Se non utilizzate file system BTRFS o fakeRAID e non disponete di una partizione criptata, potete procedere commentando queste righe:

    # FakeRAID devices detection
    #[[ $USEDMRAID = [Yy][Ee][Ss] && -x $(type -P dmraid) — &&
    #    status “Activating FakeRAID arrays” dmraid -i -ay

    # BTRFS devices detection
    #[[ $USEBTRFS = [Yy][Ee][Ss] && -x $(type -P btrfs) — &&
    #    status “Activating BTRFS volumes” btrfs device scan

    # Activate LVM2 groups if any
    #activate_vgs

  • Se utilizzate altri modi per impostare il set di caratteri della console, commentate le linee:
    # Flush old locale settings and set user defined locale
    #stat_busy “Setting Locale: ${LOCALE:=en_US}”
    #    echo “export LANG=$LOCALE” > /etc/profile.d/locale.sh &&
    #chmod 0755 /etc/profile.d/locale.sh && stat_done || stat_fail

Anche in questo caso, è possibile disabilitare più funzioni, a discrezione dell’utente.

Al termine di questi tweak dovreste guadagnare intorno i 5 secondi. Alla prossima !

Velocizzare il boot di Arch Linux modificando il file /etc/rc.sysinitultima modifica: 2011-09-13T16:11:00+00:00da onlypc
Reposta per primo quest’articolo

Lascia un commento