***Creare uRamdisk***uRamdisk è l'immagine del filesystem che accompagna il kernel nel DNS. Senza filesystem il kernel è incompleto e senza kernel il filesystem non funziona. Quindi, se dovete flashare uno è meglio che aggiorniate (se necessario) e flashate (se lo aggiornate) anche l'altro. Come sempre, previa prova in RAM come descritto sopra.
Allora, per creare uRamdisk dovete prima di tutto tenere presente che in esso c'è un file, chiamato
image.cfs, che è un filesystem di tipo
cramfs. Inutile dire che il vostro sistema operativo (e quindi il vostro bel kernel *NIX) lo deve supportare. E' meglio che vi riferiate a
questo messaggio per informazioni su come leggere il firmware ufficiale per avere un'idea di che cosa c'è dentro
image.cfs.
Insomma, dovete supportare
cramfs e avere
mkfs.cramfs tra le vostre innumerevoli applicazioni. Poi, avendo la vostra brava directory di utility estratta da image.cfs ne modificate quello che volete e fate:
mkfs.cramfs <directory> <file_destinazione>
dove
<directory> è la directory delle utility e
<file_destinazione> è il file compresso che ospita cramfs. Esso dovrà essere posto nella directory radice del ramdisk.
In genere nel filesystem cramfs trovate questa roba:
LPRng codepages driver language lltd sbin shared_name web
bin default etc_codepage lib samba scsi upnp web_pageE nella radice:
bin dev home lib mnt root sys usr web
busybox etc image.cfs lost+found proc sbin tmp var welcome.msgDurante l'avvio il kernel monta il ramdisk e subito dopo monta via loopback image.cfs come cramfs, da cui collega le utility.
Una volta messo image.cfs nella radice creiamo il ramdisk ext2 con i seguenti passi:
- Creiamo un file vuoto con dd:
dd if=/dev/zero of=Ramdisk bs=1k count=8k - Creiamo il filesystem nel file appena creato:
mkfs.ext2 -m0 -F Ramdisk - Montiamo il filesystem appena creato in un mountpoint precedentemente creato:
mount -t ext2 -o loop /mnt/<mountpoint> - Copiamo la struttura del firmware:
cp -dpvr <radice>/* /mnt/<mountpoint> - Smontiamo il filesystem:
umount /mnt/<mountpoint> - Gzippiamo il ramdisk:
cat Ramdisk | gzip -9 > Ramdisk.gz
E poi eseguiamo il comando di
mkimage due post sopra, e carichiamo uRamdisk tramite seriale.
Bon, per il momento dovrebbe essere tutto quello che so fare. Appena posso posto il nuovo firmware, con kernel... fatto in casa