Move busybox --install -s to outside the /init check. Fix problems with running mknod on a non-CD root filesystem, which will be read-only, for bug #208266.

git-svn-id: svn+ssh://svn.gentoo.org/var/svnroot/genkernel/trunk@595 67a159dc-881f-0410-a524-ba9dfbe2cb84
cleanup-cruft
Chris Gianelloni 17 years ago
parent bf2072c742
commit 239e46b186

@ -2,6 +2,11 @@
# Copyright 2006-2008 Gentoo Foundation; Distributed under the GPL v2 # Copyright 2006-2008 Gentoo Foundation; Distributed under the GPL v2
# $Header: $ # $Header: $
14 Feb 2008; Chris Gianelloni <wolf31o2@gentoo.org> generic/linuxrc:
Move busybox --install -s to outside the /init check. Fix problems with
running mknod on a non-CD root filesystem, which will be read-only, for bug
#208266.
14 Feb 2008; Chris Gianelloni <wolf31o2@gentoo.org> -um/kernel-config-2.4, 14 Feb 2008; Chris Gianelloni <wolf31o2@gentoo.org> -um/kernel-config-2.4,
-alpha/kernel-config-2.4, -parisc64/kernel-config-2.4, -alpha/kernel-config-2.4, -parisc64/kernel-config-2.4,
-xenU/kernel-config-2.4, -parisc/kernel-config-2.4, -xenU/kernel-config-2.4, -parisc/kernel-config-2.4,

@ -24,10 +24,10 @@ mount -t proc proc /proc >/dev/null 2>&1
mount -o remount,rw / >/dev/null 2>&1 mount -o remount,rw / >/dev/null 2>&1
# Set up symlinks # Set up symlinks
/bin/busybox --install -s
if [ "$0" = '/init' ] if [ "$0" = '/init' ]
then then
/bin/busybox --install -s
[ -e /linuxrc ] && rm /linuxrc [ -e /linuxrc ] && rm /linuxrc
if [ -e /bin/lvm ] if [ -e /bin/lvm ]
@ -110,7 +110,7 @@ do
debug) debug)
DEBUG='yes' DEBUG='yes'
;; ;;
# Scan delay options # Scan delay options
scandelay\=*) scandelay\=*)
SDELAY=`parse_opt "${x}"` SDELAY=`parse_opt "${x}"`
;; ;;
@ -131,7 +131,7 @@ do
export MLIST export MLIST
;; ;;
# Redirect output to a specific tty # Redirect output to a specific tty
CONSOLE\=*) CONSOLE\=*\|console\=*)
CONSOLE=`parse_opt "${x}"` CONSOLE=`parse_opt "${x}"`
exec >${CONSOLE} <${CONSOLE} 2>&1 exec >${CONSOLE} <${CONSOLE} 2>&1
;; ;;
@ -274,7 +274,7 @@ then
fi fi
# Required for gensplash to work. Not an issue with the initrd as this # Required for gensplash to work. Not an issue with the initrd as this
# device isnt created there and is not needed. # device isn't created there and is not needed.
if [ -e /dev/tty1 ] if [ -e /dev/tty1 ]
then then
[ ! -e ${NEW_ROOT}/dev/tty1 ] && mknod ${NEW_ROOT}/dev/tty1 c 4 1 [ ! -e ${NEW_ROOT}/dev/tty1 ] && mknod ${NEW_ROOT}/dev/tty1 c 4 1
@ -566,6 +566,7 @@ then
FS_LOCATION='mnt/livecd' FS_LOCATION='mnt/livecd'
fi fi
fi fi
# #
# End cdrom looptype determination and mounting if necessary # End cdrom looptype determination and mounting if necessary
# #
@ -666,8 +667,13 @@ verbose_kmsg
if [ "$0" = '/linuxrc' ] || [ "$0" = 'linuxrc' ] if [ "$0" = '/linuxrc' ] || [ "$0" = 'linuxrc' ]
then then
[ ! -e ${CHROOT}/dev/console ] && mknod ${CHROOT}/dev/console c 5 1 if [ ! -e ${CHROOT}/dev/console ] || [ ! -e ${CHROOT}/dev/null ] \
echo -ne "${GOOD}>>${NORMAL}${BOLD} Booting${NORMAL}" || [ ! -e ${CHROOT}/dev/tty1 ]
then
echo -ne "${BAD}>>{NORMAL}${BOLD} ERROR: /dev is broken!${NORMAL}"
else
echo -ne "${GOOD}>>${NORMAL}${BOLD} Booting${NORMAL}"
fi
cd ${CHROOT} cd ${CHROOT}
mkdir ${CHROOT}/proc ${CHROOT}/sys 2>/dev/null mkdir ${CHROOT}/proc ${CHROOT}/sys 2>/dev/null
@ -717,9 +723,13 @@ then
EOF EOF
elif [ "$0" = '/init' ] elif [ "$0" = '/init' ]
then then
[ ! -e ${CHROOT}/dev/console ] && mknod ${CHROOT}/dev/console c 5 1 if [ ! -e ${CHROOT}/dev/console ] || [ ! -e ${CHROOT}/dev/null ] \
[ ! -e ${CHROOT}/dev/tty1 ] && mknod ${CHROOT}/dev/tty1 c 4 1 || [ ! -e ${CHROOT}/dev/tty1 ]
echo -ne "${GOOD}>>${NORMAL}${BOLD} Booting (initramfs)${NORMAL}" then
echo -ne "${BAD}>>{NORMAL}${BOLD} ERROR: /dev is broken!${NORMAL}"
else
echo -ne "${GOOD}>>${NORMAL}${BOLD} Booting (initramfs)${NORMAL}"
fi
cd ${CHROOT} cd ${CHROOT}
mkdir ${CHROOT}/proc ${CHROOT}/sys 2>/dev/null mkdir ${CHROOT}/proc ${CHROOT}/sys 2>/dev/null

Loading…
Cancel
Save