1 |
#!/bin/bash |
#!/bin/bash |
2 |
# $Header: /home/cvsd/magellan-cvs/magellan-src/mkinitrd/mkinitrd.sh,v 1.10 2006-03-05 14:11:03 niro Exp $ |
# $Header: /home/cvsd/magellan-cvs/magellan-src/mkinitrd/mkinitrd.sh,v 1.15 2008-03-31 13:48:24 niro Exp $ |
3 |
|
|
4 |
# mkinitrd |
# mkinitrd |
5 |
# |
# |
659 |
ps pwd rm rmdir sh sleep test touch true umount uname \ |
ps pwd rm rmdir sh sleep test touch true umount uname \ |
660 |
xargs yes chmod chown |
xargs yes chmod chown |
661 |
do |
do |
662 |
# static links |
# use soft links from now on; |
663 |
ln ${DEST}/bin/busybox ${DEST}/bin/${i} || die "${i}" |
# hardlinks in initramfs apears to be broken on newer kernels |
664 |
|
# -> "request module: runaway loop modprobe binfmt-0000" |
665 |
|
# see: http://www.gossamer-threads.com/lists/linux/kernel/728042 |
666 |
|
ln -s /bin/busybox ${DEST}/bin/${i} || die "${i}" |
667 |
done |
done |
668 |
|
|
669 |
# sbin related |
# sbin related |
681 |
echo "$(which insmod.static)" |
echo "$(which insmod.static)" |
682 |
install -m0755 $(which insmod.static) ${DEST}/sbin/insmod || die |
install -m0755 $(which insmod.static) ${DEST}/sbin/insmod || die |
683 |
|
|
684 |
# install udev |
# install v86d for uvesafb support if installed |
685 |
cp -a /etc/udev ${DEST}/etc || die |
if which v86d &> /dev/null |
686 |
install -m0755 /sbin/udev.static ${DEST}/sbin/udev || die |
then |
687 |
install -m0755 /sbin/udevd.static ${DEST}/sbin/udevd || die |
echo "$(which insmod.static)" |
688 |
install -m0755 /sbin/udevstart.static ${DEST}/sbin/udevstart || die |
install -m0755 $(which v86d) ${DEST}/sbin/v86d || die |
689 |
|
fi |
690 |
|
|
691 |
# install lvm |
# install lvm |
692 |
if [ -n "${vg_list}" ] |
if [ -n "${vg_list}" ] |
734 |
add_initrd 'echo 0 > /proc/sys/kernel/printk' |
add_initrd 'echo 0 > /proc/sys/kernel/printk' |
735 |
|
|
736 |
add_initrd 'echo "-- Creating inital device nodes ..."' |
add_initrd 'echo "-- Creating inital device nodes ..."' |
737 |
add_initrd 'mount -o mode=0755 -t tmpfs udev /dev' |
add_initrd 'mount -o exec,nosuid,mode=0755,size=10M -t tmpfs udev /dev' |
738 |
add_initrd 'mkdir /dev/pts' |
add_initrd 'mkdir /dev/pts' |
739 |
add_initrd 'mkdir /dev/shm' |
add_initrd 'mkdir /dev/shm' |
740 |
add_initrd 'mkdir /dev/mapper' |
add_initrd 'mkdir /dev/mapper' |
755 |
add_initrd "mknod /dev/ttyS$((${i} - 64)) c 4 ${i}" |
add_initrd "mknod /dev/ttyS$((${i} - 64)) c 4 ${i}" |
756 |
done |
done |
757 |
|
|
758 |
add_initrd 'echo "-- Starting udevd ..."' |
# some needed symlinks |
|
add_initrd '/sbin/udevstart' |
|
759 |
add_initrd 'ln -snf /proc/self/fd /dev/fd' |
add_initrd 'ln -snf /proc/self/fd /dev/fd' |
760 |
add_initrd 'ln -snf fd/0 /dev/stdin' |
add_initrd 'ln -snf fd/0 /dev/stdin' |
761 |
add_initrd 'ln -snf fd/1 /dev/stdout' |
add_initrd 'ln -snf fd/1 /dev/stdout' |
762 |
add_initrd 'ln -snf fd/2 /dev/stderr' |
add_initrd 'ln -snf fd/2 /dev/stderr' |
763 |
add_initrd 'ln -snf /proc/kcore /dev/core' |
add_initrd 'ln -snf /proc/kcore /dev/core' |
|
add_initrd 'touch /dev/.udev' |
|
|
|
|
|
add_initrd 'echo "-- Setting up hotplug ..."' |
|
|
add_initrd 'echo "/sbin/hotplug" > /proc/sys/kernel/hotplug' |
|
764 |
|
|
765 |
# loading detected modules with options |
# loading detected modules with options |
766 |
for MODULE in ${MODULES} |
for MODULE in ${MODULES} |
851 |
add_initrd 'echo "-- Switching to real sysroot ..."' |
add_initrd 'echo "-- Switching to real sysroot ..."' |
852 |
add_initrd 'umount /sys' |
add_initrd 'umount /sys' |
853 |
add_initrd 'umount /proc' |
add_initrd 'umount /proc' |
854 |
|
add_initrd 'umount /dev' |
855 |
|
|
856 |
[[ ${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' |
857 |
if [[ ${IMAGE_TYPE} = loopback ]] |
if [[ ${IMAGE_TYPE} = loopback ]] |