WIP
This commit is contained in:
parent
95d9e014fb
commit
55fa9992d4
4 changed files with 96 additions and 6 deletions
72
THOUGHTS.txt
72
THOUGHTS.txt
|
@ -3455,3 +3455,75 @@ https://wiki.turris.cz/en/howto/omnia_booting_from_external_storage
|
|||
if we adopt this as our installation format then we are not
|
||||
reformatting the flash and will keep the btrfs that the device
|
||||
was shipped with.
|
||||
|
||||
https://forum.turris.cz/t/update-to-5-1-x-by-medkit/13986/12
|
||||
suggests that we could install a custom medkit from the
|
||||
vendor OS
|
||||
|
||||
=> btrsubvol mmc 0:1
|
||||
ID 257 parent 5 name /@
|
||||
ID 259 parent 5 name /@factory
|
||||
|
||||
there don't seem to be any other btr commands in u-boot
|
||||
|
||||
Tue Dec 12 14:38:53 GMT 2023
|
||||
|
||||
|
||||
env_set_ulong("omnia_reset", reset_status);
|
||||
const char * const vars[3] = {
|
||||
"bootcmd",
|
||||
"bootdelay",
|
||||
"distro_bootcmd",
|
||||
};
|
||||
|
||||
/*
|
||||
* Set the above envs to their default values, in case the user
|
||||
* managed to break them.
|
||||
*/
|
||||
env_set_default_vars(3, (char * const *)vars, 0);
|
||||
|
||||
env_set("boot_targets", "rescue");
|
||||
// reset boot_targets to default value.
|
||||
|
||||
Tue Dec 12 22:44:34 GMT 2023
|
||||
|
||||
The hold-down-reset-until-n-leds-flash support depends quite heavily
|
||||
on the post-boot Linux environment, in that it appears to be passing
|
||||
omniarescue=3 rescue_mode=3 to the kernel command line -> pid 1
|
||||
cmdline
|
||||
|
||||
On the other hand, it is described as being able to boot from usb
|
||||
stick if there's a boot.scr on the usb stick, so maybe we just do
|
||||
that. The installation process could then be "boot usb, dd the
|
||||
disk image to mmc, reboot, remove usb, realise we got the wrong root=".
|
||||
Hmm.
|
||||
|
||||
* Could we edit extlinux.conf for first boot? But bear in mind it's a
|
||||
link to a store file.
|
||||
|
||||
* Could we have extlinux.conf point at mmc0 and somehow override it for the
|
||||
usb stick boot?
|
||||
|
||||
* Could preinit try multiple root mounts until it gets one that works?
|
||||
|
||||
* maybe we could detect omniarescue on kernel command line and switch to
|
||||
usb root?
|
||||
|
||||
* maybe outputs.usbstick could generate a customised rootfs image?
|
||||
it might be unworkable to
|
||||
|
||||
(narrator: it boots from mmc0 first and usb stick second, so that's not
|
||||
particularly useful)
|
||||
|
||||
|
||||
|
||||
|
||||
Device 0: Vendor: SanDisk Rev: 1.00 Prod: Cruzer Blade
|
||||
Type: Removable Hard Disk
|
||||
Capacity: 7632.0 MB = 7.4 GB (15630336 x 512)
|
||||
... is now current device
|
||||
Scanning usb 0:1...
|
||||
No EFI system partition
|
||||
fdt_find_or_add_subnode: chosen: FDT_ERR_BADSTRUCTURE
|
||||
ERROR: /chosen node create failed
|
||||
- must RESET the board to recover.
|
||||
|
|
|
@ -89,7 +89,7 @@
|
|||
NET_DSA_MV88E6XXX = "y"; # depends on PTP_1588_CLOCK_OPTIONAL
|
||||
};
|
||||
};
|
||||
|
||||
rootfsType = "ext4";
|
||||
boot = {
|
||||
commandLine = [
|
||||
"console=ttyS0,115200"
|
||||
|
@ -115,7 +115,7 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
|
||||
boot.tftp.loadAddress = lim.parseInt "0x01800000";
|
||||
hardware = let
|
||||
mac80211 = pkgs.mac80211.override {
|
||||
drivers = ["ath9k_pci" "ath10k_pci"];
|
||||
|
@ -124,6 +124,7 @@
|
|||
in {
|
||||
defaultOutput = "mtdimage";
|
||||
loadAddress = lim.parseInt "0x00008000";
|
||||
|
||||
entryPoint = lim.parseInt "0x00008000";
|
||||
rootDevice = "/dev/mtdblock0";
|
||||
dts = {
|
||||
|
|
|
@ -44,7 +44,6 @@ in rec {
|
|||
../modules/ntp
|
||||
../modules/ssh
|
||||
];
|
||||
rootfsType = "jffs2";
|
||||
hostname = "rotuer";
|
||||
|
||||
services.hostap = svc.hostapd.build {
|
||||
|
@ -182,4 +181,8 @@ in rec {
|
|||
defaultProfile.packages = with pkgs; [
|
||||
min-collect-garbage
|
||||
];
|
||||
|
||||
programs.busybox.applets = [
|
||||
"fdisk" "sfdisk"
|
||||
];
|
||||
}
|
||||
|
|
14
overlay.nix
14
overlay.nix
|
@ -214,4 +214,18 @@ extraPkgs // {
|
|||
CONFIG_BOOTMETH_DISTRO=y
|
||||
'';
|
||||
};
|
||||
|
||||
# gnufdisk = prev.gnufdisk.override {
|
||||
# guile = null;
|
||||
# };
|
||||
|
||||
# util-linux = prev.util-linux.override {
|
||||
# ncursesSupport = false;
|
||||
# pamSupport = false;
|
||||
# systemdSupport = false;
|
||||
# nlsSupport = false;
|
||||
# translateManpages = false;
|
||||
# capabilitiesSupport = false;
|
||||
# };
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue