|
16 | 16 | blkid |
17 | 17 | findmnt |
18 | 18 |
|
19 | | - echo "ENABLE=no" > /etc/sysconfig/framebuffer |
20 | | - |
21 | 19 | tee /etc/initrd.mk <<-EOF |
| 20 | + IMAGEFILE = /boot/initrd-\$(KERNEL)\$(IMAGE_SUFFIX).img |
22 | 21 | AUTODETECT = all |
23 | 22 | `[ ! -f /etc/initrd.mk.addon ] || cat /etc/initrd.mk.addon` |
24 | 23 | EOF |
25 | 24 |
|
26 | | - kver="$(readlink -ev /boot/vmlinuz)" |
27 | | - kver="${kver##*/vmlinuz-}" |
| 25 | + grub_install="$( for f in grub-install grub2-install; do type -P "$f" && break; done )" |
| 26 | + grub_mkconfig="$( for f in grub-mkconfig grub2-mkconfig; do type -P "$f" && break; done )" |
| 27 | + grub_bootdir="$( find /boot -type d \( -name 'grub' -o -name 'grub2' \) )" |
| 28 | + grub_params="/etc/sysconfig/grub2" |
| 29 | + |
| 30 | + kver="$(find /lib/modules -mindepth 1 -maxdepth 1 -printf '%f\n' -quit)" |
| 31 | + |
| 32 | + export PATH="/srv/.build/dest/usr/sbin:/srv/.build/dest/usr/bin:$PATH" |
28 | 33 |
|
29 | 34 | env -i PATH="$PATH" \ |
30 | 35 | /srv/.build/dest/usr/sbin/make-initrd -k "$kver" |
|
34 | 39 | echo; echo; |
35 | 40 | echo 'IT WORKS!' |
36 | 41 | echo; echo; |
37 | | - exec reboot |
| 42 | + exec systemctl reboot |
38 | 43 | EOF |
39 | 44 | chmod +x /sbin/init.once |
40 | 45 |
|
41 | | - tee -a /etc/inittab <<-EOF |
42 | | - z0:3:once:/sbin/init.once |
43 | | - EOF |
44 | | - |
45 | 46 | tee -a /usr/lib/systemd/system/init-once.service <<-EOF |
46 | 47 | [Unit] |
47 | 48 | Description=Make-initrd target |
|
59 | 60 | WantedBy=sysinit.target |
60 | 61 | EOF |
61 | 62 |
|
62 | | - systemctl enable init-once ||: |
| 63 | + systemctl enable init-once |
63 | 64 |
|
64 | | - tee -a /etc/sysconfig/grub2 <<-EOF |
65 | | - GRUB_CMDLINE_LINUX_DEFAULT='console=ttyS0,115200n8 fastboot @CMDLINE@' |
| 65 | + tee -a "$grub_params" <<-EOF |
| 66 | + GRUB_CMDLINE_LINUX_DEFAULT='console=ttyS0,115200n8 @CMDLINE@' |
66 | 67 | GRUB_TIMEOUT=3 |
67 | 68 | GRUB_TERMINAL_INPUT='serial console' |
68 | 69 | GRUB_TERMINAL_OUTPUT='serial console' |
69 | 70 | GRUB_SERIAL_COMMAND='serial --unit=0 --speed=115200' |
70 | 71 | EOF |
71 | 72 |
|
72 | | - if ! blkid -L "EFI" >/dev/null; then |
73 | | - bootdev=$(findmnt -k -no SOURCE -T /boot) |
74 | | - syspath="$(readlink -ev "/sys/class/block/${bootdev#/dev/}")" |
75 | | - syspath="${syspath%/*}/uevent" |
76 | | - bootdev="$(sed -n -e 's,^DEVNAME=,/dev/,p' "$syspath")" |
| 73 | + bootdev=$(findmnt -k -no SOURCE -T /boot) |
| 74 | + syspath="$(readlink -ev "/sys/class/block/${bootdev#/dev/}")" |
| 75 | + syspath="${syspath%/*}/uevent" |
| 76 | + bootdev="$(sed -n -e 's,^DEVNAME=,/dev/,p' "$syspath")" |
77 | 77 |
|
78 | | - grub-install "$bootdev" |
79 | | - else |
| 78 | + if blkid -L "EFI" >/dev/null; then |
80 | 79 | strace -e %file efibootmgr ||: |
81 | | - grub-install \ |
| 80 | + "$grub_install" \ |
82 | 81 | --root-directory "/" \ |
83 | 82 | --boot-directory "/boot" \ |
84 | | - --efi-directory "/boot/efi" \ |
| 83 | + --efi-directory "/boot/efi" \ |
85 | 84 | # |
| 85 | + else |
| 86 | + "$grub_install" "$bootdev" |
86 | 87 | fi |
87 | 88 |
|
88 | | - grub-mkconfig -o /boot/grub/grub.cfg |
| 89 | + "$grub_mkconfig" -o "$grub_bootdir/grub.cfg" |
| 90 | + |
| 91 | + cat "$grub_params" |
| 92 | + { |
| 93 | + find /boot \! -type d -printf '%M %p\n' |
| 94 | + find /boot -type l -printf '%M %p -> %l\n' |
| 95 | + } | sort -t\ -k1,1 |
89 | 96 |
|
90 | 97 | umount /proc /sys /dev |
91 | 98 | %end |
0 commit comments