forked from DGNum/liminix
dribble
This commit is contained in:
parent
1a041392aa
commit
dc42969ef6
1 changed files with 122 additions and 10 deletions
132
THOUGHTS.txt
132
THOUGHTS.txt
|
@ -3176,9 +3176,6 @@ Turris TODO
|
||||||
- perhaps we need different boot "recipes" - e.g. some device
|
- perhaps we need different boot "recipes" - e.g. some device
|
||||||
might want boot.scr and another something different
|
might want boot.scr and another something different
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- create installable tarball and test
|
- create installable tarball and test
|
||||||
- gpio thingy for SFP switching
|
- gpio thingy for SFP switching
|
||||||
- iperf
|
- iperf
|
||||||
|
@ -3630,14 +3627,129 @@ back into it
|
||||||
- build a stripped-down installer image which can be put on a
|
- build a stripped-down installer image which can be put on a
|
||||||
usb stick
|
usb stick
|
||||||
- from openwrt on the device, use fw_setenv to set boot order
|
- from openwrt on the device, use fw_setenv to set boot order
|
||||||
- boot into the installer image
|
- boot into the installer image-
|
||||||
- reformat the emmc as per requirements
|
reformat the emmc as per requirements
|
||||||
- ???
|
- PREFIX=/mnt liminix-rebuild
|
||||||
- profit
|
- profit
|
||||||
|
|
||||||
the missing step might be to do a cpio from installer onto
|
Could we liminix-rebuild into /some/prefix/nix/store this would
|
||||||
the emmc
|
actually be useful both for this boot-from-usb scenario and for
|
||||||
|
levitate. Looks like min-copy-closure doesn't need anything much on
|
||||||
|
the destination system except a working sshd and maybe an empty
|
||||||
|
/nix/store and /persist. Potentially we could even do it without
|
||||||
|
chroot (which would save running a second sshd), just add a prefix on
|
||||||
|
the paths
|
||||||
|
|
||||||
or something with chroot
|
what's the fallback? we're not touching the turris rescue
|
||||||
|
system (which is in nor flash) so we can expect all the
|
||||||
|
knightrider modes to continue to workto be able to
|
||||||
|
boot back into that and restore the vendor os? I think so
|
||||||
|
|
||||||
is levitate useful here?
|
Fri Dec 22 16:56:40 GMT 2023
|
||||||
|
|
||||||
|
If we're going to use fw_setenv to change boot order,
|
||||||
|
we could equally well boot from tftp and not need the
|
||||||
|
usb stick
|
||||||
|
|
||||||
|
fw_setenv boot_targets "tftp mmc0 nvme0 scsi0 usb0 pxe dhcp"
|
||||||
|
setenv bootcmd_tftp "echo TFTP BOOT"
|
||||||
|
|
||||||
|
how can we get a tftp boot into few enough characters to reasonably
|
||||||
|
put it in an environment variable?
|
||||||
|
- use dhcp?
|
||||||
|
- embed bootargs into the fdt
|
||||||
|
|
||||||
|
Fri Dec 22 21:10:53 GMT 2023
|
||||||
|
|
||||||
|
* dtb needs size and offset of uncompressed root filesystem to add
|
||||||
|
reserved-memory and cmdline params
|
||||||
|
|
||||||
|
* setting these in the dtb will change the size of the dtb
|
||||||
|
|
||||||
|
* am assuming that we don't want the kernel to relocate into
|
||||||
|
ram that clashes with the root fs
|
||||||
|
|
||||||
|
* should we care about phys mem fragmentation?
|
||||||
|
|
||||||
|
conclusion:
|
||||||
|
|
||||||
|
hardware.loadAddress
|
||||||
|
<uncompressed/relocated kernel>
|
||||||
|
tftp.loadAddress
|
||||||
|
<space for uncompressed root>
|
||||||
|
uimage or zimage
|
||||||
|
dtb
|
||||||
|
compressed root
|
||||||
|
|
||||||
|
|
||||||
|
[ should we rename hardware.loadAddress to something that expresses
|
||||||
|
more clearly it's the _kernel_ load address? ]
|
||||||
|
|
||||||
|
[ another thing we need to do is stop building two kernels
|
||||||
|
because the uimage and zimage derivations are different ]
|
||||||
|
|
||||||
|
Sat Dec 23 18:07:43 GMT 2023
|
||||||
|
|
||||||
|
Addendum: for a zimage we need the compressed kernel to be at the
|
||||||
|
highest address, otherwise it prints "Starting" and then hangs
|
||||||
|
indefinitely.
|
||||||
|
|
||||||
|
I believe this to be because the kernel decompressor sets up a stack
|
||||||
|
directly after the compressed payload, so will trash the fdt if it was
|
||||||
|
also there. The bug didn't exhibit on Turris Omnia with the same
|
||||||
|
layout, but maybe that was just luck.
|
||||||
|
|
||||||
|
Sat Dec 23 18:11:04 GMT 2023
|
||||||
|
|
||||||
|
Here is scope of work for Turris:
|
||||||
|
|
||||||
|
(I) we need to build a suitable tftpboot image for
|
||||||
|
recovery/install.
|
||||||
|
|
||||||
|
- disk partitioning tools and mkfs stuff
|
||||||
|
- dhcp client for connecting to wired network
|
||||||
|
|
||||||
|
(II) we need insttuctions for building the real system
|
||||||
|
and using min-copy-closure to copy and install the system
|
||||||
|
configuration of the real one into /mnt
|
||||||
|
|
||||||
|
(III) probably try the same recovery image as a USB stick
|
||||||
|
|
||||||
|
(IV) I've lost track of what we're doing with /boot, does that work?
|
||||||
|
|
||||||
|
(V) gpio thingy for SFP switching
|
||||||
|
|
||||||
|
(VI) iperf, performance testing
|
||||||
|
|
||||||
|
(VII) put device name and usefulness tiers ("stable", "experimental", "wip") in the docs
|
||||||
|
|
||||||
|
(VIII) params for ubi(fs) are a mess
|
||||||
|
|
||||||
|
(IX) wlan country code
|
||||||
|
|
||||||
|
Tue Dec 26 16:23:37 GMT 2023
|
||||||
|
|
||||||
|
I seem to have lost a chunk of notes here. Have added
|
||||||
|
systemConfiguration/bin/install which does the stuff to copy the right
|
||||||
|
files into /bin and wherever. There is currently no test for it though
|
||||||
|
|
||||||
|
We could further simplify liminix-rebuild by adding --reboot as a flag
|
||||||
|
to install
|
||||||
|
|
||||||
|
Tue Dec 26 21:38:43 GMT 2023
|
||||||
|
|
||||||
|
To be any use, the test needs to be end-to-end - as in, rather than
|
||||||
|
just checking some files are copied, test that the machine rebooted
|
||||||
|
successfully
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
COPYING /nix/store/dlz86nip271ybaz0cip7bgkbzijk0cr7-make-stuff-mips-unknown-linux-musl TO //persist
|
||||||
|
|
||||||
|
|
||||||
|
/nix/store/gr255qjxijksf9361glsj5lz0cklassx-profile
|
||||||
|
|
||||||
|
md5sum /persist/activate
|
||||||
|
8eb0760c39cdee0b141b15bbafbc94a0 /persist/activate BAD
|
||||||
|
6c27b75cbe9f2ce87c1fd1425362108f /persist/activate GOOD
|
||||||
|
8eb0760c39cdee0b141b15bbafbc94a0 /persist/activate
|
||||||
|
|
Loading…
Reference in a new issue