MegaLab.it
Stampa Articolo
Aperiodico gratuito di informatica
 
20080829220708

Compilare e installare memtest per l'avvio da floppy o da disco rigido

a cura di masterz3d
03/09/2010 - articolo
Linux & Open Source - Questo è un metodo molto semplice ma molto efficace che vi permette di avere memtest86+ sempre a vostra disposizione per il caricamento da floppy disk o da disco rigido.

Non mi dilungherò sulla descrizione di memtest. In questa sede, mi limito a dirvi che si tratta di un'utility che verifica l'integrità delle memoria RAM montata sul computer. Per una presentazione più ampia, vi rimando a questo buon articolo che ne parla in modo sufficiente.

Il mio obbiettivo per questa guida non è infatti quello di dirvi che cosa è o che cosa faccia, ma solo che cosa dovrete fare per installarlo.

Per semplicità di esposizione e per tralasciare cose ovvie considererò banale l'installazione di memtest su CD-ROM, in quanto è possibile scaricare le immagini ISO dalla homepage di memtest86+ e gestirle con dei semplici programmi di scrittura CD.

Mi concentrerò invece sul procedimento completo per installare memtest su floppy disk e hard disk, a cominciare dal reperimento dei sorgenti. Darò per scontato che abbiate una distribuzione con un adeguato ambiente di compilazione, e che conosciate già le basi della compilazione.

Questo articolo è particolarmente indicato per utenti Slackware, ma il procedimento è sostanzialmente simile per qualsiasi distribuzione.

Vorrei inoltre sottolineare che il procedimento di installazione che andrò ad esporre è valido solo per utenti GNU/Linux.

I sorgenti di memtest

Il codice sorgente di memtest è reperibile nella sua homepage. I pacchetti sono compressi in formato .tar.gz. Scaricate sempre l'ultima versione (nell'esempio la 4.10).

Memtest_001.jpg

Una volta terminato il download, estraete l'archivio con tar:

tar -xzf memtest86+-X.XX.tar.gz

E sarete pronti per cominciare la sua configurazione.

(Come al solito, vi consiglio di tenere i pacchetti compressi e i sorgenti scompattati in cartelle separate.)

Configurare memtest

Se avete letto l'articolo sulle basi della compilazione fino in fondo e avete esplorato l'albero dei sorgenti di memtest vi sarete accorti che non c'è il file configure. Questo è un caso particolare in cui è necessario verificare (e modificare) direttamente Makefile, anche se in genere non è necessario. Ciononostante vorrei evidenziare alcune opzioni di compilazione che potrebbero interessare.

Questo è un estratto di Makefile che comprende le opzioni più rilevanti.

Memtest_002.jpg

I nomi che vedete in maiuscolo sono tutte variabili, a cui vengono assegnati dei valori che serviranno a make per generare le righe di compilazione da dare a gcc. Di quelle che potete vedere solo tre ci interessano.

FDISK rappresenta il floppy disk in cui potrete installare memtest con il comando make install, una volta terminata la compilazione. Seguendo questa guida non ne avrete bisogno, ma ricordate che potete comunque installare memtest nel floppy disk di default assegnato alla variabile FDISK.

CC è il compilatore C usato durante la generazione dei binari, e per default è gcc.

CFLAGS è una variabile che contiene dei parametri aggiuntivi che influenzeranno l'output del processo di compilazione. Sono piuttosto importanti e fornisco brevemente la spiegazione delle prime tre (-O2 è già spiegata nell'articolo sulle basi della compilazione, nella pagina dei parametri aggiuntivi):

Compilare memtest

Chiudete Makefile e, se volete, salvate le modifiche, ora lo compileremo. Per farlo basta digitare un semplice

make e premere INVIO

E un po' di pazienza. Dopodichè potrete andare a curiosare nella directory dei sorgenti per vedere alcuni nuovi file, tra cui memtest e memtest.bin. L'unico file che ci interessa è proprio memtest.bin: esso è, in poche parole, un piccolo kernel che carica il programma di memtest in memoria e lo attiva. È l'unico file che ci serve ed ora vi spiegherò come installarlo su floppy disk e su disco rigido, inserendolo come opzione di avvio in GRUB2.

Installare memtest su floppy disk

Installare memtest su floppy disk è molto semplice. Se il vostro computer non dispone di floppy disk potete saltare subito al paragrafo "Installare memtest su disco rigido".

Tutto quello che dovete fare è prendere un disco floppy e controllare che non abbia errori di superficie con una chiamata di badblocks:

badblocks -c 512 -w /dev/fd0

Se il vostro drive floppy è in /dev/fd0. Se invece avete un lettore floppy USB quasi sicuramente esso sarà stato rilevato come /dev/sdX. Dovete solo modificare la periferica da /dev/fd0 a /dev/sdX.

Fate attenzione nell'usare badblocks, fate una verifica in /dev per capire qual è il nome giusto del lettore floppy nel caso ne abbiate uno USB. In genere i dischi floppy non sono partizionati, quindi saranno rappresentati come sda, o sdb, o sdc, o sdd...

Per sicurezza (anzi, ve lo consiglio) potete poi azzerare il contenuto del floppy disk con dd:

dd if=/dev/zero of=/dev/fd0 bs=1440 count=1k

Dove, come già esposto sopra, /dev/fd0 è il vostro floppy. Valgono le stesse raccomandazioni fatte per badblocks, casomai abbiate un lettore floppy USB.

Fatto questo potete passare a scrivere memtest su floppy dalla directory dei sorgenti:

cat memtest.bin >/dev/fd0

Oppure

dd <memtest.bin >/dev/fd0

Mettete poi un'etichetta sul floppy e rendetelo di sola lettura: quello è il vostro memtest personale. Potete testarlo già al prossimo avvio: impostate nel BIOS l'avvio da floppy, inserite il vostro memtest nel lettore e lasciatelo lavorare

Installare memtest su disco rigido

Questo è un po' più complicato, solo perché c'è un file di configurazione da aggiornare. Dobbiamo lavorare con GRUB2, quindi dobbiamo aggiornare /boot/grub/grub.cfg in modo che ci possa far scegliere memtest all'avvio del sistema. Ma andiamo per ordine.

Copiamo memtest.bin in una directory di sistema facilmente raggiungibile dal bootloader, in genere /boot:

cp memtest.bin /boot

(Potrà essere necessario usare sudo per completare l'operazione. Occorre essere superuser per poter scrivere in /boot.)

Una volta fatto passiamo a configurare GRUB2. A mio avviso il metodo più semplice è agire su /etc/grub.d/40_custom e modificarlo in questo modo:

Memtest_003.jpg

Aggiungendo quindi la menuentry relativa a memtest e il percorso completo al binario come opzione alla parola linux16. Poi non dovete fare altro che aggiornare /boot/grub/crub.cfg con

grub-mkconfig >/boot/grub/grub.cfg

Oppure

grub-mkconfig -o /boot/grub/grub.cfg

Poi ricontrollate le menuentry, togliete quelle ridondanti e avete finito. Al prossimo avvio avrete il vostro memtest installato su disco, e potrete fare il test alla vostra RAM anche senza lettore floppy o lettore CD. Potete ovviamente dare alla menuentry il nome che più vi aggrada.

MegaLab.it rispetta la tua privacy. Per esercitare i tuoi diritti scrivi a: privacy@megalab.it .

Copyright 2008 MegaLab.it - Tutti i diritti sono riservati