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
Samuel Dionne-Riel
dea888833a
boot/init: misc. cleanups
...
Mostly removed useless dirs...
Also fixed the hardcoded mountpoint.
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
583f555f81
boot/init: Now loads configuration file
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
8353f7ea79
boot/init: Minor rework of udev task
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
a6bb2aa3a7
boot/init: Fix printing debug info for unfulfilled Files
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
5208741f3c
boot/init: Fix pretty printing shelled out commands
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
293d949648
boot/init: Print mkdir_p for debug
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
9f416471f7
boot/init: Add udevd task
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
4d0c1218f0
boot/init: Guard against global environment pollution
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
d4123fd3e2
boot/init: Allows a task to depend on a specific instance of Task
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
b3e1f2dbac
boot/init: Import all tasks, yet allow adding tasks
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
df8cafe832
boot/init: Better tracing in dependencies
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
2a366b2cae
initrd: Allow redirecting output to /dev/kmsg
...
Though this is a bit buggy and less than ideal.
A better solution would be a custom wrapper that only handles
redirecting. This is, anyway, something that would be required to
redirect all logging to all consoles.
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
cbd31a49ce
initrd: Allows wrapping init with strace
...
That wrapper script may be used with other helpers in the future.
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
60a92acbe8
boot/init: Continuously improving POC
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
39d44bf64c
boot/init: Continuing extremly POC
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
9d9700cbaf
boot/init: Build interpreter with more gems
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
8f01d54b25
boot/init: Load all libraries
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
6f25c1ee3b
boot/init: Import ruby shellwords
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
e48bc514c6
init: Extremely WIP POC
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
228df26d6c
initrd: Refactors module for new init
...
New init coming in a separate commit
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
1e21263c7e
mkbootimg: Fix build with compiler updates
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
3dacbdeb26
mrbgems: Cleanup + licenses
2020-02-03 16:19:10 -05:00