Update kernal to work on real hardware (SM)
The kernel is fetched here: https://git.glasklar.is/system-transparency/core/stprov/-/blob/main/integration/qemu.sh?ref_type=heads#L156-157
After running the qemu.sh test (or just INTERACTIVE=true ./qemu.sh
to build and enter qemu without running any tests), create the ISO to dd or rsync to stime as follows:
stmgr uki create -format iso -kernel build/kernel.vmlinuz -initramfs build/stprov.cpio.gz -out build/stprov.iso -cmdline ' -- -v'
You might want to add the ip
command here. I.e., to be able to list interfaces since that's one of the issues we're debugging.
The problem: the ISO from stprov main doesn't work on Glasklar's SM test machine. The bonding interfaces don't show up.
From Matrix:
Did you seen any sign of the tg3 driver getting loaded/initialized? That seems to be the driver for the network interfaces connected to the bonding switch.
sounds reasonable so simply loading tg3 dynamically will fix the issue
If we're talking the old "linuxboot" kernel, I don't think we have any modules, at least, I haven't seen any corresponding module tree. In the sources, tg3 is drivers/net/ethernet/broadcom/tg3.[ch], and https://git.glasklar.is/system-transparency/core/system-transparency/-/blob/main/contrib/linuxboot.defconfig?ref_type=heads#L151 says # CONFIG_NET_VENDOR_BROADCOM is not set, so I guess it's simply not supporting those network interfaces?
Related: we tried to start using the same kernel as stboot, but that resulted in several modules issues. The still remaining modules issue there is that we're unable to type input (both on a NUC and on Glasklar's SM). We speculate that we might be missing something that needs to be compiled into the kernel, rather than loading something that's missing with modules.
Current plan forward: either figure out what's missing with the currently used (ancient) kernel, e.g., maybe we can add the missing module. But we need the module tree. Or we build a new kernel that works.