[oe-commits] org.oe.dev merge of '130c4c25e5d2d96f1ac7b74c68405c8a6e8b764d'

mwester commit openembedded-commits at lists.openembedded.org
Mon Jul 2 23:36:30 UTC 2007


merge of '130c4c25e5d2d96f1ac7b74c68405c8a6e8b764d'
     and 'b783e6b6c66f2dedfc04da8ff6b9b748752c7400'

Author: mwester at openembedded.org
Branch: org.openembedded.dev
Revision: 138ab544928f68e5f7e873c45b9396f2433c539c
ViewMTN: http://monotone.openembedded.org/revision.psp?id=138ab544928f68e5f7e873c45b9396f2433c539c
Files:
1
packages/slugos-init/files/boot/kexec
packages/slugos-init/files/boot/network
packages/slugos-init/files/functions
packages/slugos-init/files/modulefunctions
packages/slugos-init/slugos-init_0.10.bb
conf/distro/angstrom-2007.1-legacy.conf
Diffs:

#
# mt diff -r130c4c25e5d2d96f1ac7b74c68405c8a6e8b764d -r138ab544928f68e5f7e873c45b9396f2433c539c
#
# 
# 
# add_file "packages/slugos-init/files/boot/kexec"
#  content [b1ddcced6d9e71541270a6164d283c40b6bf4c53]
# 
# patch "packages/slugos-init/files/boot/network"
#  from [7863638b33cded9710583ad3868e24dc35c04195]
#    to [1998f275fdd6f6ea83d325e7fe519c4357799e70]
# 
# patch "packages/slugos-init/files/functions"
#  from [de19dc6cafe30138b066dde30da63533e5278a40]
#    to [68db6b5c8036845c4660e107be5b5c6a9a1c0cad]
# 
# patch "packages/slugos-init/files/modulefunctions"
#  from [534b40287bd038eafad6f14953eb107d549b1230]
#    to [2fa625b35ea31712fde433431b13ec9b7c79d43b]
# 
# patch "packages/slugos-init/slugos-init_0.10.bb"
#  from [71bdfe52397be1f4556cf272c28ecf7f960558ae]
#    to [838d2b4d97516e7beb1501277067200126a20075]
# 
============================================================
--- packages/slugos-init/files/boot/kexec	b1ddcced6d9e71541270a6164d283c40b6bf4c53
+++ packages/slugos-init/files/boot/kexec	b1ddcced6d9e71541270a6164d283c40b6bf4c53
@@ -0,0 +1,159 @@
+#!/bin/sh
+#
+# Loads the specified kernel and kexecs it.
+# 
+# The access method and path from which to fetch the kernel
+# is specified in "$1" and "$2":
+#
+# flash      /boot/zImage-ixp4xxbe
+# nfs        spike:/home/slug/vmlinuz
+# wget       http://devserv/kernels/vmlinuzbe
+# wget       ftp://ftpserv/pub/zImage
+# /dev/sda1  /kernels/zImage-test
+# UUID       /kernels/zImage-test
+#
+# Command-line options for the new kernel are in "$3".
+
+# Use the standard init path (see /etc/init.d/rcS)
+export PATH=/sbin:/bin:/usr/sbin:/usr/bin
+
+# Wait at least a short while for the disks...
+if [ ! "$sleep" -gt 0 ] ; then
+    sleep=1
+fi
+
+# Load the helper functions
+. /etc/default/functions
+. /etc/default/modulefunctions
+
+leds boot system
+
+if [ -n "$1" -a -n "$2" ] ; then
+
+	method="$1"
+	shift
+	kpath="$1"
+	shift
+	if [ -n "$1" ] ; then
+	    kcmdline="$1"
+	    shift
+	fi
+	kexec_image=
+	need_umount=0
+	do_kexec=0
+
+	mount -t proc proc /proc
+
+	case "$method" in
+
+	    flash )
+		echo "Loading kexec kernel directly from \"$kpath\"..."
+		kexec_image="$kpath"
+		;;
+
+	    wget )
+		if /boot/network ; then
+		    echo "mounting tmpfs partition..."
+		    if mount -t tmpfs tmpfs /mnt ; then
+			need_umount=1
+			echo "Loading kexec kernel using wget \"$kpath\"..."
+			wget -P /mnt "$kpath"
+			t=`basename "$kpath"`
+			kexec_image="/mnt/$t"
+		    fi
+		fi
+		;;
+
+	    nfs )
+		if /boot/network ; then
+		    echo "Loading kexec kernel using nfs \"$kpath\"..."
+		    echo "mounting nfs partition..."
+		    if mount -o ro,nolock -t nfs `dirname "$kpath"` /mnt ; then
+			need_umount=1
+			t=`basename "$kpath"`
+			kexec_image="/mnt/$t"
+		    fi
+		fi
+		;;
+
+	    /dev/* )
+		echo "Loading kexec kernel using disk \"$kpath\"..."
+		loaddiskmods
+		sleep "$sleep"
+		echo "mounting partition \"$method\"..."
+		if mount -o ro "$method" /mnt ; then
+		    need_umount=1
+		    kexec_image="/mnt/$kpath"
+		fi
+		;;
+
+	    UUID )
+		echo "Loading kexec kernel using disk UUID \"$kpath\"..."
+		loaddiskmods
+		sleep "$sleep"
+		if [ -n "$UUID" ] ; then
+		echo "mounting partition UUID \"$UUID\"..."
+		    if mount -o ro -U "$UUID" /mnt ; then
+			need_umount=1
+			kexec_image="/mnt/$kpath"
+		    fi
+		fi
+		;;
+
+	    * )
+		echo "Unrecognized method: \"$method\""
+		;;
+
+	esac
+
+	if [ -n "$kexec_image" -a -f "$kexec_image" ] ; then
+	    if kexec -l "$kexec_image" ; then
+		do_kexec=1
+	    fi
+	else
+	    echo "Unable to load \"$kexec_image\""
+	fi
+
+	if [ $do_kexec -eq 1 -a -n "$kcmdline" ] ; then
+	    echo "Attempting to mount /sys (sysfs)..."
+	    if mount -t sysfs sysfs /sys ; then
+		echo "Setting command line:"
+		echo " \"$kcmdline\""
+		echo "$kcmdline" > /sys/kernel/kexec_cmdline
+		echo "unmounting /sys..."
+		umount /sys
+	    else
+		do_kexec=0
+	    fi
+	fi
+
+	if [ $need_umount -eq 1 ] ; then
+	    echo "unmounting /mnt..."
+	    umount /mnt
+	fi
+
+	if [ $do_kexec -eq 1 ] ; then
+	    echo "Remounting root as read-only..."
+	    mount -o remount,ro /
+	    echo "Invoking \"kexec -f -e\" ..."
+	    kexec -f -e
+	    echo "ERROR!"
+	    # We should never return here!  At this point, things are not
+	    # too well.  Remount the root as rw, and fallback.
+	    echo "Remounting root as read-write..."
+	    mount -o remount,rw /
+	fi
+else
+	echo "Usage: $0 flash|nfs|wget|UUID|/dev/<partition> <path-or-URL> [cmdline]"
+fi
+
+# fallback - use the flash boot
+echo "Falling back to flash boot..."
+leds beep -f 1000 -r 2
+exec /boot/flash
+
+# fallback to the fallback
+leds boot system panic
+exec <>/dev/console >&0 2>&0
+test -x /bin/sh && exec /bin/sh
+exit 1
============================================================
--- packages/slugos-init/files/boot/network	7863638b33cded9710583ad3868e24dc35c04195
+++ packages/slugos-init/files/boot/network	1998f275fdd6f6ea83d325e7fe519c4357799e70
@@ -8,6 +8,11 @@
 # function!
 . /etc/default/functions
 #
+# We may need to load the network driver modules here
+. /etc/default/modulefunctions
+loadnetmods
+#
+#
 # Now all the information for booting should be in the configuration
 # file.  Config the loopback and network interfaces.
 ifconfig lo 127.0.0.1 up
============================================================
--- packages/slugos-init/files/functions	de19dc6cafe30138b066dde30da63533e5278a40
+++ packages/slugos-init/files/functions	68db6b5c8036845c4660e107be5b5c6a9a1c0cad
@@ -274,6 +274,8 @@ ifup(){
 	if test "$(config boot)" != static
 	then
 		test -n "$hostname" && HOSTNAME="-H $hostname"
+		# Pause a moment in case link negotiation takes a while
+		sleep 3
 		# The script writes the required shell variable assignments
 		# to file descriptor 9
 		eval $(udhcpc -i "$iface" -n -q -r "$ip" $HOSTNAME -s /boot/udhcpc.script 9>&1 >/dev/null)
============================================================
--- packages/slugos-init/files/modulefunctions	534b40287bd038eafad6f14953eb107d549b1230
+++ packages/slugos-init/files/modulefunctions	2fa625b35ea31712fde433431b13ec9b7c79d43b
@@ -21,7 +21,14 @@ loadnetmods(){
 }
 
 loadnetmods(){
-	true
+	case "$(machine)" in
+            dsmg600)
+                modprobe via-velocity
+                ;;
+	    *)
+		true
+		;;
+	esac
 }
 
 loadmiscmods(){
============================================================
--- packages/slugos-init/slugos-init_0.10.bb	71bdfe52397be1f4556cf272c28ecf7f960558ae
+++ packages/slugos-init/slugos-init_0.10.bb	838d2b4d97516e7beb1501277067200126a20075
@@ -1,15 +1,16 @@ RDEPENDS = "busybox devio"
 DESCRIPTION = "SlugOS initial network config via sysconf"
 SECTION = "base"
 PRIORITY = "required"
 LICENSE = "GPL"
 DEPENDS = "base-files devio"
 RDEPENDS = "busybox devio"
-PR = "r86"
+PR = "r87"
 
 SRC_URI = "file://boot/flash \
 	   file://boot/disk \
 	   file://boot/nfs \
 	   file://boot/ram \
+	   file://boot/kexec \
 	   file://boot/network \
 	   file://boot/udhcpc.script \
 	   file://initscripts/fixfstab \
@@ -35,7 +36,7 @@ SCRIPTS = "turnup reflash leds sysconf"
 USRSBINPROGS = ""
 CPROGS = "${USRSBINPROGS} ${SBINPROGS}"
 SCRIPTS = "turnup reflash leds sysconf"
-BOOTSCRIPTS = "flash disk nfs ram network udhcpc.script"
+BOOTSCRIPTS = "flash disk nfs ram kexec network udhcpc.script"
 INITSCRIPTS = "syslog.buffer syslog.file syslog.network zleds\
 	leds_startup rmrecovery sysconfsetup umountinitrd.sh\
 	fixfstab loadmodules.sh"


#
# mt diff -rb783e6b6c66f2dedfc04da8ff6b9b748752c7400 -r138ab544928f68e5f7e873c45b9396f2433c539c
#
# 
# 
# patch "conf/distro/angstrom-2007.1-legacy.conf"
#  from [6881282904bf0d4a7ea3e5a985cd8f22862e4561]
#    to [c5b38dbf99bb41080ad1856aeae6bb5359c8d578]
# 
============================================================
--- conf/distro/angstrom-2007.1-legacy.conf	6881282904bf0d4a7ea3e5a985cd8f22862e4561
+++ conf/distro/angstrom-2007.1-legacy.conf	c5b38dbf99bb41080ad1856aeae6bb5359c8d578
@@ -1,9 +1,9 @@
 #this is a special version of angstrom for legacy (e.g. kernel 2.4) software
 # that means:
 #      * no udev
 #      * no sysfs
 #      * no EABI for ARM
 
-require conf/distro/angstrom-2007.1-oabi.conf
+require conf/distro/angstrom-2007.1.conf
 
 # We'll have to fill this in as we go.






More information about the Openembedded-commits mailing list