diff options
author | Andrew Cady <d@cryptonomic.net> | 2021-01-18 20:55:16 -0500 |
---|---|---|
committer | Andrew Cady <d@cryptonomic.net> | 2021-01-18 20:55:16 -0500 |
commit | 5887a55c5d329fba01c167a5dbd4aa3b4e12d253 (patch) | |
tree | b5e5b84aeaa1fcc96a4a325674d96e242ba21cb9 /src/partvi | |
parent | fd4301803d257ed5476a618e93aba81e9a0c0081 (diff) |
loads linux kernel, panics unpacking initrd
Diffstat (limited to 'src/partvi')
-rwxr-xr-x | src/partvi | 56 |
1 files changed, 47 insertions, 9 deletions
@@ -2,6 +2,41 @@ | |||
2 | shopt -s nullglob | 2 | shopt -s nullglob |
3 | PATH=/sbin:$PATH | 3 | PATH=/sbin:$PATH |
4 | 4 | ||
5 | : ${GRUB_CONFIG:=../conf/grub.cfg} | ||
6 | samizdat_linux_dir=/ | ||
7 | |||
8 | if [ ! "$GPG_INPUT_DIR" ] | ||
9 | then | ||
10 | for d in $GPG_INPUT_DIR /root/.gnupg /cdrom/gnupghome | ||
11 | do | ||
12 | $sudo [ -d "$d" ] || continue | ||
13 | GPG_INPUT_DIR=$d | ||
14 | break | ||
15 | done | ||
16 | fi | ||
17 | |||
18 | |||
19 | add_initrd() | ||
20 | { | ||
21 | initrd_suffix=.samizdat | ||
22 | $sudo mkdir -p "$mnt"/linux | ||
23 | $sudo rsync -aL --info=STATS "${1}vmlinuz${2}" "$mnt"/linux/vmlinuz | ||
24 | $sudo rsync -aL --info=STATS "${1}initrd.img${2}${2:+$initrd_suffix}" "$mnt"/linux/initrd.img | ||
25 | } | ||
26 | |||
27 | add_grub_cfg() | ||
28 | { | ||
29 | $sudo mkdir -p "$mnt"/grub | ||
30 | $sudo cp -aL "$GRUB_CONFIG" "$mnt"/grub | ||
31 | } | ||
32 | |||
33 | install_boot_dir() | ||
34 | { | ||
35 | local mnt="$1" | ||
36 | add_grub_cfg | ||
37 | add_initrd "$samizdat_linux_dir"/ "${version_suffix}" | ||
38 | } | ||
39 | |||
5 | msg() { printf '%s: %s: %s\n' "$0" "$1" "$2" >&2; } | 40 | msg() { printf '%s: %s: %s\n' "$0" "$1" "$2" >&2; } |
6 | die() { msg Error "${*:-Exiting on fatal error.}"; exit 1; } | 41 | die() { msg Error "${*:-Exiting on fatal error.}"; exit 1; } |
7 | warn() { msg Warning "${*:-Something is wrong.}"; } | 42 | warn() { msg Warning "${*:-Something is wrong.}"; } |
@@ -97,8 +132,8 @@ build_partition_image() | |||
97 | esac | 132 | esac |
98 | 133 | ||
99 | case "$type" in | 134 | case "$type" in |
135 | bios-grub) ;; | ||
100 | efi-system-partition) mkfs.fat -F 32 -I "$tmp" || die "mkfs.vfat failed" ;; | 136 | efi-system-partition) mkfs.fat -F 32 -I "$tmp" || die "mkfs.vfat failed" ;; |
101 | bios-grub) ;; # mkfs.fat -F 32 -I "$tmp" || die "mkfs.vfat failed" ;; | ||
102 | boot|samizdat-keys) mkfs.btrfs -q "$tmp" || die "mkfs.btrfs failed" ;; | 137 | boot|samizdat-keys) mkfs.btrfs -q "$tmp" || die "mkfs.btrfs failed" ;; |
103 | dm-verity-data) | 138 | dm-verity-data) |
104 | partuuid=${root_hash:0:32} | 139 | partuuid=${root_hash:0:32} |
@@ -296,20 +331,23 @@ do | |||
296 | require_var type | 331 | require_var type |
297 | case "$type" in | 332 | case "$type" in |
298 | dm-verity-hashes|partition-table|bios-grub) ;; | 333 | dm-verity-hashes|partition-table|bios-grub) ;; |
299 | efi-system-partition|boot) | 334 | efi-system-partition|boot|samizdat-keys) |
300 | mkdir -p "$mnt" | 335 | mkdir -p "$mnt" |
301 | loudly $sudo mount "$dev" "$mnt" | 336 | loudly $sudo mount "$dev" "$mnt" |
302 | 337 | ||
303 | if [ "$type" = 'boot' ] | 338 | case "$type" in |
304 | then | 339 | boot) |
305 | BOOT_DIR=$mnt | 340 | BOOT_DIR=$mnt |
306 | else | 341 | install_boot_dir "$mnt" |
342 | ;; | ||
343 | samizdat-keys) | ||
344 | $sudo rsync -a --info=STATS "$GPG_INPUT_DIR"/ "$mnt"/gnupghome/ | ||
345 | ;; | ||
346 | efi-system-partition) | ||
307 | EFI_DIR=$mnt | 347 | EFI_DIR=$mnt |
308 | fi | 348 | ;; |
349 | esac | ||
309 | ;; | 350 | ;; |
310 | *) mkdir -p "$mnt" | ||
311 | loudly $sudo mount "$dev" "$mnt" | ||
312 | ;; | ||
313 | *) notice "Not mounting $name" ;; | 351 | *) notice "Not mounting $name" ;; |
314 | esac | 352 | esac |
315 | done | 353 | done |