649 |
|
|
650 |
|
|
651 |
# create basic filesystem layout |
# create basic filesystem layout |
652 |
install -d ${DEST}/{bin,dev,etc,lib,loopfs,proc,sbin,sys,sysroot} || die |
install -d ${DEST}/{bin,dev,etc,lib,loopfs,proc,sbin,sys,sysroot,usr/bin,usr/sbin} || die |
653 |
|
|
654 |
# install busybox |
# install busybox |
655 |
echo "$(which busybox.mkinitrd)" |
echo "$(which busybox.mkinitrd)" |
669 |
# sbin related |
# sbin related |
670 |
for i in chroot init losetup modprobe pivot_root |
for i in chroot init losetup modprobe pivot_root |
671 |
do |
do |
672 |
# static links |
ln -s ${DEST}/bin/busybox ${DEST}/sbin/${i} || die "${i}" |
|
ln ${DEST}/bin/busybox ${DEST}/sbin/${i} || die "${i}" |
|
673 |
done |
done |
674 |
|
|
675 |
# install run-init |
# install run-init |
677 |
install -m0755 $(which run-init.mkinitrd) ${DEST}/sbin/run-init || die |
install -m0755 $(which run-init.mkinitrd) ${DEST}/sbin/run-init || die |
678 |
|
|
679 |
# install insmod.static |
# install insmod.static |
680 |
echo "$(which insmod.static)" |
#echo "$(which insmod.static)" |
681 |
install -m0755 $(which insmod.static) ${DEST}/sbin/insmod || die |
#install -m0755 $(which insmod.static) ${DEST}/sbin/insmod || die |
682 |
|
|
683 |
# install v86d for uvesafb support if installed |
# install v86d for uvesafb support if installed |
684 |
if which v86d &> /dev/null |
if which v86d &> /dev/null |
685 |
then |
then |
686 |
echo "$(which insmod.static)" |
echo "$(which v86d)" |
687 |
install -m0755 $(which v86d) ${DEST}/sbin/v86d || die |
install -m0755 $(which v86d) ${DEST}/sbin/v86d || die |
688 |
fi |
fi |
689 |
|
|
726 |
|
|
727 |
add_initrd 'mount -t proc proc /proc' |
add_initrd 'mount -t proc proc /proc' |
728 |
add_initrd 'mount -t sysfs sysfs /sys' |
add_initrd 'mount -t sysfs sysfs /sys' |
729 |
|
add_initrd 'mount -t tmpfs tmpfs /dev -o rw,mode=0644,size=1024' |
730 |
|
|
731 |
[[ ${IMAGE_TYPE} = loopback ]] && add_initrd 'mount -t ramfs -o remount,rw /dev/ram /' |
[[ ${IMAGE_TYPE} = loopback ]] && add_initrd 'mount -t ramfs -o remount,rw /dev/ram /' |
732 |
|
|
733 |
|
# install all busybox applets |
734 |
|
add_initrd 'busybox --install -s' |
735 |
|
|
736 |
# silencio |
# silencio |
737 |
add_initrd 'echo 0 > /proc/sys/kernel/printk' |
add_initrd 'echo 0 > /proc/sys/kernel/printk' |
738 |
|
|
739 |
add_initrd 'echo "-- Creating initial device nodes ..."' |
add_initrd 'echo "-- Creating initial device nodes ..."' |
740 |
add_initrd 'mount -o exec,nosuid,mode=0755,size=10M -t tmpfs udev /dev' |
# populate dev |
741 |
add_initrd 'mkdir /dev/pts' |
add_initrd 'mdev -s' |
742 |
add_initrd 'mkdir /dev/shm' |
# handle hotplug events properly |
743 |
add_initrd 'mkdir /dev/mapper' |
add_initrd 'echo /sbin/mdev > /proc/sys/kernel/hotplug' |
|
add_initrd 'mkdir /dev/misc' |
|
|
add_initrd 'mkdir /dev/fb' |
|
|
add_initrd 'mkdir /dev/vc' |
|
|
add_initrd 'mknod /dev/console c 5 1' |
|
|
add_initrd 'mknod /dev/null c 1 3' |
|
|
add_initrd 'mknod /dev/ram b 1 1' |
|
|
add_initrd 'mknod /dev/rtc c 10 135' |
|
|
add_initrd 'mknod /dev/systty c 4 0' |
|
|
add_initrd 'mknod /dev/tty c 5 0' |
|
|
add_initrd 'mknod /dev/zero c 1 5' |
|
|
for (( i=0; i < 13; i++ )); do |
|
|
add_initrd "mknod /dev/tty${i} c 4 ${i}" |
|
|
done |
|
|
for (( i=64; i < 68; i++)); do |
|
|
add_initrd "mknod /dev/ttyS$((${i} - 64)) c 4 ${i}" |
|
|
done |
|
|
|
|
|
# some needed symlinks |
|
|
add_initrd 'ln -snf /proc/self/fd /dev/fd' |
|
|
add_initrd 'ln -snf fd/0 /dev/stdin' |
|
|
add_initrd 'ln -snf fd/1 /dev/stdout' |
|
|
add_initrd 'ln -snf fd/2 /dev/stderr' |
|
|
add_initrd 'ln -snf /proc/kcore /dev/core' |
|
744 |
|
|
745 |
# loading detected modules with options |
# loading detected modules with options |
746 |
for MODULE in ${MODULES} |
for MODULE in ${MODULES} |
825 |
add_initrd 'echo "${device} /sysroot ${rootfs} defaults,ro 0 0" > /etc/fstab' |
add_initrd 'echo "${device} /sysroot ${rootfs} defaults,ro 0 0" > /etc/fstab' |
826 |
add_initrd 'mount /sysroot || ash' |
add_initrd 'mount /sysroot || ash' |
827 |
|
|
828 |
|
# unset hotplug event-manager |
829 |
|
add_initrd 'echo > /proc/sys/kernel/hotplug' |
830 |
|
|
831 |
# de-silencio |
# de-silencio |
832 |
add_initrd 'echo 3 > /proc/sys/kernel/printk' |
add_initrd 'echo 3 > /proc/sys/kernel/printk' |
833 |
|
|
834 |
add_initrd 'echo "-- Switching to real sysroot ..."' |
add_initrd 'echo "-- Switching to real sysroot ..."' |
835 |
|
add_initrd 'umount /dev' |
836 |
add_initrd 'umount /sys' |
add_initrd 'umount /sys' |
837 |
add_initrd 'umount /proc' |
add_initrd 'umount /proc' |
|
add_initrd 'umount /dev' |
|
838 |
|
|
839 |
[[ ${IMAGE_TYPE} = initramfs ]] && add_initrd 'exec run-init /sysroot /sbin/init $@ </sysroot/dev/console >/sysroot/dev/console' |
[[ ${IMAGE_TYPE} = initramfs ]] && add_initrd 'exec run-init /sysroot /sbin/init $@ </sysroot/dev/console >/sysroot/dev/console' |
840 |
if [[ ${IMAGE_TYPE} = loopback ]] |
if [[ ${IMAGE_TYPE} = loopback ]] |