Raito Bezarius
562b050341
feat: add environment variables and prompt customization in login shells
...
This way, we can configure a bit our prompt.
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-10-04 11:12:05 +02:00
Raito Bezarius
013e4c396c
feat: repair CI and cleanup cross-compilation mechanism
...
build liminix / build_vm_qemu_mips (push) Successful in 6m24s
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-09-16 18:14:39 +02:00
Raito Bezarius
17355c3911
fix(preinit): scan multiple times the cmdline and rename altroot in rootalt
...
The way the parsing works is examining one character at a time.
First, if we had `rootfstype=... root=...`, the parsing would jump and
ignore `root=...`, which sucks.
To fix this, we scan multiple times a copy of the cmdline.
Now, we have a new problem: `root=... altroot=...` lead to opts.device
being equal to the altroot as we are looking one char at a time, so we
will arrive at a moment looking at `root=...` for `altroot=...`.
To avoid this, we rename `altroot` in `rootalt`, cheap, I know.
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-09-01 17:48:54 +02:00
Raito Bezarius
86e81efbd6
tftp: introduce an alternative command line for TFTP
...
Normal command line and TFTP command line can be sometimes very
different.
e.g. We don't want to load UBI filesystems for a TFTP boot as it may
interfere with our root device loading.
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-09-01 17:48:54 +02:00
1e9204f2f0
Merge pull request 'feat: add proper A/B schema' ( #1 ) from preinit-ab into main
...
Reviewed-on: #1
2024-05-24 17:22:45 +02:00
Raito Bezarius
59d6640343
feat(zyxel): cleanup A/B schema
...
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-05-13 01:45:27 +02:00
Daniel Barlow
7e4a05bbf8
separate kernel and base modules
...
this is needed for levitate
2024-04-28 12:44:27 +01:00
Daniel Barlow
fad0a47b75
add config.system.callService
...
this is like pkgs.callService except that it passes
config.system.service as a param so that the service
being defined can invoke other services
if this proves to be a good idea, all uses of
pkgs.callService should be changed to use it instead
2024-03-28 20:59:39 +00:00
Raito Bezarius
d6ffdd7be6
devices/zyxel-nwa50ax: expose primary and secondary images
...
To support A/B a bit better.
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-02-19 02:57:34 +01:00
Raito Bezarius
3dc58de0eb
modules/outputs: expose commandLineDtbNode
option
...
We allow `bootargs` and `bootargs-override` for now only.
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-02-18 20:30:41 +01:00
Daniel Barlow
dce983ec79
move kernel module to its own subdir
2024-02-11 18:15:55 +00:00
Daniel Barlow
228c0a1668
pass rootOptions config as rootflags= kernel cmdline opt
2024-01-08 18:54:49 +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
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
185117843b
convert tftp.loadAddress from string to int
2023-11-12 18:37:33 +00:00
Daniel Barlow
a9d847e2c0
add ext4 as rootfsType
2023-11-06 21:52:31 +00:00
Daniel Barlow
629914f65e
initial support for ubifs
2023-10-16 19:55:17 +01:00
Daniel Barlow
bd20f3e419
uimage: make fit optional
2023-10-09 19:47:57 +01:00
Daniel Barlow
f75995e895
introduce modules/arch/{mipsel,mipseb}.nix
...
for settings that are common to all mipse[lb] but would not be shared
with e.g. aarch64 or x86
2023-09-20 17:30:05 +01:00
Daniel Barlow
7faf620c0b
move loopback config from base to netowrk module
2023-08-31 18:28:35 +01:00
Daniel Barlow
f93c03c98a
improve descriptions for base and busybox
2023-08-16 22:26:31 +01:00
Daniel Barlow
b81604870b
extract kernel config options from base module
...
we then "import" them straight back into base.nix - it's not
as though you can opt out of having a kernel. But this means
they'll appear separately in the documentation
2023-08-11 18:15:17 +01:00
Daniel Barlow
2a29a00dfe
much text, such doc, very wow
2023-08-09 22:27:37 +01:00
Daniel Barlow
4689cebf8d
fix illegal module options
2023-08-04 20:07:06 +01:00
Daniel Barlow
d7f3e05063
turn nftables firewall into a service-providing module
2023-07-16 17:51:50 +01:00
Daniel Barlow
682183a88d
move typeChecked into pkgs.liminix.lib
2023-07-14 20:22:29 +01:00
Daniel Barlow
bc27f121d9
/etc/ashrc for interactive non-login shells
2023-05-21 17:08:32 +01:00
Daniel Barlow
26c6eac937
delete config boot.tftp.enable as it doesn't enable anything
2023-04-26 22:18:23 +01:00
Daniel Barlow
4cfaed7303
specify root device as /dev/mtdblockn
...
the (openwrt?) magic that autodetects it based on mtd labels
won't work with a two-stage boot
2023-04-26 22:16:15 +01:00
Daniel Barlow
633a4f8003
move BLK_DEV_INITRD to base.nix
2023-04-10 22:57:50 +01:00
Daniel Barlow
42725f56f9
make jffs2 module provide o.rootfs, conditionally
...
it's enabled if config.rootfsType == "jffs2"
2023-04-10 20:01:58 +01:00
Daniel Barlow
a5cfa37ed3
unify kernel command line handling
...
We now use MIPS_CMDLINE_DTB_EXTEND for all boot varieties
(tftpboot, flash boot, kexec) with the addition of
MIPS_BOOTLOADER_CMDLINE_REQUIRE_COOKIE - local patch -
so that the bootloader args are ignored unless they
contain the string "liminix"
2023-03-23 22:24:44 +00:00
Daniel Barlow
4b19568f1b
add kexecboot
...
This allows booting a new image from a running OS, creating a
phram mtd for the root squashfs
* enable CONFIG_KEXEC
* add modules/kexecboot
* patch kexec-tools to add --map-file option for the squashfs
* patch kernel kexec code to call new kernel with DTB
2023-03-19 20:25:43 +00:00
Daniel Barlow
3c6ec354ce
move root's home directory to /home/root
...
/ is a bad choice of home directory
/home/root instead of /root is to make it easier to write
ssh keys to the right place
2023-03-18 14:46:50 +00:00
Daniel Barlow
e78d5212e6
move tftp config to base module
...
we need it for flashing from u-boot even when tftp booting
is not enabled
2023-03-18 14:45:51 +00:00
Daniel Barlow
225fc6fe51
configurable busybox
...
allows modules to add to the busybox applets and change config
2023-03-10 18:40:45 +00:00
Daniel Barlow
43f1fb230b
remove unrecoginsed earlyprintk param from kernel commandline
2023-03-10 00:50:28 +00:00
Daniel Barlow
fec77a44b5
DRY loopback interface, it's the same everywhere
2023-03-07 22:36:48 +00:00
Daniel Barlow
a3cdc32142
define structured options for config.users
2023-03-04 00:24:48 +00:00
Daniel Barlow
bbd699d7b1
add module for device-specific config
...
in principle this module declares the config that's defined in
devices/foo/default.nix
2023-03-03 20:04:39 +00:00
Daniel Barlow
0cd1bd99e1
declare device.flash options in base.nix
...
because they're specified in devices/*/default.nix
2023-03-02 23:28:39 +00:00
Daniel Barlow
6d191b73ae
add outputs.flashable - flashable firmware.bin
2023-03-02 23:01:26 +00:00
Daniel Barlow
adc198b3af
WIP push to see what passes
2023-03-01 22:24:58 +00:00
Daniel Barlow
41ff5a1fe6
move FW_LOADER* config to modules/base
2023-03-01 18:16:01 +00:00
Daniel Barlow
59ce03630a
consistent ownership/permissions for /run/service-state/**
2023-02-25 22:53:06 +00:00
Daniel Barlow
690cedf00d
better type for config.groups
...
instead of an attrset of anything, specify the expected
structure of each value
2023-02-25 20:33:18 +00:00
Daniel Barlow
751920c8fc
qemu: switch to building wireless as kernel modules
...
This is a hefty change
* add support for kernel backports project
* build wireless stack/drivers as modules from a backported kernel
* create a service to load/unload the modules
2023-02-22 18:41:41 +00:00
Daniel Barlow
e89fcfbf09
collect "device" options into an attrset
2023-02-22 18:31:46 +00:00
Daniel Barlow
4faf529dc3
define kernel MODULE_SIG everywhere
2023-02-22 18:20:56 +00:00
Daniel Barlow
817c3793d4
move dts config from kernel to boot
...
The kernel does not need to know about the DTS. I am prepared
to be very slightly injured on this hill.
2023-02-18 15:13:19 +00:00