The continued effort to turn six Odroid-MC1 Solos into a PXE booted computer cluster on which to engage in further FOSS hijinks. The last post documented the physical set up of the devices as well as the creation and basic configuration of an image on a MicroSD card that was capable of booting the device into a state which allowed remote connection to an MC1 node via ssh.
The work to set up and configure the MicroSD cards as PXE clients will be done on the Setback machine. Boot files and file systems will be served from the Monolith device.
Assumptions (Will need to be modified to the specifics of your environment)
MicroSD cards, when inserted on Setback are: /dev/sdc
MicroSD cards, when mounted for file system access will be at: /mnt/sd
PXE will use NAS IP address: 192.168.1.89
NAS share for TFTP boot files is: /data/tftpboot
NAS share for NFS file systems is: /data/tftproot
MicroSD Setup PXE Client
Format MicroSD Card
Insert MicroSD card into reader on Setback to show up as /dev/sdc
The SD card, should be new or contain data no longer of interest as anything on the card will be lost as part of the partitioning and file system formatting.
Be sure you are really working on the device you want to be working on as data will be lost on any device targeted as part of this process.
MicroSD card will need a FAT partition to contain the boot.ini file required for the MC1 devices. There are many ways to remove and create partitions from disk devices. I am using fdisk in this post, but any tool you are comfortable with may be used instead.
32GB MicroSD card before partitioning.
Partitioning the MicroSD card using fdisk. The important part in the below is the initial 128 MiB partition created, as that will be home to the boot.ini file and is the only partition related in any way to the PXE boot process. I just didn’t want to let the rest of the disk go unused and it will probably turn out to be helpful to have storage local to each node. With fdisk, I delete existing partition, create a new 128 MiB partition and then create another partition that uses the rest of the disk.
Create file systems on MicroSD card partitions.
MicroSD after partitioning and formating
Finalize Micro SD Card
Mount MicroSD partition and copy boot.ini to it.
Remove and reinsert MicroSD card.
I do not allow removable media to auto mount, so I need to mount partition manually.
Edit boot.ini on MicroSD card.
Using text editor of your choice, modify the boot.ini file on the MicroSD card.
Comment out the current last line of file: # bootz 0x40008000 0x42000000 0x44000000
Add line to end: setenv serverip 192.168.1.89
Add line to end: setenv bootfile default-arm-exynos
Add line to end: run bootcmd_pxe
Get and fuse u-boot to SD card.
Change to a working directory in order to clone u-boot project
Apply u-boot to the MicroSD card
Next Steps
Take the MicroSD card and put it into an MC1 node and see if it works.
Console over UART serial port is essential for trouble shooting.
Chrls is currently a technology transformation leader at one of the oldest American investment banking services holding companies, headquartered in New York City. Previous roles at current employer include project manager, front office support, retail and enterprise global Windows server support. Currently residing in Tennessee on the Cumberland Plateau and enjoying life, family and open source.