-
Notifications
You must be signed in to change notification settings - Fork 0
/
gen
executable file
·87 lines (68 loc) · 2.25 KB
/
gen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#!/bin/sh
# Copyright (c) 2024, Firas Khalil Khana
# Distributed under the terms of the ISC License
rm -fr /initramfs
rm -fr /tmp/initramfs
mkdir -p /tmp/initramfs
cd /tmp/initramfs
mkdir -p etc run usr/bin usr/lib var
mkdir -pm 555 proc sys
ln -sfn usr/bin bin
ln -sfn usr/lib lib
ln -sfn usr/bin sbin
ln -sfn bin usr/sbin
cp -af /bubble/init .
cp -af /etc/group etc
cp -af /etc/mdev.conf etc
cp -af /etc/passwd etc
cp -af /usr/bin/bash usr/bin
cp -af /usr/bin/blkid usr/bin
cp -af /usr/bin/kill usr/bin
cp -af /usr/bin/kmod usr/bin
cp -af /usr/bin/mdevd usr/bin
cp -af /usr/bin/mdevd-coldplug usr/bin
cp -af /usr/bin/mount usr/bin
cp -af /usr/bin/switch_root usr/bin
cp -af /usr/bin/toybox usr/bin
ln -sfn kmod usr/bin/insmod
ln -sfn kmod usr/bin/lsmod
ln -sfn kmod usr/bin/modprobe
ln -sfn bash usr/bin/sh
for i in $(toybox); do ln -sfn toybox /tmp/initramfs/usr/bin/$i; done
cp -af /usr/lib/ld-musl-x86_64.so.1 usr/lib
cp -af /usr/lib/libblkid.so* usr/lib
cp -af /usr/lib/libc.so usr/lib
cp -af /usr/lib/libcrypto* usr/lib
cp -af /usr/lib/liblz* usr/lib
cp -af /usr/lib/libmount.so* usr/lib
cp -af /usr/lib/libskarnet.so* usr/lib
cp -af /usr/lib/libterminfo.so usr/lib
cp -af /usr/lib/libz.so* usr/lib
cp -af /usr/lib/libzstd.so* usr/lib
ver="$(uname -r)"
TMOD="/tmp/initramfs/usr/lib/modules/$ver/kernel"
MODD="/usr/lib/modules/$ver/kernel"
mkdir -p $TMOD/drivers/usb
cp -afR $MODD/arch $TMOD
cp -afR $MODD/crypto $TMOD
cp -afR $MODD/drivers/ata $TMOD/drivers
cp -afR $MODD/drivers/block $TMOD/drivers
cp -afR $MODD/drivers/cdrom $TMOD/drivers
cp -afR $MODD/drivers/gpu $TMOD/drivers
cp -afR $MODD/drivers/hid $TMOD/drivers
cp -afR $MODD/drivers/hwmon $TMOD/drivers
cp -afR $MODD/drivers/input $TMOD/drivers
cp -afR $MODD/drivers/md $TMOD/drivers
cp -afR $MODD/drivers/message $TMOD/drivers
cp -afR $MODD/drivers/nvme $TMOD/drivers
cp -afR $MODD/drivers/scsi $TMOD/drivers
cp -afR $MODD/drivers/usb/host $TMOD/drivers
cp -afR $MODD/drivers/usb/storage $TMOD/drivers
cp -afR $MODD/drivers/virtio $TMOD/drivers
cp -afR $MODD/fs $TMOD
cp -afR $MODD/lib $TMOD
cp -af $MODD/../modules.builtin $TMOD/..
cp -af $MODD/../modules.builtin.modinfo $TMOD/..
cp -af $MODD/../modules.order $TMOD/..
depmod -b /tmp/initramfs $ver
find . | bsdcpio -oH newc | zstd -22 --ultra -T0 --long > /initramfs