Skip to content
Snippets Groups Projects
Unverified Commit 536264ba authored by Clayton Craft's avatar Clayton Craft :speech_balloon:
Browse files

main/postmarketos-initramfs: new aport (MR 3895)

This package contains base file and module lists for the initramfs /
initramfs-extra archives, along with the init.sh

The primary reason for doing this is so that changes to these
files/lists can be properly versioned (in pkgver), and (re)building
mkinitfs itself is no longer required for these changes.

- Add base file list for initramfs. The dirs at path
  /usr/share/postmarketos-mkinitfs/* are "new" in mkinitfs 2.0

- Install default modules to /usr/share

- Install system config to /usr/share/mkinifs

- Add base files for -extra archive

- Create user config dirs

- Update hook dirs in init.sh, change from mkinitfs 2.0

- Remove splash images, obsolete since pbsplash

- Support uncompressed initramfs-extra
parent 5a01a676
No related branches found
No related tags found
No related merge requests found
......@@ -20,6 +20,8 @@ sh_files="
./main/postmarketos-installkernel/installkernel-pmos
./main/postmarketos-mkinitfs/init.sh
./main/postmarketos-mkinitfs/init_functions.sh
./main/postmarketos-initramfs/init.sh
./main/postmarketos-initramfs/init_functions.sh
./main/postmarketos-mkinitfs-hook-debug-shell/20-debug-shell.sh
./main/postmarketos-mkinitfs-hook-netboot/netboot.sh
./main/postmarketos-update-kernel/update-kernel.sh
......
dm_crypt
ext4
crc32c_generic
usb_f_rndis
f2fs
xts
libaes
aes
evdev
btrfs
vfat
nls_ascii
nls_cp437
nls_iso8859_1
nls_utf8
/bin
/boot
/dev
/etc
/lib
/proc
/sbin
/sys
/sysroot
/tmp
/usr
/bin/busybox
/bin/busybox-extras
/bin/sh
/etc/deviceinfo
/usr/bin/unudhcpd
/usr/sbin/kpartx
/usr/sbin/telnetd
/usr/share/mkinitfs/init.sh:/init
/usr/share/mkinitfs/init_functions.sh:/init_functions.sh
/lib/libz.so.1
/sbin/btrfs
/sbin/dmsetup
/sbin/e2fsck
/usr/sbin/parted
/usr/sbin/resize2fs
/usr/sbin/resize.f2fs
# Maintainer: Oliver Smith <ollieparanoid@postmarketos.org>
# Co-Maintainer: Clayton Craft <clayton@craftyguy.net>
pkgname=postmarketos-initramfs
pkgver=1.0.0
pkgrel=0
pkgdesc="Base files for the postmarketOS initramfs / initramfs-extra"
url="https://postmarketos.org"
depends="
busybox-extras
btrfs-progs
bzip2
cryptsetup
device-mapper
e2fsprogs
e2fsprogs-extra
f2fs-tools
lz4
multipath-tools
parted
postmarketos-fde-unlocker
postmarketos-mkinitfs
unudhcpd
xz
"
source="
00-default.modules
00-initramfs-base.dirs
00-initramfs-base.files
00-initramfs-extra-base.files
init.sh
init_functions.sh
"
arch="noarch"
license="GPL-2.0-or-later"
package() {
install -Dm644 "$srcdir/init_functions.sh" \
"$pkgdir/usr/share/mkinitfs/init_functions.sh"
install -Dm755 "$srcdir/init.sh" \
"$pkgdir/usr/share/mkinitfs/init.sh"
install -Dm644 "$srcdir"/00-initramfs-base.dirs \
-t "$pkgdir"/usr/share/mkinitfs/dirs/
mkdir -p "$pkgdir"/etc/mkinitfs/dirs
install -Dm644 "$srcdir"/00-default.modules \
-t "$pkgdir"/usr/share/mkinitfs/modules/
mkdir -p "$pkgdir"/etc/mkinitfs/modules
install -Dm644 "$srcdir"/00-initramfs-base.files \
-t "$pkgdir"/usr/share/mkinitfs/files/
mkdir -p "$pkgdir"/etc/mkinitfs/files
install -Dm644 "$srcdir"/00-initramfs-extra-base.files \
-t "$pkgdir"/usr/share/mkinitfs/files-extra/
mkdir -p "$pkgdir"/etc/mkinitfs/files-extra
mkdir -p "$pkgdir"/usr/share/mkinitfs/hooks
mkdir -p "$pkgdir"/usr/share/mkinitfs/hooks-extra
mkdir -p "$pkgdir"/etc/mkinitfs/hooks
mkdir -p "$pkgdir"/etc/mkinitfs/hooks-extra
}
sha512sums="
bed319179bcd0b894d6267c7e73f2890db07bc07df71542936947dfb3bdb17fade8a7b4e7b577f278af4472464427bba07f75aff0a1e454a4167052c088f3b6a 00-default.modules
399da6e61993f48c8a62c956bb15d294cac10bf003d84257efdf4a213ebc87bb51cdcd75c4675f51c3be832146b8f21a7c769bf3e94f574a5067f001662632a1 00-initramfs-base.dirs
3c47e9169ee8cfe78e1a554cf325962f5425c41a0125dcba8561f377d8c52cbfccdd791b269656478c92604644fb286b1ee8df42db9f5a771657e415da35e619 00-initramfs-base.files
e984cd3033ce8752ebc71127828b964b46259a5263c2ebfab32c1394b674bcff464862ff00b8e920d3d31386c54ca0b94f84bc77580d275ecfeea33e76c07ef4 00-initramfs-extra-base.files
347637ba837c75d2e7c5e93b10364de6a784d70067c65dcc3b95277f5feb89fc9b243822022b2380846dd977c4a3f6f96877f547e6ffc7cd3051845d7907d6a1 init.sh
6978bb42349bc318a4cd8894aff77de05ad3d70345a232e683fdcf98270e71087669d05f750f55256b1af3a3b747ce5e224aa939a43b5c61b9675d9dd44c9080 init_functions.sh
"
#!/bin/sh
# shellcheck disable=SC1091
[ -e /hooks/10-verbose-initfs.sh ] && set -x
. /etc/deviceinfo
. ./init_functions.sh
export PATH=/usr/bin:/bin:/usr/sbin:/sbin
/bin/busybox --install -s
/bin/busybox-extras --install -s
# Mount everything, set up logging, modules, mdev
mount_proc_sys_dev
create_device_nodes
setup_log
setup_firmware_path
# shellcheck disable=SC2154,SC2086
[ -d /lib/modules ] && modprobe -a ${deviceinfo_modules_initfs} usb_f_rndis
setup_mdev
setup_dynamic_partitions "${deviceinfo_super_partitions:=}"
setup_framebuffer
show_splash "Loading..."
mount_subpartitions
run_hooks /hooks
# Always run dhcp daemon/usb networking for now (later this should only
# be enabled, when having the debug-shell hook installed for debugging,
# or get activated after the initramfs is done with an OpenRC service).
setup_usb_network
start_unudhcpd
mount_boot_partition /boot
extract_initramfs_extra /boot/initramfs-extra
setup_udev
run_hooks /hooks-extra
wait_root_partition
delete_old_install_partition
resize_root_partition
unlock_root_partition
resize_root_filesystem
mount_root_partition
# Mount boot partition into sysroot, so OpenRC doesn't need to do it (#664)
umount /boot
mount_boot_partition /sysroot/boot "rw"
init="/sbin/init"
setup_bootchart2
# Switch root
killall telnetd mdev udevd msm-fb-refresher 2>/dev/null
umount /proc
umount /sys
umount /dev/pts
umount /dev
# shellcheck disable=SC2093
exec switch_root /sysroot "$init"
echo "ERROR: switch_root failed!"
echo "Looping forever. Install and use the debug-shell hook to debug this."
echo "For more information, see <https://postmarketos.org/debug-shell>"
loop_forever
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment