Samuel Dionne-Riel
bdee7cf0e0
boot/init: Removes SingletonTask special dependency
...
Instead, rely on targets.
Additionally removes the "Boot" special dependency which only made sense
when it was expected that having no dependency was an error.
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
046dcdc8ea
boot/init: Register singleton tasks only once
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
fad472bd06
initrd: Removes dead code from initrd-kernel
...
This already is part of boot/init
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
368bc33019
initrd: Implement loop with a task
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
7f0ba7de38
initrd: Remove framebuffer options
...
This is now all moved to boot/init tasks.
Furthermore, I don't think we ever want to *disable* starting the
framebuffer stuff. What's really needed is detecting *what kind* of
graphics subsystem to use, and this can't happen at eval time.
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
b5e3397783
(broken) removes initrd-order
...
This allows my staging area to become a bit cleaner.
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
56cdb1abca
initrd: Implement shell with a task
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
62b7b47117
boot/init: Add System.spawn
porcelain
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
0361ccad00
init: Allow adding tasks to boot/init
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
687a100da4
quirks: Implement qualcomm framebuffer quirks as tasks
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
4c40fa259f
initrd: Removed telnet
...
It wasn't used either
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
e032363fc5
qemu-x86_64: remove dependency on initrd-order
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
2a9ff72358
initrd: Review splash to only embed images
...
This still needs to be somewhat re-thought
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
5b13d6b4a8
initrd: minor cleanup
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
2deed250eb
initrd: Remove initrd-udev
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
2185771cba
initrd: Remove stage-2
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
9119ea40f9
initrd: Remove nc shell
...
This wasn't really used anyway...
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
12918e0f58
initrd: Remove logger module
...
This, anyway, needs to be re-thought entirely with the new init.
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
3f6d523e51
initrd: Removes growpart module
...
This needs to be re-done entirely.
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
a81afccbb8
cleanup: Move initrd-fail settings in boot/init
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
d93f0387f6
cleanup: remove initrd-devices
...
It has been reimplemented in boot/init
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
a6f2195921
boot/init: Return the symlink itself for the generation
...
Reading the symlink gives a relative path. That's no good in this case.
There is no actual need to resolve the symlink.
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
01e298eafc
boot/init: Make failure to splash not fatal
...
That is, some devices, notable google-walleye, fail to show the splash
for yet unknown reasons.
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
30dd9259af
boot/init: Fixup bug with System,pretty_command change
...
The prettified command ended up missing from the debug log.
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
b887db59c5
boot/init: Add SwitchRoot task
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
75454e4ba5
boot/init: Add System.exec and System.which
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
962b36ec97
boot/init: Implements Target tasks
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
6234128c00
boot/init: misc cleanups
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
36ec2f0bf9
rootfs: autoResize here rather than hardcoded in initrd
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
3c9b5057c0
boot/init: Handles generic mounting
...
This implements reading the configuration to know about mount points.
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
aa8e5f22bf
initrd: Use same mounting logic as NixOS
...
Well, at least the same data for the mounting logic
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
eb15a159de
boot/init: Fixup bug in mount task
...
Welp, == != = !
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
b804ca6c5f
boot/init: Adds graphical failure
...
Though, not sure I exactly like the way it's done here.
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
d4571cf9aa
boot/init: Use boot.specialFileSystems
...
This is an internal configuration from NixOS. This is what is used by
the NixOS stage-1 to mount the special filesystems.
It would be dumb not to rely on the same!
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
de9ca16934
boot/init: udev depends on /sys too
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
7eb1f81b3e
boot/init: Allow passing options to System.mount
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
c54aa77911
boot/init: Add Proc tasks
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
694513d9f0
boot/init: Adds missing dependency on /dev
...
Though, this is only *incidental* in that for using the framebuffer the
/dev/ mount point needs to exist for /dev/fb0 to exist.
The Graphics step will succeed without that, but users of the Graphics
step might not.
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
62b48d2077
boot/init: Make udev depend on mounts
...
Rather than cheating with files inside the mount points
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
3550d694b3
boot/init: Allow a task to depend on a mount point being mounted
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
741b3f3fa7
boot/init: Minor logging rewording
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
8b4ae5b2fc
boot/init: Logger is configurable
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
971a7241f6
boot/init: fulfilled -> fulfilled?
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
555548d3f4
boot/init: Review how configuration is loaded and used
...
This way it can be used at any time, regardless of execution state, as
long as the Configuration module has been parsed.
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
952183b400
initrd: Re-instate shelling-out / shell location
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
1d8d4c8f52
initrd: Add configuration file for boot/init
...
This allows a single boot/init build to be re-used across devices, and
more importantly, across rebuilds when only configuration changes.
This also removes the need to hardcode some annoying paths that are
better served through configuration, to their natural store paths.
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
83df40bc40
boot/init: Add task to load modules
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
fbe905b266
initrd-kernel: Pre-seed symlinks for modules and firmwares
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
24f99c593b
boot/init: Rework of task mount
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
d072e6395c
boot/init: Use configuration for mount point
2020-02-03 16:19:10 -05:00