Kernel 2.2 and 2.4: boot differences?
I have version 2.2.20 (idepci downloaded) running OK (at runlevel 2).
I have version 2.4.18 (compiled myself under 2.2.20) running sort-of OK
(again runlevel 2).
One difference is that my self-configured/compiled version isn't establishing a network connection. Here are my thoughts as to why --
my thinking isn't good enough yet:
Something is different about the way these are booting up. Since
I see no error messages in /var/log/dmesg (or nothing I recognized as
an error message) and since the same /etc configuration files are
being used, I'm thinking the difference must come from tests of things
in the /proc system. So grep for "/proc" within the files found in
/etc/*.conf
/etc/init.d/*
The list appears below. Am I correct that my problem is probably
findable by considering this list? The only thing that jumps to
my eyes in it are the entries for the nfs ― I didn't compile support
for nfs into my 2.4.18 image
/etc/init.d/checkroot.sh:# Mount /proc. If /proc/1 exists, but /proc is not mounted,
/etc/init.d/checkroot.sh:if [ -d /proc/1 ]
/etc/init.d/checkroot.sh: rootino=`ls -lid /proc | sed -ne 's/^ *\([0-9]\+\).*$/\1/p'`
/etc/init.d/checkroot.sh: echo "WARNING: found junk under the /proc mountpoint"
/etc/init.d/checkroot.sh:[ "$doproc" = yes ] && mount -n /proc
/etc/init.d/checkroot.sh: if [ $swap_on_md = yes ] && grep -qs resync /proc/mdstat
/etc/init.d/checkroot.sh: mount -f /proc
/etc/init.d/checkroot.sh: [ "$devfs" ] && grep -q '^devfs /dev' /proc/mounts && mount -f "$devfs"
/etc/init.d/console-screen.sh:if [ "`grep -c devfs /proc/filesystems`" -a -d /dev/vc ]; then
/etc/init.d/console-screen.sh: if [ -f /proc/fb ]; then
/etc/init.d/devpts.sh:devpts_avail=`grep -qci '[<[:space:]]devpts' /proc/filesystems || true`
/etc/init.d/devpts.sh:devpts_mounted=`grep -qci '/dev/pts' /proc/mounts || true`
/etc/init.d/devpts.sh:devfs_mounted=`grep -qci '[<[:space:]]/dev[>[:space:]].*devfs' /proc/mounts || true`
/etc/init.d/halt:if grep -qs '^md.*active' /proc/mdstat
/etc/init.d/klogd: cmd=`cat /proc/$pid/cmdline | tr "\000" "\n"|head -1`
/etc/init.d/modutils:[ -f /proc/modules ] || exit 0
/etc/init.d/mountall.sh: if grep -qs resync /proc/mdstat
/etc/init.d/networking: if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ]; then
/etc/init.d/networking: for f in /proc/sys/net/ipv4/conf/*/rp_filter; do
/etc/init.d/networking: if [ -e /proc/net/ip_input ]; then
/etc/init.d/networking: if [ -e /proc/net/ip_fwchains ]; then
/etc/init.d/networking: if [ -e /proc/net/ip_fwtables ]; then
/etc/init.d/networking: if [ -e /proc/sys/net/ipv4/ip_forward ]; then
/etc/init.d/networking: echo 1 > /proc/sys/net/ipv4/ip_forward
/etc/init.d/networking: if [ -e /proc/sys/net/ipv4/tcp_syncookies ]; then
/etc/init.d/networking: echo 1 > /proc/sys/net/ipv4/tcp_syncookies
/etc/init.d/networking: if sed -n 's/^[^ ]* \([^ ]*\) \([^ ]*\) .*$/\1 \2/p' /proc/mounts |
/etc/init.d/networking: elif sed -n 's/^[^ ]* \([^ ]*\) \([^ ]*\) .*$/\1 \2/p' /proc/mounts |
/etc/init.d/networking: elif sed -n 's/^[^ ]* \([^ ]*\) \([^ ]*\) .*$/\2/p' /proc/mounts |
/etc/init.d/nfs-common:if test -f /proc/ksyms
/etc/init.d/nfs-common: grep -q lockdctl /proc/ksyms || NEED_LOCKD=no
/etc/init.d/pcmcia: grep -q pcmcia /proc/devices
/etc/init.d/pcmcia: if grep -q "ds " /proc/modules ; then
/etc/init.d/procps.sh:# /etc/init.d/procps: Set kernel variables from /etc/sysctl.conf
/etc/init.d/procps.sh: echo "Usage: /etc/init.d/procps.sh {start|stop|reload|restart}" >&2
/etc/init.d/sysklogd: cmd=`cat /proc/$pid/cmdline | tr "\000" "\n"|head -1`
/etc/init.d/umountfs:# We leave /proc mounted.
J Adrian Zimmer
www.ossm.edu/~azimmer
azimmer --at-- ossm.edu
Reply to: