Velocizzare boot e prestazioni su Debian Squeeze parte 2

 

 

Nella guida precedente ho iniziato a sperimentare la possibilità di velocizzare Debian Squeeze ed LMDE, partendo dalla fase di boot, fino ad arrivare in questa seconda parte ad aumentare, ove possibile, la reattività del sistema. Già con l'installazione di preload si cerca di aumentare la reattività dei programmi usati più spesso, ma per ottenere questo bisogna dare a preload alcune ore di utilizzo, affinche memorizzi le abitudini. Le modifiche successive io le ho testate sul mio sistema, senza problemi, ma ciò non toglie che è meglio stare attenti.

 

atime ed /etc/fstab:

la prima modifica riguarda  /etc/fstab e l'inserimento dell'opzione noatime e nodiratime. Linux di default tende a tenere traccia di tutto quello che si fà, non solo delle modifiche dei file, ma anche della solo lettura, e scrive tutto sul disco. Questo sicuramente è d'obbligo su un server, ma su un pc Desktop secondo me non è necessario. C'è da tenere conto che una minore scrittura, significa anche aumento della durata dell' hard disk. Quindi /etc/fstab dovrebbe essere così:

/dev/sdaxx    /    ext4    rw,noatime,nodiratime,errors=remount-ro    0    0

lo stesso discorso vale per la partizione di /home separata.

 

vm.swappiness:

un'altra modifica che si può fare riguarda /etc/sysctl.conf e cioè andare a modificare il file, ed inserire un valore  a vm.swappiness che andrà a dire al kernel se tenere tutto in Ram oppure nella cache su disco.  Oggi ci si ritrova ad avere tanta Ram che nemmeno si utilizza, quindi cerchiamo di sfruttarla. Di default questo valore in Debian è 60, e la modifica si può fare da 0 a 100, io ho optato per 20. Per chi ha un pc portatile, può essere utile diminuire la scrittura su disco, in quanto la durata della batteria ne gioverebbe.

# echo 'vm.swappiness=20' >> /etc/sysctl.conf

 

vm.vfs_cache_pressure:

anche questa opzione da inserire in /etc/sysctl.conf aiuta a velocizzare il sistema, il valore di default in Debian è 100, si può provare a dimezzarlo:

# echo 'vm.vfs_cache_pressure=50' >> /etc/sysctl.conf

 

per le mie esigenze queste opzioni vanno benissimo e mi ritrovo con un pc veloce e reattivo:

 

Boot=25 secondi circa

Halt=5 secondi circa

 

ps: in LMDE consiglio di rimuovere il mintMenu dal pannello, che è pesantissimo, ed aggiungere la classica Barra del menu di Gnome.

 

enjoy 😉

Rilasciato Super GRUB2 Disk 1.98s1

 

 

E' stata appena rilasciato super_grub_disk_hybrid-1.98s1.iso e ci sono diverse novità in questa nuova release, come si può vedere:

  • Updated for the latest stable grub release, 1.98.
  • Single "hybrid" image can be used to make a bootable CD, floppy, or USB drive.
  • Option to find and load loop bootable iso files. Currently supported distributions:
    Grml, Parted Magic, Sidux, Slax Tinycore, Ubuntu, and any distribution that ships with a loopback.cfg ).
  • Option to enable GRUB2's native PATA drivers to work around BIOS bugs/limitations.
  • Option to enable GRUB2's native USB drivers (experimental).
  • Option to list information about devices/partitions.
  • Enabling serial terminal no longer disables console input/output.
  • Better error handling/reporting.
  • Miscellaneous bug fixes.

 

per costruire un iso partendo dal source

$ cd supergrub-1.98s1

$ ./supergrub-mkrescue

Installare Debian GNU/kFreeBSD step by step

 

 

Questa guida può essere utile a chi vuole provare Debian GNU/kFreeBSD, ovvero "un port che consiste di uno spazio utente GNU che usa la libreria C GNU e un kernel FreeBSD sottostante, abbinati con il normale insieme di pacchetti Debian". Sinceramente ho fatto molte prove d'installazione, sia su VirtualBox che su hard disk, e dopo molteplici tentativi sono riuscito ad avere una box con DebianGNU/kFreeBSD funzionante. I problemi principalmente derivano dal debian-installer che nel mio caso falliva spesso e volentieri, poi con la mini.iso del 20100210-11:20 è andato tutto ok, di seguito i link per il download   kfreebsd-amd64 e kfreebsd-i386. Di seguito indicherò solamente i passi secondo me importanti, dato che comunque il debian-installer è semplice ed intuitivo.

Installazione:

Una volta avviata l'installazione ci appare questa immagine:

premere Go Back, per tornare alla pagina principale e selezioniamo Change debconf priority

e selezioniamo medium:

a questo punto proseguiamo con l'installazione, e quindi con la configurazione della rete non facendo caso alla voce em0 (eth0) interfaccia sconosciuta, poichè la riconosce, e quando ci chiede di scegliere un mirror, scegliamo Sid:

l'installazione prosegue fino a quando ci chiede quale kernel installare, e naturalmente scegliamo quello più recente. Se tutto è andato a buon fine si arriva all'installazione di Grub, e qui bisogna fare alcune considerazioni, a secondo di quale strada scegliamo, o meglio di quale versione di Grub abbiamo gia installato nel nostro sistema. Nel mio caso avendo Debian Sid la versione è Grub-pc_1.98~20100128-1.1_i386 e quindi va benissimo, per chi usa un altra distribuzione che ha la versione di Grub inferiore, gli conviene aggiornare in quanto in un dual boot, non riesce a volte ad avviare il kernel freebsd (a me è successo questo). Chiaramente quanto scritto sopra è valido se il debian-installer non riesce ad installare Grub, oppure nell'eventualità che bisogna ripristinarlo da un livecd., quindi di conseguenza la versione di Grub è quella precedente. Comunque manualmente  per un dual boot da inserire sulla propria Distro in /etc/grub.d/40_custom la seguente stringa seguita da un update-grub:

menuentry "Debian GNU/kFreeBSD" {
    insmod ufs2
    set root=(hd0,8)
    echo            Loading kernel of FreeBSD 8.0-1-686 ...
    kfreebsd        /boot/kfreebsd-8.0-1-686.gz
    set kFreeBSD.vfs.root.mountfrom=ufs:/dev/ad0s8
    set kFreeBSD.vfs.root.mountfrom.options=rw
}

considerando che la mia installazione e  nella partizione /dev/sda8.

Una volta avviato il sistema non dovrebbero esserci problemi, ma nel caso non funzionasse il mouse, premere Ctrl-alt-F1:

cd /root

X -configure

e poi:

cp xorg.conf.new /etc/X11/xorg.conf

Per montare il filesystem ufs da linux:

mount -t ufs -o ro,ufstype=ufs2,nodev,nosuid /dev/sda8 /mnt

stringa eventualmente da inserire in /etc/fstab:

/dev/sda8 /mnt      ufs auto,ro,ufstype=ufs2,nodev,nosuid   0 0

 

Installazione su VirtualBox:

Per quanto riguarda l'installazione su VirtualBox non ci sono problemi, l'unica cosa a cui bisogna prestare attenzione è su un paio di cosette. Nella creazione di una nuova macchina virtuale scegliamo come sistema operativo BSD e come versione FreeBSD. Nella configurazione della rete scegliamo come scheda la Intel PRO/1000 MT Desktop o la  PCnet-FAST III connessa con bridge. Durante l'installazione scegliere come kernel il 486.

Guida in continuo aggiornamento 🙂

  1. update

Super GRUB2 Disk 1.30

E' stato rilasciato Super Grub2 Disk 1.30 il tool che permette con facilità di avviare la nostra Linuxbox in caso di problemi con Grub2. Le novità rispetto alla versione precedente sono le seguenti:

* Updated for the latest stable grub release, 1.97.2
* Option to find and load grub.cfg
* Option to find and load a grub2 installation ( works even with clobbered mbr )
* Options to enable grub's lvm and raid support
* Option to switch to serial terminal for easier debugging / logging of output
* Miscellaneous bug fixes

Per il downolad dell'iso o del codice sorgente fare riferimento a questa pagina.

Grub2 menu personalizzato

 

Per chi ha diversi O.S installati risulta comodo mettere ordine al menu di Grub2. I passi a proprio rischio e pericolo 🙂 sono i seguenti:

sudo update-grub

editare grub.cfg:

sudo gedit /boot/grub/grub.cfg

a questo punto individuare e copiare solamente i menu che si desidera vedere al boot di Grub2:

Esempio: ( partendo da menuentry e finendo con } )

menuentry "Ubuntu, Linux 2.6.31-17-generic" {
        recordfail=1
        if [ -n ${have_grubenv} ]; then save_env recordfail; fi
    set quiet=1
    insmod ext2
    set root=(hd0,9)
    search –no-floppy –fs-uuid –set eb27469e-03f8-4aa2-9a13-faa3f7689a2e
    linux    /boot/vmlinuz-2.6.31-17-generic root=UUID=eb27469e-03f8-4aa2-9a13-faa3f7689a2e ro   quiet splash
    initrd    /boot/initrd.img-2.6.31-17-generic
}

menuentry "Debian GNU/Linux, con Linux 2.6.32-trunk-686 (on /dev/sda5)" {
    insmod ext2
    set root=(hd0,5)
    search –no-floppy –fs-uuid –set 7bae8193-a97e-44df-86f2-2e9a1c59ff4d
    linux /boot/vmlinuz-2.6.32-trunk-686 root=UUID=7bae8193-a97e-44df-86f2-2e9a1c59ff4d ro quiet
    initrd /boot/initrd.img-2.6.32-trunk-686
}
menuentry "BackTrack 4, kernel 2.6.29.4 (on /dev/sda8)" {
    insmod ext2
    set root=(hd0,8)
    search –no-floppy –fs-uuid –set 2eb5129f-6bca-4e65-a667-52a1e16a44f4
    linux /boot/vmlinuz-2.6.29.4 root=UUID=2eb5129f-6bca-4e65-a667-52a1e16a44f4 ro quiet splash
    initrd /boot/initrd.img-2.6.29.4
}

poi:

sudo chmod -x /etc/grub.d/10_linux /etc/grub.d/20_memtest86+ /etc/grub.d/30_os-prober

a questo punto:

sudo nano /etc/grub.d/40_custom

ed incollare dentro i menu degli O.S preparati precedentemente.

OBBLIGATORIAMENTE

sudo update-grub

Io personalmente ho eliminato tutti e tre i file in

/etc/grub.d/10_linux /etc/grub.d/20_memtest86+ /etc/grub.d/30_os-prober

ma questa è una scelta mia personale che porta ad inserire a manina di volta in volta i nuovi kernel. Magari mi pentirò di questa scelta, ma lo scoprirò solo vivendola.