104 lines
3.9 KiB
Text
104 lines
3.9 KiB
Text
|
#!/bin/sh
|
||
|
# Nico Schottelius
|
||
|
# cinit: install basic setup
|
||
|
# Date: 2005-08-07
|
||
|
#
|
||
|
|
||
|
|
||
|
. $(dirname $0)/cinit.read-conf
|
||
|
|
||
|
echo "****************************************************************************"
|
||
|
echo "******************************* WARNING ************************************"
|
||
|
echo "****************************************************************************"
|
||
|
echo ""
|
||
|
echo "This will install a minimal cinit configuration."
|
||
|
echo "This configuration _SHOULD_ be able to run on _MOST_ systems."
|
||
|
echo "Still, it's highly EXPERIEMENTAL, use with CAUTION."
|
||
|
echo ""
|
||
|
echo "Please make sure, that"
|
||
|
echo " - you are using a journaling filesystem (fsck is not used)"
|
||
|
echo " - you have agetty, fgetty or mingetty installed"
|
||
|
echo " - you are runnig Linux 2.6 (sysfs is used)"
|
||
|
echo " - you have udev or static device nodes (you need /dev/tty*)"
|
||
|
echo " - getties will run on tty2-tty7, tty1 is used or logging"
|
||
|
echo ""
|
||
|
echo "****************************************************************************"
|
||
|
echo "******************************* WARNING ************************************"
|
||
|
echo "****************************************************************************"
|
||
|
|
||
|
notosoftwarepatents="Please keep an eye on software patents, they are evil."
|
||
|
read -p "Do you really want to continue? [y/N] " notosoftwarepatents
|
||
|
|
||
|
if [ "$notosoftwarepatents" = "y" -o "$notosoftwarepatents" = "Y" ]; then
|
||
|
echo "Let us try it ..."
|
||
|
else
|
||
|
echo 'Bye bye!'
|
||
|
exit 0
|
||
|
fi
|
||
|
|
||
|
set -e
|
||
|
|
||
|
# Create basic layout
|
||
|
$(dirname $0)/cinit.install.standard-dirs
|
||
|
|
||
|
# Install services:
|
||
|
# - mount root r/w
|
||
|
# - mount /proc
|
||
|
# - mount /sys
|
||
|
# - install getties on tty2-tty7
|
||
|
# - add cleanup for /etc/mtab
|
||
|
# - add loopback device
|
||
|
# - init service + echo
|
||
|
|
||
|
################################### mount #####################################
|
||
|
# mount root read/write
|
||
|
$(dirname $0)/cinit.install.service.mount-root
|
||
|
|
||
|
# - mount /proc
|
||
|
$(dirname $0)/cinit.install.service.mount-proc
|
||
|
|
||
|
# - mount /sys
|
||
|
$(dirname $0)/cinit.install.service.mount-sys
|
||
|
|
||
|
# mount needs everything below it
|
||
|
"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS"
|
||
|
ln -sf "${DESTDIR}/${CINIT_DIR}/mount/root" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS"
|
||
|
ln -sf "${DESTDIR}/${CINIT_DIR}/mount/proc" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS"
|
||
|
ln -sf "${DESTDIR}/${CINIT_DIR}/mount/sys" "${DESTDIR}/${CINIT_DIR}/mount/$C_NEEDS"
|
||
|
|
||
|
################################### getty #####################################
|
||
|
# mount root read/write
|
||
|
# install getties
|
||
|
begin_getty=2
|
||
|
end_getty=7
|
||
|
i=$begin_getty
|
||
|
|
||
|
"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS"
|
||
|
while [ "$i" -le "$end_getty" ]; do
|
||
|
$(dirname $0)/cinit.add.getty
|
||
|
ln -sf "${DESTDIR}/${CINIT_DIR}/getty/$i" "${DESTDIR}/${CINIT_DIR}/getty/$C_WANTS"
|
||
|
i=$(($i+1))
|
||
|
done
|
||
|
|
||
|
################################### mtab #####################################
|
||
|
# - add cleanup for /etc/mtab
|
||
|
"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS"
|
||
|
$(dirname $0)/cinit.install.service.cleanup-mtab
|
||
|
ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/cleanup-mtab" "${DESTDIR}/${CINIT_DIR}/local-tuning/$C_NEEDS"
|
||
|
|
||
|
################################### lo #####################################
|
||
|
# - add loopback device
|
||
|
"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS"
|
||
|
$(dirname $0)/cinit.install.service.network-lo
|
||
|
ln -sf "${DESTDIR}/${CINIT_DIR}/network/lo" "${DESTDIR}/${CINIT_DIR}/network/$C_NEEDS"
|
||
|
|
||
|
# - init service + echo
|
||
|
# init depends on mount, getty -> everything from base-layout
|
||
|
$(dirname $0)/cinit.install.service.init
|
||
|
"$INSTALL_PROG" "$INSTALL_DIRECTORY" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}"
|
||
|
|
||
|
ln -sf "${DESTDIR}/${CINIT_DIR}/local-services/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}"
|
||
|
ln -sf "${DESTDIR}/${CINIT_DIR}/getty/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}"
|
||
|
ln -sf "${DESTDIR}/${CINIT_DIR}/local-tuning/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}"
|
||
|
ln -sf "${DESTDIR}/${CINIT_DIR}/network/" "${DESTDIR}/${CINIT_DIR}/${C_INIT}/${C_NEEDS}"
|