/builders/initramfs-busybox-0/init (99b46eb6c2f0f7fb474d4a37ca257a1ba3ab383e) (2524 bytes) (mode 100755) (type blob)
#!/bin/sh
export PATH=/bin
# follow the default linux cpio:
#dir /dev 0755 0 0
#nod /dev/console 0600 0 0 c 5 1
#dir /root 0700 0 0
mkdir /proc
mount -t proc proc /proc
mkdir /sys
mount -t sysfs sysfs /sys
mkdir /dev
mount -t devtmpfs devtmpfs /dev
mkdir /dev/pts
mount -t devpts devpts /dev/pts
printf 'INITRAMFS:ENVIRONMENT -- START\n'
env
printf 'INITRAMFS:ENVIRONMENT -- END\n'
printf 'INITRAMFS:PARAMETERS -- START\n'
if test -n "$*"; then
printf "$*\n"
fi
printf 'INITRAMFS:PARAMETERS -- END\n'
if test -z "$initramfs_root_uuid"; then
printf 'INITRAMFS:no root uuid in environment\n'
for p in "$@"
do
printf "INITRAMFS:init parameters:$p\n"
if test ${p%%=*} = initramfs_root_uuid; then
initramfs_root_uuid=${p#*=}
break;
fi
done
fi
if test -z "$initramfs_root_uuid"; then
printf 'INITRAMFS:unable to find the root uuid\n'
exit 1
else
printf "INITRAMFS_ROOT_UUID=$initramfs_root_uuid\n"
fi
# we serialize the handling of modprobes and uevents
# we start to listen to uevents now, they will be buffered
uevent /uevt.sh &
uevt_sh_pid=$!
printf "INITRAMFS:uevt.sh PID=$uevt_sh_pid\n"
printf '/bin/modprobe' >/proc/sys/kernel/modprobe
# we want /dev/sdX interfaces
modprobe sd_mod
# we choose a crc32c implementation, sse4.2 one
modprobe crc32c_intel
printf 'INITRAMFS:COLDPLUG -- START\n'
# cold plug modules loading
# the disk drivers packaged in the initramfs will be loaded and then, their
# partitions will become known to the kernel
find /sys/devices -name modalias -exec sort -u '{}' + >/modaliases
xargs -n 1 modprobe -q </modaliases
touch /COLDPLUG_DONE
printf 'INITRAMFS:COLDPLUG -- END\n'
printf "INITRAMFS:WAITING FOR $initramfs_root_uuid -- START\n"
while true
do
if blk=$(findfs UUID=$initramfs_root_uuid); then
fs_desc=$(blkid $blk)
for f in $fs_desc
do
if test ${f%%=*} = TYPE; then
fs=${f#*=}
fs=$(printf "$fs" | tr -d '"')
break
fi
done
break
fi
sleep 0.001
done
printf "INITRAMFS:WAITING FOR $initramfs_root_uuid -- END\n"
modprobe $fs
printf "INITRAMFS:KILLING uevt.sh PID=$uevt_sh_pid\n"
# the "real init" will start mudev which will load drivers with a full module
# tree
kill $uevt_sh_pid
printf "INITRAMFS:MOUNTING $initramfs_root_uuid as TYPE=$fs\n"
mkdir /newroot
mount -o relatime -t $fs $blk /newroot
printf "INITRAMFS:UMOUNTING /DEV{/PTS} /SYS /PROC, SWITCHING ROOT AND EXEC /bin/init\n"
umount /dev/pts
umount /dev
umount /sys
umount /proc
# _MUST_ use switch_root, must use exec to be PID 1
exec switch_root /newroot /bin/init
Mode |
Type |
Size |
Ref |
File |
100644 |
blob |
5 |
8eba6c8dd4dcaf6166bd22285ed34625f38a84ff |
.gitignore |
100755 |
blob |
1587 |
57fa4264b9ee0ae0a6f678f2527a05d3b22dda78 |
00-bootstrap-build.sh |
100755 |
blob |
848 |
a30f443bf405d56682efe3b4c5d3a19d5f7eb45d |
01-re-bootstrap-build.sh |
100644 |
blob |
2142 |
f19c2d6b293244bb11a3f74ee77c10675cadc7d6 |
INSTALL |
100644 |
blob |
30 |
c9b735fa1332286f4b3f5f81fa10527fd7506b6e |
LICENSE |
040000 |
tree |
- |
eaf4b05bbb5f027ac86b7eca6067c5a2cf9e4229 |
builders |
100644 |
blob |
1773 |
ef1551089a803bde37e36edc8d61bb819d06f793 |
conf.bootstrap.sh |
100644 |
blob |
479 |
8cc15efe46965ac7750fe304460f5a2b0aa4201c |
conf.sh |
040000 |
tree |
- |
4ac4da038dff9cda576f87f52bc784c0f470dc08 |
files |
100755 |
blob |
333 |
06859f922e41c1e691c72ada1be3f981ef05f602 |
pkg-build |
100644 |
blob |
22800641 |
e9e6291054c857401f6835c728f31541dae4311e |
steam.tar.bz2 |
100644 |
blob |
173 |
2047af328b22f9d146585cd9e759edbc18122250 |
utils.sh |
040000 |
tree |
- |
5994cc1f3a2b92eaa849a3d6e9aee7897c12daea |
x64 |
040000 |
tree |
- |
b7a22de7f5cbd97650dd45412ef7d4246e395eb8 |
x86 |
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"
Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/sylware/nyanlinux
Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/sylware/nyanlinux
Clone this repository using git:
git clone git://git.rocketgit.com/user/sylware/nyanlinux
You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a
merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main