Samuel Dionne-Riel
6692f6d6f4
boot/init: Use the new error reporting applet
2020-03-09 19:45:49 -04:00
Samuel Dionne-Riel
b2f4aecdd4
boot/error: Init error reporting applet
2020-03-09 19:44:27 -04:00
Samuel Dionne-Riel
c35116cdcd
boot/init: Use the new boot/splash applet
2020-03-09 17:34:31 -04:00
Samuel Dionne-Riel
426f31113d
boot/splash: Init splash applet
2020-03-09 17:31:03 -04:00
Samuel Dionne-Riel
8fad3b296e
boot/gui: Use mruby that will splice
...
Using `loader.mruby` will not splice :(
2020-03-08 17:05:15 -04:00
Samuel Dionne-Riel
9c8e1f7d17
boot/gui: Fix console restoring on exit
2020-03-08 17:05:15 -04:00
Samuel Dionne-Riel
a083acef55
boot/gui: Use newly split script loader in simulator
2020-03-01 23:27:56 -05:00
Samuel Dionne-Riel
12c9d29f58
boot/init: Use the newly split script-loader
2020-03-01 23:27:56 -05:00
Samuel Dionne-Riel
11897bcdb6
boot/script-loader: Split into its distinct package
2020-03-01 22:21:31 -05:00
Samuel Dionne-Riel
8594a19538
boot/gui: Use the loader's mruby build
...
It doesn't change the mrbc end-result.
2020-03-01 22:02:45 -05:00
Samuel Dionne-Riel
e1e1333669
boot/gui: Workaround unexplained issue
...
It seems that `mruby-time-strftime` here is causing the garbage
collector to fail in strange ways *only* in the simulator.
It's all fine in QEMU and on hardware.
2020-03-01 22:02:19 -05:00
Samuel Dionne-Riel
804182854a
boot/gui: Properly dry run commands on simulator
2020-03-01 17:29:30 -05:00
Samuel Dionne-Riel
660804cdf7
boot-gui-simulator: init package
2020-03-01 17:28:50 -05:00
Samuel Dionne-Riel
5e88e7efcf
boot/gui: Allow running without generations file
...
This should *maybe* remove the Generations tab, as it's empty.
2020-03-01 16:58:39 -05:00
Samuel Dionne-Riel
ac95c64c92
boot/gui: Fix bad arguments handling for simulator
2020-03-01 16:58:07 -05:00
Samuel Dionne-Riel
20f2cbcc56
init: Interrupt boot when some keys are held.
2020-02-29 16:10:00 -05:00
Samuel Dionne-Riel
2b2d2ad7ea
boot/applets: Add key-held utility
2020-02-29 16:10:00 -05:00
Samuel Dionne-Riel
d79466747d
boot/init: Launch boot GUI when asked
2020-02-29 16:10:00 -05:00
Samuel Dionne-Riel
584c484d0c
boot/gui: Init boot GUI
2020-02-28 23:14:09 -05:00
Samuel Dionne-Riel
3b9d04d3bd
stage-1: workaround issue with e2fsck successfully failing
2020-02-28 23:14:09 -05:00
Samuel Dionne-Riel
26b4215547
boot/init: Add newly required dependencies
2020-02-28 23:14:09 -05:00
Samuel Dionne-Riel
68e4c2b7f3
boot/init: Split interpreter from script
...
This needs the following commits where the init script will now tell the
loader to load init.mrb
2020-02-28 23:14:09 -05:00
Samuel Dionne-Riel
95016e1250
boot/init: Add autoResize support
2020-02-03 21:58:22 -05:00
Samuel Dionne-Riel
7e9a7875ac
boot/init: Mark as 0.1
2020-02-03 21:58:22 -05:00
Samuel Dionne-Riel
c4f76db65f
boot/init: Handle remounting existing mounts
...
This is used to ensure mount points are mounted with the right options,
if for some reason they were already mounted.
Reasons they could be mounted? They could have been required for things
like logging the boot.
2020-02-03 21:58:21 -05:00
Samuel Dionne-Riel
8962b595f5
boot/init: brown sad phone on main failure
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
d349e66554
boot/init: Use System#shell
if available on failure
...
When it is available, it is assumed it is okay to use.
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
67f907c952
initrd: System.write for login environment tasks
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
75020873c8
initrd: System.write for graphics tasks
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
462a3ae2e7
boot/init: System.write for hard reboot
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
4f83d41d33
boot/init: Add System.write
alias
...
This does the same thing as `File.write`, but with debug logging.
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
cd963d2b59
boot/init: Allow crashing to bootloader
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
a1e3d231be
boot/init: Handle exception to flush logs
...
Otherwise, it somehow happened that the messages were truncated before
the kernel panic.
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
c868bcea46
boot/init: Add network interface dependencies
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
711a521f54
boot/init: Allows dependencies as an OR
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
15964966b6
boot/init: Mounts will only wait for absolute paths
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
e41e35a84b
boot/init: Fix mounting special filesystems with devices
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
6354a156dd
boot/init: Add Dir.children monkey patch
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
cd74c94fde
boot/init: De-hardcode /mnt
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
7dff001d75
boot/init: Prefer running UX tasks first
...
This ensures graphical progress is shown ASAP when dependencies are
equally likely to run.
Otherwise, when the graphical step was ready, and switchroot about to
run, the shell step could run before the splash. This means that, in
practice, a long running task like e2fsck could have prevented the
splash to show. It doesn't make sense to make the other tasks depend on
a splash task!
There is no intention to implement any other special-cased ordering. If
there is the need to, it might mean that there is a deficiency in the
design.
2020-02-03 16:19:10 -05:00
Samuel Dionne-Riel
a3c8cd78e8
boot/init: Sort tasks before running them
...
This is partly to reduce the amount of loops it needs to run, but mainly
to control the order rather than rely on the order they were added in.
The control of order seems weird in a dependency-based system, but it'll
be used mainly for one thing in the next commit...
2020-02-03 16:19:10 -05:00
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
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
a81afccbb8
cleanup: Move initrd-fail settings 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