Daniel Barlow
f875622100
improve formatting
2024-02-04 18:24:01 +00:00
Daniel Barlow
49ec4a2961
installation instructions for Turris Omnia
...
feels like a milestone, or at least a big step towards one
2024-02-04 18:20:04 +00:00
Daniel Barlow
c8154a2db9
kernel: add "conditional" config
...
imagine: you are using a device that requires
CONFIG_MYDEVICE_FROBOZZ_DRIVER but only if CONFIG_FROBOZZ has been
specified elsewhere. Because we check that every requested config
symbol actually appears in .config then it can't be added
unconditionally or the build will fail if CONFIG_FROBOZZ wasn't asked
for.
I'm not 100% happy about this design but it's the best I've thought of
so far.
2024-02-04 18:12:15 +00:00
Daniel Barlow
02cf2c6b80
add ssh keys in recovry image
2024-02-04 18:10:58 +00:00
Daniel Barlow
b0709a6443
systemconfig: fix missing backslashes on env vars
2024-02-04 17:19:03 +00:00
Daniel Barlow
86f5c9b568
schnapps needs util-linux for mount
...
specifically, it expects mount /dev/foo -o blah /dest to work,
but busybox mount expects options to precede all the other
command line args
2024-02-04 15:50:25 +00:00
Daniel Barlow
ef707de8b1
add extlinux in recovery example
...
this needlessly bloats the TFTP image, which is a shame, but is
needed for installing onto usb stick
2024-02-02 19:51:41 +00:00
Daniel Barlow
89c88dd472
specify type for rootDevice module option
2024-02-02 19:50:13 +00:00
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