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
Daniel Barlow
b878d6481a
the first rule of thought club
2023-12-11 19:09:19 +00:00
Daniel Barlow
601bb289ee
rename diskimage to mbrimage
2023-12-11 19:09:19 +00:00
Daniel Barlow
876bd7d8ce
rename flashimage to mtdimage
2023-12-11 19:09:18 +00:00
Daniel Barlow
39c338d710
rm vanilla-configuration-hw.nix, no longer needed
2023-12-11 19:09:18 +00:00
Daniel Barlow
6c8b2bbb83
add retries to wlan test
2023-12-10 18:35:14 +00:00
Daniel Barlow
4ddce6e926
fix the tests we broke
2023-12-10 17:12:57 +00:00
Daniel Barlow
5eeb277564
move output module imports example -> device
...
The outputs available are a characteristic of the device, not
the example.
2023-12-10 16:38:53 +00:00
Daniel Barlow
c81e7c4d35
move all output modules to subdirectory, trash standard.nix
...
standard.nix isn't, is the essence here. Not all devices
support flashimage as it is currently defined - some
have diskimage, some have neither
2023-12-10 15:23:12 +00:00
Daniel Barlow
53fed8839a
fix min-copy-closure for new run-liminix-vm syntax
2023-12-09 17:35:21 +00:00
Daniel Barlow
ebaa7b2bcb
unbreak fennel test
2023-12-09 17:10:41 +00:00
Daniel Barlow
15d570f749
ignore devices/families when extracting docs
2023-12-09 17:10:41 +00:00
Daniel Barlow
bb8e974c2b
hard thinking or hardly thinking
2023-12-09 17:10:41 +00:00
Daniel Barlow
317457f582
extract common config for qemu devices into module
2023-12-09 17:10:41 +00:00
Daniel Barlow
07e66c462b
use virtio-bk-pci instead of virtio-bk-device
...
u-boot is happy with either but Linux can autodetect the PCI-based
hardware
2023-12-09 15:53:40 +00:00
Daniel Barlow
4229b42d82
make config.hardware.dts.src nullable
...
This is for QEMU where we won't have to provide a dtb because the
device tree is built by the platform according the (emulated) hardware
present.
Maybe in future there will be other hardware devices where we
don't need to provide a dtb.
2023-12-09 15:51:30 +00:00
Daniel Barlow
03b17fa3ed
add zImage output
2023-12-07 22:31:26 +00:00
Daniel Barlow
a8891461aa
use devtmpfs in initramfs
...
static device nodes don't work with virtio
2023-12-07 20:03:03 +00:00
Daniel Barlow
5adfb0230f
WIP generate bootable disk image with partition table
2023-12-05 23:54:09 +00:00
Daniel Barlow
b519bd15df
pretty-print the qemu command line
...
well, pretty-ish
2023-12-05 17:32:18 +00:00
Daniel Barlow
f2daa0b669
exclude rootfs region from kernel-visible ram
2023-12-05 17:32:18 +00:00
Daniel Barlow
3f74fad966
don't double-json the command line
2023-12-05 17:32:18 +00:00
Daniel Barlow
ed925588f7
extract common code to make root filesystem hierarchy
...
which is then used by the filesystem image creators (ubifs, ext4,
jffs2 etc)
2023-12-05 17:32:18 +00:00
Daniel Barlow
f08c10c8ba
patch u-boot to add ubifs support
...
not that we're using it yet
2023-12-04 23:39:27 +00:00
Daniel Barlow
d25a804f13
test wlan iun armv7
2023-12-04 23:37:39 +00:00
Daniel Barlow
0242cec977
run-liminix-vm: remove unneeded second copy of pad code
2023-12-04 23:37:39 +00:00
Daniel Barlow
5a2963543e
thonk
2023-12-04 23:29:36 +00:00
Daniel Barlow
98d3336926
rewrite run-liminix-vm as a fennel program
...
the effect of shell quoting/word splitting rules was reaching
completely unreasonable, insofar as I was unable to reason about it
2023-12-03 22:51:39 +00:00
Daniel Barlow
cb6ebbdc60
alphabetize derivations in overlay
2023-12-02 17:08:59 +00:00
Daniel Barlow
bb335050fd
derivation that produces /boot
2023-12-02 15:31:55 +00:00
Daniel Barlow
395f624338
think
2023-12-02 15:31:09 +00:00
Daniel Barlow
e518ab667b
make job control work in console shell
2023-11-29 19:49:51 +00:00
Daniel Barlow
382128b6cf
omnia: make wan interface work
2023-11-28 21:38:45 +00:00
Daniel Barlow
c803772074
omnia: add hardware ethernet and switch config
2023-11-27 21:37:15 +00:00
Daniel Barlow
32c24f3809
switch pppoe test back to qemu mips
...
while we find out why it fails
2023-11-26 23:18:24 +00:00
Daniel Barlow
cc73a98419
support setting network device names
...
this means that net devices in devices/foo/default.nix can be
specified by their sysfs paths (instead of by "eth0" and "eth1" that
may change from one kernel version to the next) and given mnenomic
names that are helpful for the hardware. Like "wan" and "lan[1..4]"
2023-11-26 23:15:28 +00:00
Daniel Barlow
e2ea145ce5
wip
2023-11-26 22:43:56 +00:00
Daniel Barlow
b036a161f5
thonk
2023-11-26 22:43:31 +00:00
Daniel Barlow
31a2969972
omnia: add support for wifi
...
- ath9k and ath10k, both on PCI bus (which can be enumerated, hence
they don't need to be in device tree)
- need to disable PCIe ASPM for the ath9k to work
- appropriate firmware files added for ath10k
2023-11-26 13:25:01 +00:00
Daniel Barlow
76a370cc92
omnia kernel: add watchdog
...
it's enabled by u-boot so we need at least this minimal capability
otherwise the system reboots after three minutes
2023-11-26 13:07:44 +00:00
Daniel Barlow
bf9f264f0c
update TODO
2023-11-25 18:49:26 +00:00
Daniel Barlow
e35b61b68c
mac80211: support ath9k pci variant
...
if you ask for "ath9k" you get AHB, but if you ask for "atk9k_pci"
now you get PCI. Note that the kernel module name is the same in
both cases.
2023-11-25 18:39:15 +00:00
Daniel Barlow
a8f98ccfe7
use linuxArch instead of case statement
2023-11-25 18:16:20 +00:00
Daniel Barlow
27ce61ae4e
add bootable config for Turris Omnia
2023-11-24 23:29:12 +00:00
Daniel Barlow
3f0f621809
openwrt patches for mvebu (armv7l)
2023-11-24 22:43:58 +00:00
Daniel Barlow
b0ae314df4
stuff
2023-11-24 22:33:42 +00:00
Daniel Barlow
d789a23113
twiddle timeouts
2023-11-24 21:32:53 +00:00
Daniel Barlow
5ba14fd915
add levitate package
...
sets up a chroot system in tmpfs that will be executed on the next
reboot to enable system maintenance without the regular filesystems
mounted
2023-11-23 22:21:03 +00:00
Daniel Barlow
3df34428d6
remove unneeded login and getty applets
2023-11-23 20:01:13 +00:00
Daniel Barlow
62c788eb86
add hook to run maintenance mode instead of rebooting
2023-11-22 00:05:55 +00:00
Daniel Barlow
bab6d346a8
add .../s6/bin to PATH for shutdownd
2023-11-22 00:05:03 +00:00
Daniel Barlow
a202ae476a
extract console redirection stuff from "quit" function
...
so we can use it for scripts that don't reboot at their end
2023-11-21 23:32:37 +00:00
Daniel Barlow
7c9297f91d
use shotdown instead of hpr in .s6-svscan/SIGFOO
...
this is to bring them into line with what more recent
s6-init-linux-maker creates
2023-11-21 23:19:00 +00:00
Daniel Barlow
a0bd250963
switch from getty to root shell on console
...
this just makes things marginally simpler
2023-11-21 23:09:48 +00:00
Daniel Barlow
c8b2d58dd3
exit 0 on service down even if no outputs to delete
2023-11-21 17:25:50 +00:00
Daniel Barlow
e5223f093f
kernel.src may be a path not just a package
...
this makes it easier to hack the kernel locally and test things
2023-11-18 14:21:18 +00:00
Daniel Barlow
c563a6451f
add missing param
2023-11-18 14:20:59 +00:00
Daniel Barlow
f45326b9d3
why we decided not to depend on kexec
2023-11-18 11:51:57 +00:00
Daniel Barlow
f9f4d97bb8
convert flash params to int
2023-11-12 20:39:06 +00:00
Daniel Barlow
abfb35a231
and entryPoint
2023-11-12 18:50:47 +00:00
Daniel Barlow
315907de98
convert hardware loadAddress to int
2023-11-12 18:47:31 +00:00
Daniel Barlow
185117843b
convert tftp.loadAddress from string to int
2023-11-12 18:37:33 +00:00
Daniel Barlow
0131686661
use parseInt for hex values
2023-11-12 18:25:38 +00:00
Daniel Barlow
3da692f7ef
don't import flashimage unconditionally, it breaks qemu
2023-11-12 18:11:13 +00:00
Daniel Barlow
f61e737b54
improve doc for outputs and hardware
...
Changed my mind about "installer" as a first-class concept, at least
in the current implementation. Not every documented output is an
installer
2023-11-12 17:15:58 +00:00
Daniel Barlow
262efaabe6
doc: put all the u-boot/serial stuff in one place to link from
2023-11-12 17:14:33 +00:00
Daniel Barlow
7cfb92e3ce
more doc
2023-11-10 21:17:20 +00:00
Daniel Barlow
22882dabee
think
2023-11-10 21:10:26 +00:00
Daniel Barlow
5e046490de
support links from device pages to their installation methods
2023-11-09 23:02:35 +00:00
Daniel Barlow
a9760d239c
basic doc for flashimage installer
2023-11-09 22:43:50 +00:00
Daniel Barlow
5729cfb4a7
document installation methods (only vmroot yet)
2023-11-09 22:14:31 +00:00
Daniel Barlow
7d5c7b9b44
export evaluation from default.nix and use it for docs
2023-11-09 22:14:31 +00:00
Daniel Barlow
23b3a2baef
extract vmroot output into its own file
2023-11-08 23:19:11 +00:00
Daniel Barlow
4cb4f904f8
delete unused kconfig for arm qemus
2023-11-08 21:28:12 +00:00
Daniel Barlow
a9d847e2c0
add ext4 as rootfsType
2023-11-06 21:52:31 +00:00
Daniel Barlow
6bbff2f5b3
think think
2023-11-05 23:39:50 +00:00
Daniel Barlow
5c1f5fabe2
switch pppoe test to use armv7l
2023-11-05 23:19:40 +00:00
Daniel Barlow
6489a39424
qemu armv7
2023-11-05 23:19:11 +00:00
Daniel Barlow
c94d12934f
remove direct use of run-liminix-vm from tests and doc
2023-11-05 20:37:23 +00:00
Daniel Barlow
c40eef25d6
qemu: use phram instead of block2mtd
2023-11-05 19:13:51 +00:00
Daniel Barlow
46991e2761
aarch64 ram starts at 0x40000000
2023-11-05 15:33:10 +00:00
Daniel Barlow
a135cb1217
introduce lim, the liminix library
...
so far we have lim.parseInt, which parses an integer from a string
with optional base-selecting-prefix (e.g. 0755, 0x12ab)
2023-11-05 15:13:06 +00:00
Daniel Barlow
863045b86b
added hardware.ram.startAddress config
...
it's not 0 on arm32, so this will be useful for qemu
2023-11-05 15:11:58 +00:00
Daniel Barlow
629624bb25
replace multiway if with pkgs.stdenv.hostPlatform.qemuArch
2023-11-05 11:40:26 +00:00
Daniel Barlow
92b9bf959e
options.system.outputs.initramfs -> initramfs module
2023-11-05 11:33:02 +00:00
Daniel Barlow
c5c5f1687a
patch qemu to load uncompressed ARM kernels at correct offset
2023-11-05 11:32:47 +00:00
Daniel Barlow
80793aa694
belkin rt3200 is a ubifs device
2023-11-05 11:32:23 +00:00
Daniel Barlow
824536f9b3
in uimage FIT, honour ${arch}
2023-11-05 11:31:28 +00:00
Daniel Barlow
e6cb5e319b
extract NETDEVICES kconfig to kernel.nix module
2023-11-05 11:31:23 +00:00
Daniel Barlow
c3ccee6506
preinit: print errno (in hex, it's easier) for failures
2023-11-05 11:27:57 +00:00
Daniel Barlow
6db982f25f
preinit: pause before exiting
...
as explained in the comment, this is to give us a
chance to see error messages before the kernel panics
2023-11-05 11:27:57 +00:00
Daniel Barlow
86a5224f3c
preinit: fix compiler warnings
2023-11-05 11:27:43 +00:00
Daniel Barlow
155a29d9b3
preinit: strip trailing newline(s) on /proc/cmdline
2023-11-05 11:27:34 +00:00
Daniel Barlow
e6ef4f78bb
"ubimage" module contains ubifs image + instructions
...
Presently either you run this from U-Boot or you figure out for
yourself how to kexecboot into a recovery system :-)
2023-10-21 23:20:53 +01:00
Daniel Barlow
d2f517a4e9
preinit.c: reindent
2023-10-19 21:02:18 +01:00
Daniel Barlow
0f38ee0e9c
remove PREINIT_USE_LIBC option as it is now the only option
2023-10-19 18:59:02 +01:00
Daniel Barlow
61dc5beca8
preinit: parse rootfstype from kernel command line
2023-10-19 18:56:09 +01:00
Daniel Barlow
f3225c2bd5
delete dup outputs.systemConfiguration
...
perhaps this should go into initramfs.nix not jffs2.nix
2023-10-19 10:09:08 +01:00
Daniel Barlow
8798ee9830
partial fix for timeout handling
...
1) "Unknown transfer id" message was because the local variable "tid"
is not a transfer id, it is a sequence number - so the check was
actually comparing expected vs actual acknowledged sequence number,
not TID. It's still a problem if we get the wrong one, but it
indicates a lost packet (so we should resend) not a packet that was
sent from somewhere else.
2) if the ACK packet has not been received, our retry should involve
_resending_ it, not just trying to wait for it again.
3) I have removed the timeout condition for terminating the resend
loop, because in practice (assuming both ends have the same timeout
setting) all it did was ensure that the loop only ran once. The
timeout is supposed to regulate how long we wait for before retrying
(it doesn't do this, we wait indefinitely), not how long we wait for
before giving up.
2023-10-18 23:35:23 +01:00