Commit Graph
100 Commits
Author SHA1 Message Date
Daniel Barlow c1ad139310 whitespace 2024-02-02 19:43:34 +00:00
Daniel Barlow f682b26c29 omnia seems very fussy about tftp load address
when loading with 0x1000000 base address, something was getting
corrupted in the uncompressed rootfs

$ head -c $(printf "%d" 0x2be0000) rootfs | sha1sum
142571fe0436c18191727d1d4c2fd32163c1f2e1  -
=> sha1sum 0x1000000 2be0000
sha1 for 01000000 ... 03bdffff ==> 142571fe0436c18191727d1d4c2fd32163c1f2e1

but!

$  head -c $(printf "%d" 0x2bf0000) rootfs | sha1sum
7aa004ba87c6772bade491fbade164e2dfe100f9  -
=> sha1sum 0x1000000 2bf0000
sha1 for 01000000 ... 03beffff ==> 1a0923a94784d0c0b86006c5e6fff1649770dad3
2024-02-02 19:36:11 +00:00
Daniel Barlow 84ce618213 recovery: grow fs to partition size before starting sshd
sshd expects there to be space in /persist/secrets that it can
use to write host keys, but when we make ext4fs images we don't
put any free space in them
2024-01-28 11:30:19 +00:00
Daniel Barlow 9e199c6957 tftpboot: compute dtbSize *after* changing dtb
Adding the reserved-memory node to the dtb can cause it to grow
by enough that it needs an extra page - this will overlap the start
of the kernel image if we calculate offsets based on the original size

Reported-by: sinavir
Authored-by: sinavir
2024-01-26 22:51:58 +00:00
Daniel Barlow c8e3d84bf4 think 2024-01-26 22:46:36 +00:00
Daniel Barlow dd8ec18881 restore boot.tftp.freeSpaceBytes 2024-01-26 22:46:36 +00:00
Daniel Barlow 1730cf07b1 bug workaround
If we set squashfs rootfsType, the image doesn't rebuild when
the kernel config is changed. Need to figure out why
2024-01-26 22:46:36 +00:00
Daniel Barlow de51bfe13d default root device in recovery to sda1
It will probably work fine for USB-stick boot (except in the case
where there is > 1 usb device plugged in, so maybe don't do that)

It doesn't matter for TFTP boot because boot.scr overrides the root=
param anyway
2024-01-26 22:46:36 +00:00
Daniel Barlow b09723345c don't put all of util-linux in recovery
it adds ~ 5MB to the image size
2024-01-26 22:46:36 +00:00
Daniel Barlow 1781d4b6e4 add lzma to buildenv 2024-01-26 22:46:36 +00:00
Daniel Barlow c219350d7c add usb storage for turris omnia
ideally we would make this a module instead of compiling in
directly
2024-01-26 22:46:36 +00:00
dan 6f83282ff5 Merge pull request 'openwrt: update to v23.05.2' (#4) from raboof/liminix:openwrt-update-to-v23.05.2 into main
Reviewed-on: https://gti.telent.net/dan/liminix/pulls/4
2024-01-26 22:39:11 +00:00
dan 5f2d1660bd Merge pull request 'belkin-rt3200: Enable watchdog drivers' (#3) from sinavir/liminix:add_belkin_watchdog into main
Reviewed-on: https://gti.telent.net/dan/liminix/pulls/3
2024-01-24 14:36:08 +00:00
Daniel Barlow 83ee488e4c systemconfig: /boot needs to go inside /persist 2024-01-09 13:10:02 +00:00
Daniel Barlow f19a937eda omnia needs MARVELL_PHY for the WAN port to work
interestingly, we only see this when it boots from mmc, because
for tftpboot the bootloader has already performed negotiation
and therefore it works despite the missing option.
2024-01-09 13:07:14 +00:00
Daniel Barlow f0490f37d5 turris omnia: tidy config, remove dead bits 2024-01-08 19:22:42 +00:00
Daniel Barlow c1101d3af5 make extlinux work with liminix-rebuild
add /boot to the systemConfiguration closure
2024-01-08 18:58:07 +00:00
Daniel Barlow 9a3d7a387e correct turris omnia root device 2024-01-08 18:55:41 +00:00
Daniel Barlow 228c0a1668 pass rootOptions config as rootflags= kernel cmdline opt 2024-01-08 18:54:49 +00:00
Daniel Barlow 63f034e362 preinit: parse rootflags= in kernel command line 2024-01-08 00:35:13 +00:00
Daniel Barlow 6971d03520 preinit: check return from write() 2024-01-07 21:24:16 +00:00
Daniel Barlow 7bc9cb6c55 why is extlink hardcoding root device? 2024-01-07 20:30:23 +00:00
Daniel Barlow a251ceeb99 omnia releng 2024-01-07 16:54:44 +00:00
Daniel Barlow 38a7f0b03b turris omnia: add all lan devices
I think we might turn "lan" into a bridge, but that's for later
2024-01-07 16:54:44 +00:00
Daniel Barlow c0c4752350 systemconfig "install" cmd honours prefix on source 2024-01-07 16:54:44 +00:00
Daniel Barlow 3c941b4ce2 partial btrfs support
doesn't actually know how to make the filesystem, just
kernel config and accept it as a valid option
2024-01-07 16:43:43 +00:00
Daniel Barlow 243295aab8 recovery config for turris omnia 2024-01-07 14:58:46 +00:00
Daniel Barlow 45e8db09e1 liminix-rebuild: escape brackets in usage message 2024-01-07 14:18:19 +00:00
Daniel Barlow 2a93f24a58 add turris "schnapps" tool
in its current state this is useful for turris omnia only, but will
allow us to do installs and rollback to turris os if needed.
2024-01-05 00:07:01 +00:00
Daniel Barlow 64898eada8 mount tmpfs on /tmp
too much stuff doesn't work without it and it's not
all worth patching
2024-01-04 23:22:02 +00:00
Daniel Barlow 136c5e6f32 alphabetize package list 2024-01-04 10:15:23 +00:00
Daniel Barlow fa9a2c6413 add btrfs-progs 2024-01-04 09:33:44 +00:00
Daniel Barlow 049cdbb610 turris omnia: don't hardcode rootfsType 2024-01-03 20:18:07 +00:00
Daniel Barlow 5ee4adff10 NEWS: we now expect Liminix 23.11 2024-01-03 19:44:49 +00:00
Daniel Barlow 9632a64b47 tftpboot: don't rely on hostname being set 2024-01-03 19:40:00 +00:00
Daniel Barlow fc5def2e15 don't need ubifs u-boot patch now
23.11 has upgraded to a newer u-boot that has ubifs by default
in the qemu-arm config
2024-01-03 19:12:46 +00:00
Daniel Barlow 9369fdf314 use patched qemu only for run-liminix-vm 2024-01-03 17:53:30 +00:00
Daniel Barlow d2e29543e2 bordervm: build wireshark without qt
(we only want tshark anyway)
2024-01-03 17:02:31 +00:00
Daniel Barlow dad7c2c875 don't overlay util-linux, rename to -small
looks like it's used in bootstrapping
2024-01-03 10:45:40 +00:00
Daniel Barlow 3459c04f64 don't need SDL in our custom qemu 2024-01-03 10:09:10 +00:00
Daniel Barlow ff991508ae build kernel only once for multiple outputs
e.g. vmlinux + zImage
2024-01-02 19:40:57 +00:00
Daniel Barlow e4ed9dbec9 delete dead comment 2024-01-02 18:10:56 +00:00
Daniel Barlow 9e0ef68c1f omnia: add MMC block device support 2024-01-02 18:09:44 +00:00
Daniel Barlow 870e4d86cc omnia: support fw_{print,set}env commands 2024-01-02 18:09:12 +00:00
Daniel Barlow d6f96c0448 add libubootenv package 2024-01-02 17:44:56 +00:00
Daniel Barlow e7747832ad turris-omnia: reindent 2024-01-01 20:24:47 +00:00
Daniel Barlow 921b4f24af boot.scr: append ; not \n to lzmadec command
this is simply to make copy-paste slightly more convenient
2024-01-01 20:21:42 +00:00
Daniel Barlow e505e37d9a build util-linux without systemd
this didnt work before but it does now, maybe because we
upgraded nixpkgs 23.05->23.11
2023-12-30 22:26:12 +00:00
Daniel Barlow 2152a3f207 a test for liminix-rebuild
it's hacky as Selby, but it's better than no test
2023-12-29 22:11:04 +00:00
Daniel Barlow ec1ff283da vmdisk output: allow extra params to run.sh 2023-12-29 18:12:57 +00:00
Daniel Barlow 0bf98c5243 add output for u-boot 2023-12-29 17:07:47 +00:00
Daniel Barlow dc42969ef6 dribble 2023-12-29 16:54:35 +00:00
Daniel Barlow 1a041392aa liminix-rebuild: add --no-reboot param 2023-12-27 17:47:42 +00:00
Daniel Barlow 6469408d5f run-liminix-vm: don't reverse order of --flags params 2023-12-26 21:59:00 +00:00
Daniel Barlow f020d5b25d qemu mips: enable rebooting 2023-12-26 21:58:18 +00:00
Daniel Barlow e5cbc2b86b WIP add systemConfiguration "install" command
which copies the init stuff (whatever it is) from store to /persist
instead of making liminix-rebuild have to know what the files are.

This is principally to ease making a system configuration in /mnt or
similar when operating in a rescue/recovery scenario, and we
don't want to liminix-rebuild because it will reboot
2023-12-23 23:53:47 +00:00
Daniel Barlow 29f35cb902 min-copy-closure: add --root to copy to non-standard place 2023-12-23 23:12:40 +00:00
Daniel Barlow dbf1ecdcb7 swap zimage and dtb in ram
kernel uncompression code creates a stack directly
after the compressed payload, which was trashing the dtb
2023-12-23 15:38:32 +00:00
Daniel Barlow aecc44aaa0 run-liminix-vm: --flag parameter passes arg straight to qemu 2023-12-23 15:32:59 +00:00
Daniel Barlow 1042be912c turris omnia: switch to regular tftpboot output
now it does zimage and rootfs compression
2023-12-23 00:05:34 +00:00
Daniel Barlow c931d84828 tftproot: put command line in dtb 2023-12-23 00:05:34 +00:00
Daniel Barlow 64a3f50248 tftpboot: support compressed root 2023-12-23 00:05:34 +00:00
Daniel Barlow c5e9fcecc7 uninit var 2023-12-23 00:05:34 +00:00
Daniel Barlow f25c41b4d2 tftpboot: move things around in memory
new layout has rootfs followed by kernel and dtb, so that we
know the rootfs start and size to embed them into the dtb instead
of having to use dummy values and fill them in afterwards
2023-12-23 00:05:34 +00:00
Daniel Barlow bfa68d9c55 remove unused variable 2023-12-23 00:05:34 +00:00
Daniel Barlow ff0ef825a6 tftpboot: add option for kernel image format 2023-12-23 00:05:34 +00:00
Daniel Barlow 44a0cf364b remove boot-scr output, merge into tftpboot
(1) it creates two things (script and dtb); (2) it's a bit pointless
without the tftpboot output it depends on
2023-12-22 21:37:15 +00:00
Daniel Barlow c7b2733bea tftpbootlz: put command line in dtb
this makes boot.scr substantially shorter, in anticipation of using it
for first boot of the omnia and not wanting to embed an essay in
a setenv value
2023-12-22 20:09:44 +00:00
Daniel Barlow dfbc72dd51 tftpboot test: fix reserved-memory dt for aarch64 2023-12-22 17:37:53 +00:00
Daniel Barlow 9f851b229c inadvertently committed, remove 2023-12-22 16:25:54 +00:00
Daniel Barlow fe2d41a2b1 wlan test: robustify, tail log on failure 2023-12-22 15:49:43 +00:00
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
Daniel Barlow 231c2cef03 make reserved-memory work on mips, and improve test 2023-12-21 22:21:20 +00:00
Daniel Barlow dbb82339bd tftpboot test: fail if reserved-memory node is wrong 2023-12-21 21:13:16 +00:00
Daniel Barlow 4a606a4b19 tidy up kernel patch 2023-12-21 21:12:55 +00:00
Daniel Barlow 9c894bdabf add tftpboot test for mips 2023-12-21 19:25:45 +00:00
Daniel Barlow a962f18369 run-liminix-vm: map rootfs file iff --phram-address supplied 2023-12-21 19:25:45 +00:00
Daniel Barlow 9a29a042e8 fix tftpboot test on boards without autoboot, swap wan/lan
This is for MIPS.  I spent a while investigating why the second virtio
net device doesn't function in qemu mips malta u-boot, but with no
success. Use the first one instead.
2023-12-21 19:25:16 +00:00
Daniel Barlow 46926a94db dont need phram-address param for tftpboot test
the phram setup for this test is all passed from
u-boot to the kernel
2023-12-21 19:24:58 +00:00
Daniel Barlow ab0631c555 qemu mips expects different file size for u-boot 2023-12-19 18:48:28 +00:00
Daniel Barlow 32c13c46bb support aarch64 in tftpboot test 2023-12-19 12:12:12 +00:00
Daniel Barlow e5db2691e5 add CI job to test tftpboot 2023-12-18 22:42:29 +00:00
Daniel Barlow 9ca9723c9d make rootfs work with tftpbootlz 2023-12-17 19:39:26 +00:00
Daniel Barlow d1e2d525a4 tftpboot omnia using bootz not bootm
because kernel size is now beyond the u-boot size
limit for bootm
2023-12-16 23:40:55 +00:00
Daniel Barlow f4f4387861 well, we're back to where we can boot again
so that's good
2023-12-16 23:40:55 +00:00
Daniel Barlow 55fa9992d4 WIP 2023-12-13 21:54:15 +00:00
Daniel Barlow 95d9e014fb omnia: fix paths 2023-12-13 21:52:28 +00:00
Daniel Barlow 80528376a2 move o.systemConfiguration to initramfs module
as far as I can tell, we define it identically in every module
that uses initramfs
2023-12-11 21:47:15 +00:00
Daniel Barlow d707345891 rename rootfsFiles to rootdir, add bootablerootdir 2023-12-11 21:21:12 +00:00
Daniel Barlow 133b64613d link to NEWS file 2023-12-11 20:18:28 +00:00
Daniel Barlow c6c41e331e let's have a place to document breaking changes 2023-12-11 19:09:56 +00:00
Daniel Barlow b878d6481a the first rule of thought club 2023-12-11 19:09:19 +00:00
Daniel Barlow 601bb289ee rename diskimage to mbrimage 2023-12-11 19:09:19 +00:00
Daniel Barlow 876bd7d8ce rename flashimage to mtdimage 2023-12-11 19:09:18 +00:00
Daniel Barlow 39c338d710 rm vanilla-configuration-hw.nix, no longer needed 2023-12-11 19:09:18 +00:00
Daniel Barlow 6c8b2bbb83 add retries to wlan test 2023-12-10 18:35:14 +00:00
Daniel Barlow 4ddce6e926 fix the tests we broke 2023-12-10 17:12:57 +00:00
Daniel Barlow 5eeb277564 move output module imports example -> device
The outputs available are a characteristic of the device, not
the example.
2023-12-10 16:38:53 +00:00
Daniel Barlow c81e7c4d35 move all output modules to subdirectory, trash standard.nix
standard.nix isn't, is the essence here. Not all devices
support flashimage as it is currently defined - some
have diskimage, some have neither
2023-12-10 15:23:12 +00:00