Differenze tra le versioni di "Raspberry Pi:network boot"
(Creata pagina con '= Raspberry Pi: Network boot (w/ debian 5) = Categoria:RPi Network boot realizzato con un server Debian Etch (versione 5) Questa Debian Etch, gia` configurata come serv...') |
|||
Riga 3: | Riga 3: | ||
[[Categoria:RPi]] | [[Categoria:RPi]] | ||
− | Network boot realizzato con un server Debian | + | Network boot realizzato con un server Debian Lenny (versione 5) |
− | Questa Debian | + | Questa Debian Lenny, gia` configurata come server, fornisce i servizi DHCP, NFS e TFTP, quest'ultimo in particolare, invocato da "inetd". |
I pacchetti necessari dovrebbero essere: nfs-kernel-server dhcp3-server tftpd-hpa. | I pacchetti necessari dovrebbero essere: nfs-kernel-server dhcp3-server tftpd-hpa. | ||
Riga 46: | Riga 46: | ||
;Copia | ;Copia | ||
− | :Nelle destinazioni, si devono copiare i files (io ho | + | :Nelle destinazioni, si devono copiare i files (io ho rispettato i permessi e non scrivo il comando perche` ho usato un file manager). |
::in "/opt/rpi/<seriale>", copiate tutta la "root" (e` /mnt, dove avete montato il filesystem "/" dell'immagine), eliminando i files in "/boot" ma lasciando la directory. | ::in "/opt/rpi/<seriale>", copiate tutta la "root" (e` /mnt, dove avete montato il filesystem "/" dell'immagine), eliminando i files in "/boot" ma lasciando la directory. | ||
::in "/var/lib/tftpboot/<seriale>, copiate il contenuto di "/mnt/boot" | ::in "/var/lib/tftpboot/<seriale>, copiate il contenuto di "/mnt/boot" |
Versione delle 19:27, 24 mar 2018
Raspberry Pi: Network boot (w/ debian 5)
Network boot realizzato con un server Debian Lenny (versione 5)
Questa Debian Lenny, gia` configurata come server, fornisce i servizi DHCP, NFS e TFTP, quest'ultimo in particolare, invocato da "inetd".
I pacchetti necessari dovrebbero essere: nfs-kernel-server dhcp3-server tftpd-hpa.
Preparazione
Occorre avviare il Raspberry Pi che s'intede utilizzare, verificando il numero "hardware address" della scheda di rete, un comando "ifconfig" lo mostra gia`, ed il seriale, che si ottiene leggendolo da "/proc/cpuinfo", un "cat /proc/cpuinfo" e` sufficiente a leggerlo.
raspbian lite
Scompattata lultima versione d'immagine raspberry pi, sono state copiate la "boot" in /var/lib/tftpboot/<seriale> e la root "/" in /opt/rpi/<seriale>, dove <seriale> e` il numero seriale del raspberry utilizzato.
- Download
aria2c https://downloads.raspberrypi.org/raspbian_lite_latest
- oggi e` "2018-03-13-raspbian-stretch-lite.zip".
- Unzip
unzip -x 2018-03-13-raspbian-stretch-lite.zip
- Mount
- Da qui, i comandi sono da eseguirsi come root
fdisk -l 2018-03-13-raspbian-stretch-lite.img
- Prendete nota dei numeri di "Boot Start" delle partizioni e montatele cosi`:
mount -t <filesystemtype> -o loop,offset=$((<start>*512)) <immagine> <punto di mount>
- Per esempio
mount -t ext4 -o loop,offset=$((98304*512)) 2018-03-13-raspbian-stretch-lite.img /mnt mount -t vfat -o loop,offset=$((8192*512)) 2018-03-13-raspbian-stretch-lite.img /mnt/boot
- Copia
- Nelle destinazioni, si devono copiare i files (io ho rispettato i permessi e non scrivo il comando perche` ho usato un file manager).
- in "/opt/rpi/<seriale>", copiate tutta la "root" (e` /mnt, dove avete montato il filesystem "/" dell'immagine), eliminando i files in "/boot" ma lasciando la directory.
- in "/var/lib/tftpboot/<seriale>, copiate il contenuto di "/mnt/boot"
NFS
Ho aggiunto queste righe al file "/etc/exports":
# Raspberry Pi (1) /opt/rpi/7a35656a 192.168.2.0/255.255.255.0(rw,no_subtree_check,no_root_squash,async) /var/lib/tftpboot/7a35656a 192.168.2.0/255.255.255.0(rw,no_subtree_check,no_root_squash,async)
Poi i comandi seguenti, ricaricano la configurazione e mostrano quali sono le "esportazioni":
exportfs -ra exportfs
DHCPD
Ho aggiunto queste righe al file "/etc/dhcp3/dhcpd.conf":
host rpi { hardware ethernet b8:27:eb:35:65:6a; # hardware address option tftp-server-name "192.168.2.1"; }
E il restart del demone (e` una debian 5, ricordate ?):
/etc/init.d/dhcp3-server restart
TFTP
Era gia` attivo, la riga e` nel file "/etc/inetd.conf":
#:BOOT: TFTP service is provided primarily for booting. Most sites # run this only on machines acting as "boot servers." tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot
SD Card
Tranne la versione 3, per tutti i Raspberry Pi e` ncessario disporre di una SD Card formattata in fat32 con il file "bootcode.bin", che potete copiare dalla "/boot".
Un'esempio (il report di "fdisk -l <sdcard>"):
# fdisk -l /dev/mmcblk0 Disk /dev/mmcblk0: 241.3 MiB, 252968960 bytes, 494080 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x3a2c78c6 Device Boot Start End Sectors Size Id Type /dev/mmcblk0p1 2048 494079 492032 240.3M b W95 FAT32