diff --git a/How-to-set-up-RancherOS-on-Estuary-D02-board.md b/How-to-set-up-RancherOS-on-Estuary-D02-board.md new file mode 100644 index 0000000..555fdbf --- /dev/null +++ b/How-to-set-up-RancherOS-on-Estuary-D02-board.md @@ -0,0 +1,55 @@ +# Running RancherOS on Estuary D02 board + +## Requirements + +- RancherOS ARM rootfs image: [`rootfs_arm.tar.gz`](https://github.com/rancher/os/releases/download/v0.4.3/rootfs_arm.tar.gz) +- Estuary D02 kernel: [`Image_D02`](http://download.open-estuary.org/AllDownloads/DownloadsEstuary/releases/2.1/linux/Common/D02/Image_D02) +- Estuary D02 device tree: [`hip05-d02.dtb`](http://download.open-estuary.org/AllDownloads/DownloadsEstuary/releases/2.1/linux/Common/D02/hip05-d02.dtb) +- Estuary Ubuntu ARM64 rootfs image: [`Ubuntu_ARM64.tar.gz`](http://download.open-estuary.org/AllDownloads/DownloadsEstuary/releases/2.1/linux/Ubuntu/Common/Ubuntu_ARM64.tar.gz) + + +## Prepare the storage media + +Partition (optional) and format a USB drive or a SAS drive. The root partition should be formatted with ext4 filesystem. + + +## Prepare the root filesystem + +Mount the ext4 formatted root partition (or the full disk) to an empty directory on your Linux machine (e.g. `/mnt/d02_rootfs`). + +Unpack `rootfs_arm.tar.gz` into the root partition: +``` +$ cd /mnt/d02_rootfs +$ sudo tar -xzf ~/Downloads/rootfs_arm.tar.gz +``` +Unpack `/lib/modules` and `/lib/firmware` from Ubuntu_ARM64.tar.gz into the root partition: +``` +$ sudo tar -xzf ~/Downloads/Ubuntu_ARM64.tar.gz lib/modules lib/firmware +``` +Unmount the root partition and hook the drive to the D02 board. + + +## Edit `grub.cfg` + +Here's an example grub menu entry for RancherOS: +``` +menuentry "D02 RancherOS USB" --id d02_ros_usb { + set root=(tftp,192.168.3.1) + linux /Image_D02 root=/dev/sda2 rootfstype=ext4 rw init=/init console=ttyS0,115200 earlycon=uart8250,mmio32,0x80300000 ip=dhcp rancher.password=rancher quiet + devicetree /hip05-d02.dtb +} +``` + +Replace `192.168.3.1` with your TFTP server IP-address, `/dev/sda2` with your root partition device. Kernel parameter `rancher.password=rancher` sets `rancher` user password to `rancher`. + + +## Put the boot files into the boot directory + +Place the grub config, kernel image and the device tree blob onto the boot dir. This is typically a TFTP root dir on a PXE boot server: +``` +$ sftp root@192.168.3.1:/var/lib/tftpboot <<< 'put ./tmp/tftp/*' +``` + +## Enjoy! + +You can now turn on your D02 and it will boot with RancherOS. \ No newline at end of file