Compare commits

...

2 Commits

Author SHA1 Message Date
Daniel Barlow 9b92bf8447 gazing into the abyss 2023-12-22 15:30:01 +00:00
Daniel Barlow 5f9ffa804f better detect test succeeded 2023-12-22 15:29:33 +00:00
3 changed files with 59 additions and 2 deletions

View File

@ -3586,3 +3586,58 @@ code to check the decompressed size, so that doesn't help at all. But
booting a zImage works fine. I am committing a first pass of
modules/outputs/tftpbootlz.nix which does this using a lot of
copy-paste and (ironically) no lzma stuff at all.
Sun Dec 17 16:25:30 GMT 2023
it's started failing to mount root on arm32 because it's not recognising
the reserved-memory and something is trashing the phram filesystem
reserved-memory {
phram-rootfs {
reg = <0x1400000 0x1900000>;
compatible = "phram";
};
};
Sun Dec 17 17:13:54 GMT 2023
* We need to write the fdt phram differently on 64 bit vs 32 bit
(address-cells and size-cells should be 2 or 1)
* this might be why it wasn't working on mips (can we test this
somehow in qemu or do we need to plug a device in?)
qemu user-mode networking has a builtin tftp server.
so we need a test that builds the tftpboot target for each qemu arch,
and then does run-liminix-vm with the --lan and --u-boot options, then
drives it with expect
* maybe tftpboot[lz] could be reintegrated with the regular one somehow
Fri Dec 22 15:11:35 GMT 2023
We have a working test for tftpboot, on all platforms, which took a
while.
* tftpbootlz needs to be updated with what we learned, or merged
back into it
* omnia install
- build a stripped-down installer image which can be put on a
usb stick
- from openwrt on the device, use fw_setenv to set boot order
- boot into the installer image
- reformat the emmc as per requirements
- ???
- profit
the missing step might be to do a cpio from installer onto
the emmc
or something with chroot
is levitate useful here?

View File

@ -17,7 +17,9 @@ in {
../../modules/outputs/ext4fs.nix
../../modules/outputs/tftpboot.nix
];
config = {
hostname = "tftpboot-test";
# use extracted dts if it was null in the device
# definition, use actual dts if provided
hardware.dts.src = lib.mkOverride 500 dts;

View File

@ -20,11 +20,11 @@ expect {
}
expect {
"#" { send "test -f /proc/device-tree/reserved-memory/phram-rootfs*/name && tty \r" }
"#" { send "test -f /proc/device-tree/reserved-memory/phram-rootfs*/name && hostname \r" }
timeout { exit 1 }
}
expect {
"/dev/ttyS0" { exit 0 }
"tftpboot-test" { exit 0 }
timeout { exit 1 }
}