Table of Contents |
---|
This is a simple guide to setup a MicroMEC lab for test purposes using inexpensive components.
...
We have separate documents detailing how to prepare the rootfs on the netboot server:
Initial test of the MicroMEC netboot server
...
In the future we will try to build a custom MicroMEC image which will minimize the provisioning efforts.
We use the latest openSUSE Tumbleweed [ JeOS (Just enough Operating System) image] (https://download.opensuse.org/ports/aarch64/tumbleweed/images) for the RPI 3B+.
Stage 4 mount and switch to rootfs
For
...
the
...
preparation
...
of
...
the
...
rootfs
...
on
...
the
...
netboot
...
server
...
please
...
refer
...
Once the to the RPi 3B+ iscsi how-to document.
Once the initramfs is properly loaded and the necessary processes started the RPi 3B+ will attempt to mount and switch to the rootfs that resides on the netboot server. The cmdline.txt defines how the rootfs can be accessed.
...
Discover the iscsi target
$ sudo iscsiadm --mode discovery --op update --type sendtargets --portal bootserv
192.168.4.1:3260,1 iqn.org.micromec:rpi3-1-opensuse-rootfsLogin to the iscsi target
$ sudo iscsiadm -m node --targetname iqn.org.micromec:rpi3-1-opensuse-rootfs -p bootserv -l
Logging in to [iface: default, target: iqn.org.micromec:rpi3-1-opensuse-rootfs, portal: 192.168.4.1,3260]
Login to [iface: default, target: iqn.org.micromec:rpi3-1-opensuse-rootfs, portal: 192.168.4.1,3260] successful.Check the available partitions
$ cat /proc/partitions
major minor #blocks name ..... 8 16 4096000 sdbDetermine the UUID
$ sudo blkid /dev/sdb
/dev/sdc: UUID="7bf4dc05-cd4a-46af-9689-4a03209d5ed2" BLOCK_SIZE="4096" TYPE="ext4"
Details on possible cmdline entries can be found here:
http://man7.org/linux/man-pages/man7/dracut.cmdline.7.html
...
Detailed information on how to enable netboot for an RPi 3B+:
https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/net.md
https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/net_tutorial.md
https://metebalci.com/blog/bare-metal-rpi3-network-boot/
...
Follow https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2711_bootloader_config.md or
https://kiljan.org/2019/11/16/arch-linux-arm-network-boot-on-raspberry-pi-4/ or
https://hackaday.com/2019/11/11/network-booting-the-pi-4/ for the firmware update.
...
The procedure to copy the relevant files is very similar to the one we had for RPi 3B+ above. For RPi 4B we have to copy the files from the Rasbian Baster Buster lite image.
For the preparation of the rootfs on the netboot server please refer to :RPi 4B
...
iscsi howto document.
The RPi 4B rootfs over iscsi howto document explains how to mount the Raspbian Buster lite image. Once the image is mounted we can find the files in the boot
subdirectory.
Once the files are copied, we can adjust the cmdline.txt
file to somthing something like this
$ cat cmdline.txt
dwc_otg.lpm_enable=0 console=serial0,115200 loglevel=7 modules=iscsi_tcp ip=dhcp netroot=iscsi:192.168.4.1::::iqn.org.micromec:rpi4-1-raspbian-rootfs rd.iscsi.login_retry_max=10 root=UUID=8236bee6-9c37-4b04-8092-2630fd2b0596 rootfstype=ext4 rw rootwait
Note
The UUID of the root device can be determined by login into the iscsi target on your workstation first as described in the Remote Testing section of the RPi 4B rootfs over iscsi document.
...
Discover the iscsi target
$ sudo iscsiadm --mode discovery --op update --type sendtargets --portal bootserv
192.168.4.1:3260,1 iqn.org.micromec:rpi3-1-opensuse-rootfs
192.168.4.1:3260,1 iqn.org.micromec:rpi4-1-opensuse-rootfs
192.168.4.1:3260,1 iqn.org.micromec:rpi4-1-raspbian-rootfsLogin to the iscsi target
$ sudo iscsiadm -m node --targetname iqn.org.micromec:rpi4-1-raspbian-rootfs -p bootserv -l
Logging in to [iface: default, target: iqn.org.micromec:rpi4-1-raspbian-rootfs, portal: 192.168.4.1,3260]
Login to [iface: default, target: iqn.org.micromec:rpi4-1-raspbian-rootfs, portal: 192.168.4.1,3260] successful.Check the available partitions
$ cat /proc/partitions
major minor #blocks name ..... 8 16 4096000 sdcDetermine the UUID
$ sudo blkid /dev/sdc /dev/sdc: UUID="8236bee6-9c37-4b04-8092-2630fd2b0596" BLOCK_SIZE="4096" TYPE="ext4"