Compare commits

..

No commits in common. "cd1428255bc09a599c90005076ab4da2be8812fa" and "423cf4cbee1fba45fd1f581a2f6ae2708fa19d08" have entirely different histories.

4 changed files with 13 additions and 51 deletions

View File

@ -306,38 +306,3 @@ So
Note regarding that second bullet: at the moment the static address Note regarding that second bullet: at the moment the static address
service has no outputs anyway! service has no outputs anyway!
Tue Oct 4 22:43:02 BST 2022
While trying to make the TFTP workflow not awful I seem to have written
a TFTP server.
Thu Oct 6 19:26:40 BST 2022
We have a booting kernel on gl-ar750, but we aren't at a point that it can
find a root filesystem
I'd *like* to be able to use the same delivery mechanism (kernel uimage
concatenated monolithic
Sat Oct 8 11:12:09 BST 2022
We have it booting on hardware, mounting root fs, running getty :-)
For NixWRT TFTP boots we used a single image with both kernel and squashfs, and
relied on CONFIG_MTD_SPLIT_FIRMWARE to identify where the boundary was and create
/dev/mdtn devices at the right offsets so that the kernel could find the
squashfs
For Liminix we're not going to do that.
* CONFIG_MTD_SPLIT_FIRMWARE is only available in OpenWrt patches
* it's an uncomfortable level of automagic just to save us doing two TFTPs
instea of one
* the generated image is anyway not the one we'd write to flash (has unneeded
PHRAM support)
* it means we need to memmap out enough ram for the whole image inc kernel when really
all we need to reserve is the rootfs bit

View File

@ -23,19 +23,17 @@
kernel = rec { kernel = rec {
checkedConfig = { checkedConfig = {
"MIPS_ELF_APPENDED_DTB" = "y"; "MIPS_ELF_APPENDED_DTB" = "y";
OF = "y"; # possibly not all of these are needed, I just
USE_OF = "y"; # copied them from qemu
HW_CONSOLE = "y";
VT_HW_CONSOLE_BINDING = "y";
SERIAL_8250_CONSOLE = "y"; SERIAL_8250_CONSOLE = "y";
SERIAL_8250 = "y"; SERIAL_8250 = "y";
SERIAL_CORE_CONSOLE = "y"; SERIAL_CORE_CONSOLE = "y";
DUMMY_CONSOLE = "y";
# need this to open console device at boot. dmesg goes from DUMMY_CONSOLE_COLUMNS = "80";
# [ 0.272934] Warning: unable to open an initial console. DUMMY_CONSOLE_ROWS = "25";
# to # FRAMEBUFFER_CONSOLE = "y";
# [ 0.247413] printk: console [ttyS0] disabled
# [ 0.25200] 18020000.uart: ttyS0 at MMIO 0x1802000 (irq = 10, base_baud = 1562500) is a 16550A
SERIAL_OF_PLATFORM = "y";
CONSOLE_LOGLEVEL_DEFAULT = "8"; CONSOLE_LOGLEVEL_DEFAULT = "8";
CONSOLE_LOGLEVEL_QUIET = "4"; CONSOLE_LOGLEVEL_QUIET = "4";
@ -47,7 +45,7 @@
# be present already # be present already
BLK_DEV_INITRD = "n"; BLK_DEV_INITRD = "n";
}; };
config = { config = checkedConfig // {
CPU_LITTLE_ENDIAN= "n"; CPU_LITTLE_ENDIAN= "n";
CPU_BIG_ENDIAN= "y"; CPU_BIG_ENDIAN= "y";
ATH79 = "y"; ATH79 = "y";
@ -67,8 +65,11 @@
# at boot time unless we disable trying to call it # at boot time unless we disable trying to call it
"FW_LOADER_USER_HELPER" = "n"; "FW_LOADER_USER_HELPER" = "n";
# "IMAGE_CMDLINE_HACK" = "n";
"MODULE_SIG" = "y"; "MODULE_SIG" = "y";
"MTD_CMDLINE_PARTS" = "y"; "MTD_CMDLINE_PARTS" = "y";
# "MTD_SPLIT_FIRMWARE" = "y";
"PARTITION_ADVANCED" = "y"; "PARTITION_ADVANCED" = "y";
"PRINTK_TIME" = "y"; "PRINTK_TIME" = "y";
"SQUASHFS" = "y"; "SQUASHFS" = "y";

View File

@ -55,10 +55,6 @@ in {
PROC_FS = "y"; PROC_FS = "y";
# s6-linux-init mounts this on /dev # s6-linux-init mounts this on /dev
DEVTMPFS = "y"; DEVTMPFS = "y";
# some or all of these may be fix for "tmpfs: Unknown parameter 'mode'" error
TMPFS = "y";
TMPFS_POSIX_ACL = "y";
TMPFS_XATTR = "y";
}; };
checkedConfig = config; checkedConfig = config;
}; };

View File

@ -73,7 +73,7 @@ let
run = { run = {
file = '' file = ''
#!${execline}/bin/execlineb -P #!${execline}/bin/execlineb -P
${busybox}/bin/getty -l ${busybox}/bin/login 115200 /dev/console ${busybox}/bin/getty -l ${busybox}/bin/login 38400 /dev/console
''; '';
mode = "0755"; mode = "0755";
}; };