summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf/distro/angstrom-2007.1-legacy.conf2
-rw-r--r--conf/distro/angstrom-2007.1.conf5
-rw-r--r--conf/distro/include/angstrom-glibc.inc2
-rw-r--r--conf/distro/include/angstrom-uclibc.inc2
-rw-r--r--conf/distro/include/sane-srcdates.inc2
-rw-r--r--conf/machine/a1200.conf7
-rw-r--r--conf/machine/a780.conf34
-rw-r--r--conf/machine/e680.conf7
-rw-r--r--conf/machine/include/motorola-ezx-base.inc33
-rw-r--r--conf/machine/rokr-e2.conf28
-rw-r--r--packages/arm-kernel-shim/arm-kernel-shim_1.5.bb5
-rw-r--r--packages/arm-kernel-shim/files/config-fsg3.h2
-rw-r--r--packages/kazehakase/kazehakase_0.4.5.bb2
-rw-r--r--packages/kazehakase/kazehakase_0.4.7.bb2
-rw-r--r--packages/kazehakase/kazehakase_cvs.bb18
-rw-r--r--packages/php/php_5.1.4.bb2
-rw-r--r--packages/php/php_5.2.0.bb2
-rw-r--r--packages/slugos-init/files/boot/kexec159
-rw-r--r--packages/slugos-init/files/boot/network5
-rw-r--r--packages/slugos-init/files/functions2
-rw-r--r--packages/slugos-init/files/modulefunctions9
-rw-r--r--packages/slugos-init/slugos-init_0.10.bb5
-rw-r--r--packages/tasks/task-slugos.bb6
23 files changed, 256 insertions, 85 deletions
diff --git a/conf/distro/angstrom-2007.1-legacy.conf b/conf/distro/angstrom-2007.1-legacy.conf
index a22a35d204..298c8589e3 100644
--- a/conf/distro/angstrom-2007.1-legacy.conf
+++ b/conf/distro/angstrom-2007.1-legacy.conf
@@ -4,6 +4,6 @@
# * 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.
diff --git a/conf/distro/angstrom-2007.1.conf b/conf/distro/angstrom-2007.1.conf
index 39783154db..32aab045ad 100644
--- a/conf/distro/angstrom-2007.1.conf
+++ b/conf/distro/angstrom-2007.1.conf
@@ -13,7 +13,7 @@ DISTRO_REVISION = "46"
require conf/distro/include/sane-srcdates.inc
#This is needed to get a correct PACKAGE_ARCH for packages that have PACKAGE_ARCH = ${MACHINE_ARCH}
-ARM_ABI = "${@['','oabi'][bb.data.getVar('MACHINE',d) in ['collie','h3600', 'h3800', 'simpad']]}"
+ARM_ABI ?= "${@['','oabi'][bb.data.getVar('MACHINE',d) in ['collie','h3600', 'h3800', 'simpad', 'htcwallaby']]}"
require conf/distro/include/angstrom${ARM_ABI}.inc
#Images built can have to modes:
@@ -50,10 +50,12 @@ FEED_ARCH_aximx50 = "armv5te"
FEED_ARCH_akita = "armv5te"
FEED_ARCH_at91sam9263ek = "armv5te"
FEED_ARCH_c7x0 = "armv5te"
+FEED_ARCH_compulab-pxa270 = "armv5te"
FEED_ARCH_h2200 = "armv5te"
FEED_ARCH_h3900 = "armv5te"
FEED_ARCH_h4000 = "armv5te"
FEED_ARCH_h5000 = "armv5te"
+FEED_ARCH_htctornado = "armv5te"
FEED_ARCH_htcuniversal = "armv5te"
FEED_ARCH_hx2000 = "armv5te"
FEED_ARCH_hx4700 = "armv5te"
@@ -88,6 +90,7 @@ FEED_ARCH_collie = "arm-oabi"
FEED_ARCH_h3600 = "arm-oabi"
FEED_ARCH_h3800 = "arm-oabi"
FEED_ARCH_simpad = "arm-oabi"
+FEED_ARCH_htcwallaby = "arm-oabi"
#Tweak packaging for strongarm machines since they can't use EABI
diff --git a/conf/distro/include/angstrom-glibc.inc b/conf/distro/include/angstrom-glibc.inc
index fdc814c49c..957042d7e4 100644
--- a/conf/distro/include/angstrom-glibc.inc
+++ b/conf/distro/include/angstrom-glibc.inc
@@ -3,7 +3,7 @@ PREFERRED_PROVIDER_virtual/libiconv ?= "glibc"
PREFERRED_PROVIDER_virtual/libintl ?= "glibc"
PREFERRED_PROVIDER_virtual/libc ?= "glibc"
-TARGET_OS = "linux${@['','-gnueabi'][bb.data.getVar('TARGET_ARCH',d,1) in ['arm', 'armeb'] and bb.data.getVar('MACHINE',d) not in ['collie','h3600', 'h3800', 'simpad']]}"
+TARGET_OS = "linux${@['','-gnueabi'][bb.data.getVar('TARGET_ARCH',d,1) in ['arm', 'armeb'] and bb.data.getVar('MACHINE',d) not in ['collie','h3600', 'h3800', 'simpad', 'htcwallaby']]}"
#mess with compiler flags to use -Os instead of -O2
#Please see http://free-electrons.com/doc/embedded_linux_optimizations/img47.html for some more info
diff --git a/conf/distro/include/angstrom-uclibc.inc b/conf/distro/include/angstrom-uclibc.inc
index 0f20e9c29d..59d40957d5 100644
--- a/conf/distro/include/angstrom-uclibc.inc
+++ b/conf/distro/include/angstrom-uclibc.inc
@@ -7,7 +7,7 @@ PREFERRED_PROVIDER_virtual/libintl ?= "gettext"
USE_NLS ?= "no"
USE_NLS_glib-2.0 = "yes"
-TARGET_OS_UC = "linux${@['-uclibc','-uclibcgnueabi'][bb.data.getVar('TARGET_ARCH',d,1) in ['arm', 'armeb'] and bb.data.getVar('MACHINE',d) not in ['collie','h3600', 'h3800', 'simpad']]}"
+TARGET_OS_UC = "linux${@['-uclibc','-uclibcgnueabi'][bb.data.getVar('TARGET_ARCH',d,1) in ['arm', 'armeb'] and bb.data.getVar('MACHINE',d) not in ['collie','h3600', 'h3800', 'simpad', 'htcwallaby']]}"
TARGET_OS = "${@['${TARGET_OS_UC}', 'uclinux-uclibc'][bb.data.getVar('TARGET_ARCH',d) in ['bfin']]}"
#mess with compiler flags to use -Os instead of -O2
diff --git a/conf/distro/include/sane-srcdates.inc b/conf/distro/include/sane-srcdates.inc
index 75e8b86e4d..6409263830 100644
--- a/conf/distro/include/sane-srcdates.inc
+++ b/conf/distro/include/sane-srcdates.inc
@@ -43,7 +43,7 @@ SRCDATE_zaurusd ?= "20060628"
# GPE
SRCDATE_dasher-gpe ?= "20060814"
SRCDATE_rosetta ?= "20060804"
-SRCDATE_gpesyncd ?= "20061128"
+SRCDATE_gpesyncd ?= "20070701"
# GNOME
SRCDATE_gconf-dbus ?= "20070512"
diff --git a/conf/machine/a1200.conf b/conf/machine/a1200.conf
index 3914d0e8f4..f2ce2b6bf5 100644
--- a/conf/machine/a1200.conf
+++ b/conf/machine/a1200.conf
@@ -1,2 +1,5 @@
-WARNING:="${@bb.fatal('\n*\n*\n* Sorry, There is no dedicated configuration for the Motorola EZX A1200,\n* because \
-of the similarities between A780 and A1200 series. Use MACHINE = \"a780\".\n*\n*\n')}"
+#@TYPE: Machine
+#@NAME: Motorola EZX A1200, Motorola EZX A780, Motorola EZX E680, Motorola EZX E680i
+#@DESCRIPTION: Machine configuration for the Motorola GSM phones A1200, A780, E680, and E680i
+
+require conf/machine/include/motorola-ezx-base.inc
diff --git a/conf/machine/a780.conf b/conf/machine/a780.conf
index 1820569c2b..f2ce2b6bf5 100644
--- a/conf/machine/a780.conf
+++ b/conf/machine/a780.conf
@@ -2,36 +2,4 @@
#@NAME: Motorola EZX A1200, Motorola EZX A780, Motorola EZX E680, Motorola EZX E680i
#@DESCRIPTION: Machine configuration for the Motorola GSM phones A1200, A780, E680, and E680i
-
-TARGET_ARCH = "arm"
-PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te iwmmxt"
-
-PREFERRED_PROVIDER_xserver = "xserver-kdrive"
-PREFERRED_PROVIDER_virtual/kernel = "linux-ezx"
-
-EXTRA_IMAGECMD_jffs2 = "--pad=14680064 --little-endian --eraseblock=0x20000 -n"
-
-#cat /proc/mtd
-#dev: size erasesize name
-#mtd0: 00020000 00008000 "Bootloader"
-#mtd1: 000e0000 00020000 "Kernel"
-#mtd2: 00580000 00020000 "VFM_Filesystem"
-#mtd3: 00020000 00020000 "Logo"
-
-MACHINE_FEATURES = "kernel26 touchscreen apm alsa bluetooth usbgadget usbhost keyboard screen"
-
-#the EZX phones need a userspace daemon to stop the BP from shutting down the phone
-MACHINE_EXTRA_RDEPENDS += "opentapi"
-
-ROOT_FLASH_SIZE = "24"
-
-EXTRA_IMAGEDEPENDS += "ezx-boot-usb-native"
-
-# Opentapi needs to be started very early so we need the mux devices in static /dev
-IMAGE_DEVICE_TABLES = "files/device_table-minimal.txt \
- files/device_table-ezx.txt"
-
-# Use tune-xscale per default. Machine independent feeds should be built with tune-strongarm.
-require conf/machine/include/tune-xscale.conf
-
-SERIAL_CONSOLE = "115200 ttyS0"
+require conf/machine/include/motorola-ezx-base.inc
diff --git a/conf/machine/e680.conf b/conf/machine/e680.conf
index c1cb10ca2a..f2ce2b6bf5 100644
--- a/conf/machine/e680.conf
+++ b/conf/machine/e680.conf
@@ -1,2 +1,5 @@
-WARNING:="${@bb.fatal('\n*\n*\n* Sorry, There is no dedicated configuration for the Motorola EZX E680,\n* because \
-of the similarities between A780 and E680-clamshell series. Use MACHINE = \"a780\".\n*\n*\n')}"
+#@TYPE: Machine
+#@NAME: Motorola EZX A1200, Motorola EZX A780, Motorola EZX E680, Motorola EZX E680i
+#@DESCRIPTION: Machine configuration for the Motorola GSM phones A1200, A780, E680, and E680i
+
+require conf/machine/include/motorola-ezx-base.inc
diff --git a/conf/machine/include/motorola-ezx-base.inc b/conf/machine/include/motorola-ezx-base.inc
new file mode 100644
index 0000000000..c1eac82e3b
--- /dev/null
+++ b/conf/machine/include/motorola-ezx-base.inc
@@ -0,0 +1,33 @@
+
+TARGET_ARCH = "arm"
+PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te iwmmxt"
+
+PREFERRED_PROVIDER_xserver = "xserver-kdrive"
+PREFERRED_PROVIDER_virtual/kernel = "linux-ezx"
+
+EXTRA_IMAGECMD_jffs2 = "--pad=14680064 --little-endian --eraseblock=0x20000 -n"
+
+#cat /proc/mtd
+#dev: size erasesize name
+#mtd0: 00020000 00008000 "Bootloader"
+#mtd1: 000e0000 00020000 "Kernel"
+#mtd2: 00580000 00020000 "VFM_Filesystem"
+#mtd3: 00020000 00020000 "Logo"
+
+MACHINE_FEATURES = "kernel26 touchscreen apm alsa bluetooth usbgadget usbhost keyboard screen"
+
+#the EZX phones need a userspace daemon to stop the BP from shutting down the phone
+MACHINE_EXTRA_RDEPENDS += "opentapi"
+
+ROOT_FLASH_SIZE = "24"
+
+EXTRA_IMAGEDEPENDS += "ezx-boot-usb-native"
+
+# Opentapi needs to be started very early so we need the mux devices in static /dev
+IMAGE_DEVICE_TABLES = "files/device_table-minimal.txt \
+ files/device_table-ezx.txt"
+
+# Use tune-xscale per default. Machine independent feeds should be built with tune-strongarm.
+require conf/machine/include/tune-xscale.conf
+
+SERIAL_CONSOLE = "115200 ttyS0"
diff --git a/conf/machine/rokr-e2.conf b/conf/machine/rokr-e2.conf
index 53be3506af..ccd496c03d 100644
--- a/conf/machine/rokr-e2.conf
+++ b/conf/machine/rokr-e2.conf
@@ -2,32 +2,8 @@
#@NAME: Motorola EZX rokr e2
#@DESCRIPTION: Machine configuration for the Motorola GSM phones rokr e2
+require conf/machine/include/motorola-ezx-base.inc
-TARGET_ARCH = "arm"
-PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te iwmmxt"
-
-PREFERRED_PROVIDER_xserver = "xserver-kdrive"
-PREFERRED_PROVIDER_virtual/kernel = "linux-ezx"
-
-EXTRA_IMAGECMD_jffs2 = "--pad=14680064 --little-endian --eraseblock=0x20000 -n"
-
-#cat /proc/mtd
-#dev: size erasesize name
-#mtd0: 00020000 00008000 "Bootloader"
-#mtd1: 000e0000 00020000 "Kernel"
-#mtd2: 00580000 00020000 "VFM_Filesystem"
-#mtd3: 00020000 00020000 "Logo"
-
+#no touchscreen
MACHINE_FEATURES = "kernel26 touchscreen apm alsa bluetooth usbgadget usbhost keyboard screen"
-#the a780 needs a userspace daemon to stop the BP from shutting down the phone
-MACHINE_EXTRA_RDEPENDS += "opentapi"
-
-ROOT_FLASH_SIZE = "24"
-
-EXTRA_IMAGEDEPENDS += "ezx-boot-usb-native"
-
-# Use tune-xscale per default. Machine independent feeds should be built with tune-strongarm.
-require conf/machine/include/tune-xscale.conf
-
-SERIAL_CONSOLE = "115200 ttyS0"
diff --git a/packages/arm-kernel-shim/arm-kernel-shim_1.5.bb b/packages/arm-kernel-shim/arm-kernel-shim_1.5.bb
index 0788f81609..9e2b6fd912 100644
--- a/packages/arm-kernel-shim/arm-kernel-shim_1.5.bb
+++ b/packages/arm-kernel-shim/arm-kernel-shim_1.5.bb
@@ -3,7 +3,7 @@ SECTION = ""
PRIORITY = "optional"
HOMEPAGE = "http://wiki.buici.com/twiki/bin/view/Main/ApexBootloader"
LICENSE = "GPL"
-PR = "r1"
+PR = "r2"
COMPATIBLE_MACHINE = "(ixp4xx|nslu2)"
@@ -20,7 +20,7 @@ CMDLINE_CONSOLE = "console=${@bb.data.getVar("KERNEL_CONSOLE",d,1) or "ttyS0"}"
CMDLINE_ROOT_DSMG600 = "root=/dev/mtdblock2 rootfstype=jffs2 rw init=/linuxrc"
CMDLINE_ROOT_NAS100D = "root=/dev/mtdblock2 rootfstype=jffs2 rw init=/linuxrc"
CMDLINE_ROOT_NSLU2 = "root=/dev/mtdblock4 rootfstype=jffs2 rw init=/linuxrc"
-CMDLINE_ROOT_FSG3 = "root=/dev/mtdblock2 rootfstype=jffs2 rw init=/linuxrc"
+# CMDLINE is passed correctly on the Freecom FSG-3 from the bootloader.
EXTRA_OEMAKE_append = " CROSS_COMPILE=${CROSS_DIR}/bin/${HOST_PREFIX}"
@@ -70,7 +70,6 @@ oe_runmake() {
sed -e 's|//#define FORCE_LITTLEENDIAN|#define FORCE_LITTLEENDIAN|' \
${WORKDIR}/config-fsg3.h > ${S}/config.h
fi
- echo "#define COMMANDLINE \"${CMDLINE_CONSOLE} ${CMDLINE_ROOT_FSG3} ${CMDLINE_DEBUG}\"" >> ${S}/config.h
rm -f ${S}/main.o
oenote make ${PARALLEL_MAKE} CROSS_COMPILE=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-fsg3
make ${PARALLEL_MAKE} CROSS_COMPILE=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-fsg3 || die "oe_runmake failed"
diff --git a/packages/arm-kernel-shim/files/config-fsg3.h b/packages/arm-kernel-shim/files/config-fsg3.h
index 9b88462e89..fa894e89ac 100644
--- a/packages/arm-kernel-shim/files/config-fsg3.h
+++ b/packages/arm-kernel-shim/files/config-fsg3.h
@@ -21,8 +21,6 @@
#define MACH_TYPE 1091
-#define CREATE_ATAGS
-
/* Uncomment one of these to switch the CPU into a specific mode. */
//#define FORCE_LITTLEENDIAN
//#define FORCE_BIGENDIAN
diff --git a/packages/kazehakase/kazehakase_0.4.5.bb b/packages/kazehakase/kazehakase_0.4.5.bb
index 494e19bad9..927699318e 100644
--- a/packages/kazehakase/kazehakase_0.4.5.bb
+++ b/packages/kazehakase/kazehakase_0.4.5.bb
@@ -7,5 +7,3 @@ SRC_URI = "http://osdn.dl.sourceforge.jp/kazehakase/24791/kazehakase-${PV}.tar.g
inherit autotools pkgconfig
-DEFAULT_PREFERENCE = "-1"
-
diff --git a/packages/kazehakase/kazehakase_0.4.7.bb b/packages/kazehakase/kazehakase_0.4.7.bb
index 70e99a40fb..9b30ce918d 100644
--- a/packages/kazehakase/kazehakase_0.4.7.bb
+++ b/packages/kazehakase/kazehakase_0.4.7.bb
@@ -7,5 +7,3 @@ SRC_URI = "http://iij.dl.sourceforge.jp/kazehakase/25610/kazehakase-${PV}.tar.gz
inherit autotools pkgconfig
-DEFAULT_PREFERENCE = "-1"
-
diff --git a/packages/kazehakase/kazehakase_cvs.bb b/packages/kazehakase/kazehakase_cvs.bb
new file mode 100644
index 0000000000..c0a26d01ea
--- /dev/null
+++ b/packages/kazehakase/kazehakase_cvs.bb
@@ -0,0 +1,18 @@
+DESCRIPTION = "A gtk-webcore based browser"
+HOMEPAGE = "http://kazehakase.sourceforge.jp/"
+SECTION = "x11/network"
+LICENSE = "GPLv2"
+DEPENDS = "osb-nrcit glib-2.0"
+
+SRC_URI = "cvs://anonymous@cvs.sourceforge.jp/cvsroot/kazehakase;module=kazehakase"
+S = "${WORKDIR}/kazehakase"
+
+
+PV = "0.4.7+cvs${SRCDATE}"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = " --disable-gtkmozembed "
+
+DEFAULT_PREFERENCE = "-1"
+
diff --git a/packages/php/php_5.1.4.bb b/packages/php/php_5.1.4.bb
index 34d6ea677d..a9ea9d2ed6 100644
--- a/packages/php/php_5.1.4.bb
+++ b/packages/php/php_5.1.4.bb
@@ -1,7 +1,7 @@
SECTION = "console/network"
DESCRIPTION = "A server-side, HTML-embedded scripting language. This package provides the CGI."
LICENSE = "PHP"
-DEPENDS = "zlib libxml2 mysql libiconv"
+DEPENDS = "zlib libxml2 mysql virtual/libiconv"
SRC_URI = "http://us2.php.net/distributions/php-${PV}.tar.bz2\
file://autotools.patch;patch=1 \
diff --git a/packages/php/php_5.2.0.bb b/packages/php/php_5.2.0.bb
index a4674f08ef..e1ce34b8e6 100644
--- a/packages/php/php_5.2.0.bb
+++ b/packages/php/php_5.2.0.bb
@@ -1,7 +1,7 @@
SECTION = "console/network"
DESCRIPTION = "A server-side, HTML-embedded scripting language. This package provides the CGI."
LICENSE = "PHP"
-DEPENDS = "zlib libxml2 mysql libiconv php-native"
+DEPENDS = "zlib libxml2 mysql virtual/libiconv php-native"
SRC_URI = "http://us2.php.net/distributions/php-${PV}.tar.bz2\
file://autotools.patch;patch=1 \
diff --git a/packages/slugos-init/files/boot/kexec b/packages/slugos-init/files/boot/kexec
new file mode 100644
index 0000000000..c5b428cd07
--- /dev/null
+++ b/packages/slugos-init/files/boot/kexec
@@ -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 \ No newline at end of file
diff --git a/packages/slugos-init/files/boot/network b/packages/slugos-init/files/boot/network
index 599250e744..9aa295e43d 100644
--- a/packages/slugos-init/files/boot/network
+++ b/packages/slugos-init/files/boot/network
@@ -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
diff --git a/packages/slugos-init/files/functions b/packages/slugos-init/files/functions
index c329171128..18f4009ee7 100644
--- a/packages/slugos-init/files/functions
+++ b/packages/slugos-init/files/functions
@@ -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)
diff --git a/packages/slugos-init/files/modulefunctions b/packages/slugos-init/files/modulefunctions
index dbb9ab51d3..784f6ef662 100644
--- a/packages/slugos-init/files/modulefunctions
+++ b/packages/slugos-init/files/modulefunctions
@@ -21,7 +21,14 @@ loaddiskmods(){
}
loadnetmods(){
- true
+ case "$(machine)" in
+ dsmg600)
+ modprobe via-velocity
+ ;;
+ *)
+ true
+ ;;
+ esac
}
loadmiscmods(){
diff --git a/packages/slugos-init/slugos-init_0.10.bb b/packages/slugos-init/slugos-init_0.10.bb
index 8e08a3d755..9748f13ec9 100644
--- a/packages/slugos-init/slugos-init_0.10.bb
+++ b/packages/slugos-init/slugos-init_0.10.bb
@@ -4,12 +4,13 @@ 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 @@ SBINPROGS = ""
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"
diff --git a/packages/tasks/task-slugos.bb b/packages/tasks/task-slugos.bb
index 138c23a4f4..d2281bca17 100644
--- a/packages/tasks/task-slugos.bb
+++ b/packages/tasks/task-slugos.bb
@@ -6,7 +6,7 @@
DESCRIPTION = "Task packages for the SlugOS distribution"
HOMEPAGE = "http://www.nslu2-linux.org"
LICENSE = "MIT"
-PR = "r11"
+PR = "r12"
PACKAGE_ARCH = "${MACHINE_ARCH}"
ALLOW_EMPTY = "1"
@@ -97,12 +97,12 @@ kernel-module-via-velocity \
# Add modules required for Wifi support
SLUGOS_STANDARD_RRECOMMENDS += "\
-madwifi-ng-modules madwifi-ng-tools \
+madwifi-ng-modules madwifi-ng-tools wireless-tools \
"
## Other wireless tools that should be considered
## should space be available in the rootfs
-# wireless-tools wpa-supplicant \
+# wpa-supplicant \
# zd1211-firmware kernel-module-zd1211rw \
# Add kexec tools for rebooting alternate kernels