You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
updated to be more like dracut in how it runs, made cpio required, warn about cpio chown errors and changed the cmdline args to allow specifying the output file
Copy file name to clipboardExpand all lines: readme.md
+16-18Lines changed: 16 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -24,10 +24,14 @@ To install `ugrd`, clone the repo and run `pip install .`, setting `--break-syst
24
24
25
25
Once installed, either set the config file in `/etc/ugrd/config.toml`, or pass it to the script:
26
26
27
-
`ugrd example_config.toml`
27
+
`ugrd -c example_config.toml`
28
28
29
29
> Debug mode can be enabled with `-d` or verbose debugging with `-dd`
30
30
31
+
The last argument is the output file, which can be a path:
32
+
33
+
`ugrd /boot/ugrd.cpio`
34
+
31
35
## Runtime usage
32
36
33
37
`ugrd` runs the `init` script generated in the build dir. In cases where `agetty` is needed, most of the work is done in `init_main.sh`.
@@ -57,7 +61,7 @@ Modules write to a shared config dict that is accessible by other modules.
57
61
58
62
#### base.base
59
63
60
-
> The main module, mostly pulls basic binaries and pulls the `core`and `mounts` modules
64
+
> The main module, mostly pulls basic binaries and pulls the `core`, `mounts`, and `cpio` module.
61
65
62
66
*`shebang` (#!/bin/bash) sets the shebang on the init script.
63
67
@@ -70,6 +74,14 @@ Modules write to a shared config dict that is accessible by other modules.
70
74
*`binaries` is a list used to define programs to be pulled into the initrams. `which` is used to find the path of added entries, and `lddtree` is used to resolve dependendies.
71
75
*`paths` is a list of directores to create in the `build_dir`. They do not need a leading `/`.
72
76
77
+
#### base.cpio
78
+
79
+
This module handles CPIO creation.
80
+
81
+
*`out_file` (ugrd.cpio) Sets the name of the output file, under `out_dir` unless a path is defined.
82
+
*`cpio_list_name` (cpio.list) Sets the name of the cpio list file for `gen_init_cpio`
83
+
*`mknod_cpio` (true) Only create devicne nodes within the CPIO.
84
+
73
85
##### symlink creation
74
86
75
87
Symlinks are defined in the `symlinks` dict. Each entry must have a name, `source` and `target`:
0 commit comments