In questo capitolo vedremo come copiare il nostro embedded_rootfs sul dispositivo embedded.
Per questo metodo utilizzeremo i floppy di boot di Slackware, ovviamente dovremmo avere un floppy drive da collegare all'embedded, sempre che la piastra madre abbia la possibilità di gestire un floppy. Per trasferire i file utilizzeremo NFS, opportunamente configurato sulla macchina di sviluppo.
Scaricare i floppy di boot da http://www.slackware.com/getslack/. Selezionare un mirror, e cercare le directory rootdisks, ad es. , ftp://ftp.unina.it/pub/linux/distributions/slackware/slackware-10.2/rootdisks , e la directory bootdisks. Bisogna scaricare i file install.1, install.2, network.dsk, bare.i.
Aprire una shell, e posizionarsi sulla directory dove avete scaricato i file di cui sopra. Copiare i file sui floppy con il comando dd:
$ dd if=install.1 of=/dev/fd0
$ dd if=install.2 of=/dev/fd0
$ dd if=network.dsk of=/dev/fd0
$ dd if=bare.i of=/dev/fd0
|
Avviare l'embedded, e far fare il boot col floppy bare.i, inserire install.1 ed install.2 quando richiesto.
Partizionare il disco dell'embedded secondo quanto inserito nel file /etc/fstab, nel nostro caso:
/dev/hda1 (~ 16 mb)
/dev/hda2 (~ 8 mb)
/dev/hda3 (tutto il resto del disco)
|
Creare le seguenti directory:
# mkdir /mnt/nfs
# mkdir /mnt/disco
|
Creare i filesystem:
# mkfs.ext2 /dev/hda1
# mkfs.ext2 /dev/hda2
|
Montare le partizioni:
# mount /dev/hda1 /mnt/disco/
# mkdir /mnt/disco/rw
# mount /dev/hda2 /mnt/disco/rw/
|
Controllare la correttezza del file /etc/fstab rispetto alle partizione create. Controllare che /mnt/disco/etc/lilo.conf sia corretto, verificare soprattutto che la direttiva root punti a /dev/hda1:
boot = /dev/hda
vga = normal
image = /boot/linux-2.6.11
root = /dev/hda1
label = embedded
|
Configurare l'interfaccia di rete dell'embedded con il comando network. Inserire il dischetto Network quando richiesto premendo invio. A questo punto è necessario fare il probing della interfaccia di rete, nel caso utilizziate una scheda Vortex86, siete in possesso di una normalissima realtek 8139, quindi digitate il comando:
p 8130too (premere invio)
|
Avviare portmap con:
# /sbin/rpc.portmap
|
Montare l'export NFS del server di sviluppo
# mount -t nfs ip_macchina_nfs:/path/dir/condivisa /mnt/nfs
|
Copiamo il contenuto della directory embedded_rootfs dal server di sviluppo dentro la partizione hda1:
# cp -ar /mnt/nfs/vostropath/embedded_rootfs/* /mnt/disco/
|
Copiamo il filesystem squashed dentro hda3:
# dd if=/mnt/nfs/vostropath/embedded_usr_squashfs.dump of=/dev/hda3
|
Facciamo chroot all'interno del disco embedded per installare lilo:
# chroot /mnt/disco
# lilo
|
Smontiamo tutti i mount point e rebottiamo.
# umount -a
# reboot
|