diff options
65 files changed, 774 insertions, 703 deletions
diff --git a/BitKeeper/etc/logging_ok b/BitKeeper/etc/logging_ok index 154b3f90b9..30cafff7db 100644 --- a/BitKeeper/etc/logging_ok +++ b/BitKeeper/etc/logging_ok @@ -12,6 +12,7 @@ cwiiis@chris.(none) cwiiis@chrislaptop.(none) cwiiis@cwiiisdesktop.(none) dereky@builder.(none) +dyoung@builder.(none) emte@t.(none) erich@erichl.mine.nu erich@erichv.mine.nu diff --git a/busybox/busybox-1.00/openslug/defconfig b/busybox/busybox-1.00/openslug/defconfig index 881184593b..750d67f6aa 100644 --- a/busybox/busybox-1.00/openslug/defconfig +++ b/busybox/busybox-1.00/openslug/defconfig @@ -193,6 +193,7 @@ CONFIG_RESET=y CONFIG_MKTEMP=y # CONFIG_PIPE_PROGRESS is not set CONFIG_READLINK=y +CONFIG_FEATURE_READLINK_FOLLOW=y CONFIG_RUN_PARTS=y CONFIG_START_STOP_DAEMON=y CONFIG_WHICH=y diff --git a/nslu2-binary-only/unslung-ramdisk-2.3r25/flashfs b/busybox/busybox-1.00/readlink.patch index e69de29bb2..e69de29bb2 100644 --- a/nslu2-binary-only/unslung-ramdisk-2.3r25/flashfs +++ b/busybox/busybox-1.00/readlink.patch diff --git a/busybox/busybox_1.00.bb b/busybox/busybox_1.00.bb index e69de29bb2..e13aa6b8ad 100644 --- a/busybox/busybox_1.00.bb +++ b/busybox/busybox_1.00.bb @@ -0,0 +1,76 @@ +DESCRIPTION = "BusyBox version ${PV}. \ +BusyBox combines tiny versions of many common UNIX utilities into a single \ +small executable. It provides minimalist replacements for most of the \ +utilities you usually find in GNU fileutils, shellutils, etc. The utilities \ +in BusyBox generally have fewer options than their full-featured GNU \ +cousins; however, the options that are included provide the expected \ +functionality and behave very much like their GNU counterparts. BusyBox \ +provides a fairly complete POSIX environment for any small or embedded \ +system." +HOMEPAGE = "http://www.busybox.net" +LICENSE = "GPL" +SECTION = "base" +PRIORITY = "required" +PR = "r10" + +SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.gz \ + file://add-getkey-applet.patch;patch=1 \ + file://udhcpscript.patch;patch=1 \ + file://dhcpretrytime.patch;patch=1 \ + file://hdparm_M.patch;patch=1 \ + file://udhcppidfile.patch;patch=1 \ + file://udhcppidfile-breakage.patch;patch=1 \ + file://readlink.patch;patch=1 \ + file://iproute-flush-cache.patch;patch=1;pnum=0 \ + file://defconfig \ + file://busybox-cron \ + file://busybox-httpd \ + file://busybox-udhcpd \ + file://syslog \ + file://hwclock.sh \ + file://default.script" + +S = "${WORKDIR}/busybox-${PV}" + +export EXTRA_CFLAGS = "${CFLAGS}" +EXTRA_OEMAKE_append = " CROSS=${HOST_PREFIX}" +FILES_${PN} += " ${datadir}/udhcpc" + +inherit cml1 update-rc.d + +INITSCRIPT_NAME = "syslog" +INITSCRIPT_PARAMS = "defaults" + +do_configure () { + install -m 0644 ${WORKDIR}/defconfig ${S}/.config + cml1_do_configure +} + +do_compile () { + unset CFLAGS + base_do_compile +} + +do_install () { + install -d ${D}/etc/init.d + oe_runmake 'PREFIX=${D}' install + install -m 0755 ${WORKDIR}/syslog ${D}/etc/init.d/ + if grep "CONFIG_CROND=y" ${WORKDIR}/defconfig; then + install -m 0755 ${WORKDIR}/busybox-cron ${D}/etc/init.d/ + fi + if grep "CONFIG_HTTPD=y" ${WORKDIR}/defconfig; then + install -m 0755 ${WORKDIR}/busybox-httpd ${D}/etc/init.d/ + fi + if grep "CONFIG_UDHCPD=y" ${WORKDIR}/defconfig; then + install -m 0755 ${WORKDIR}/busybox-udhcpd ${D}/etc/init.d/ + fi + if grep "CONFIG_HWCLOCK=y" ${WORKDIR}/defconfig; then + install -m 0755 ${WORKDIR}/hwclock.sh ${D}/etc/init.d/hwclock.sh + fi + if grep "CONFIG_UDHCPC=y" ${WORKDIR}/defconfig; then + install -d ${D}/etc/udhcpc.d + install -d ${D}${datadir}/udhcpc + install -m 0755 ${S}/examples/udhcp/simple.script ${D}/etc/udhcpc.d/50default + install -m 0755 ${WORKDIR}/default.script ${D}${datadir}/udhcpc/default.script + fi +} diff --git a/busybox/slingbox-1.00/defconfig b/busybox/slingbox-1.00/defconfig index 62adadad6a..04a88327b7 100644 --- a/busybox/slingbox-1.00/defconfig +++ b/busybox/slingbox-1.00/defconfig @@ -80,7 +80,7 @@ CONFIG_CHROOT=y # CONFIG_DATE is not set # CONFIG_DD is not set # CONFIG_DF is not set -# CONFIG_DIRNAME is not set +CONFIG_DIRNAME=y # CONFIG_DOS2UNIX is not set # CONFIG_DU is not set # CONFIG_ECHO is not set @@ -164,7 +164,7 @@ CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y # # Editors # -# CONFIG_AWK is not set +CONFIG_AWK=y # CONFIG_PATCH is not set CONFIG_SED=y # CONFIG_VI is not set diff --git a/busybox/slingbox_1.00.bb b/busybox/slingbox_1.00.bb index e69de29bb2..d9849b59d5 100644 --- a/busybox/slingbox_1.00.bb +++ b/busybox/slingbox_1.00.bb @@ -0,0 +1,45 @@ +DESCRIPTION = "SlingBox version ${PV}. \ +SlingBox is a minimal version of BusyBox with just enough functionality \ +to enable ipkg to run on an Unslung NSLU2 device." +HOMEPAGE = "http://www.busybox.net" +LICENSE = "GPL" +SECTION = "base" +PRIORITY = "required" +PR = "r3" + +SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.gz \ + file://defconfig \ + file://slingbox.patch;patch=1" + +S = "${WORKDIR}/busybox-${PV}" + +python () { + # Don't build slingbox unless we're targeting an nslu2 + if oe.data.getVar("MACHINE", d, 1) != "nslu2": + raise oe.parse.SkipPackage("switchbox only builds for the Linksys NSLU2") +} + +export EXTRA_CFLAGS = "${CFLAGS}" +EXTRA_OEMAKE_append = " CROSS=${HOST_PREFIX}" + +PACKAGES = "${PN}" +FILES_${PN} = "/bin /sbin" +FILES_${PN}-doc = "" +FILES_${PN}-dev = "" +FILES_${PN}-locale = "" + +inherit cml1 + +do_configure () { + install -m 0644 ${WORKDIR}/defconfig ${S}/.config + cml1_do_configure +} + +do_compile () { + unset CFLAGS + base_do_compile +} + +do_install () { + oe_runmake 'PREFIX=${D}' install +} diff --git a/busybox/switchbox-1.00/defconfig b/busybox/switchbox-1.00/defconfig index 5a702fea5f..5a101e7d62 100644 --- a/busybox/switchbox-1.00/defconfig +++ b/busybox/switchbox-1.00/defconfig @@ -46,7 +46,8 @@ PREFIX="/" # CONFIG_GZIP is not set # CONFIG_RPM2CPIO is not set # CONFIG_RPM is not set -# CONFIG_TAR is not set +CONFIG_TAR=y +CONFIG_FEATURE_TAR_GZIP=y # CONFIG_UNCOMPRESS is not set # CONFIG_UNZIP is not set @@ -90,7 +91,7 @@ CONFIG_FEATURE_LS_TIMESTAMPS=y CONFIG_FEATURE_LS_USERNAME=y CONFIG_FEATURE_LS_COLOR=y CONFIG_MD5SUM=y -# CONFIG_MKDIR is not set +CONFIG_MKDIR=y # CONFIG_MKFIFO is not set # CONFIG_MKNOD is not set # CONFIG_MV is not set @@ -157,8 +158,10 @@ CONFIG_TEST=y # # CONFIG_AWK is not set # CONFIG_PATCH is not set -# CONFIG_SED is not set -# CONFIG_VI is not set +CONFIG_SED=y +CONFIG_VI=y +CONFIG_FEATURE_VI_COLON=y +CONFIG_FEATURE_VI_YANKMARK=y # # Finding Utilities @@ -207,7 +210,7 @@ CONFIG_REBOOT=y # CONFIG_HDPARM is not set # CONFIG_MAKEDEVS is not set # CONFIG_MT is not set -# CONFIG_RX is not set +CONFIG_RX=y # CONFIG_STRINGS is not set # CONFIG_TIME is not set # CONFIG_WATCHDOG is not set @@ -215,7 +218,9 @@ CONFIG_REBOOT=y # # Linux Module Utilities # -# CONFIG_INSMOD is not set +CONFIG_INSMOD=y +CONFIG_FEATURE_2_4_MODULES=y +CONFIG_FEATURE_2_6_MODULES=y # CONFIG_LSMOD is not set # CONFIG_MODPROBE is not set # CONFIG_RMMOD is not set @@ -229,7 +234,9 @@ CONFIG_REBOOT=y # CONFIG_FTPPUT is not set # CONFIG_HOSTNAME is not set # CONFIG_HTTPD is not set -# CONFIG_IFCONFIG is not set +CONFIG_IFCONFIG=y +CONFIG_FEATURE_IFCONFIG_STATUS=y +CONFIG_FEATURE_IFCONFIG_HW=y # CONFIG_IFUPDOWN is not set # CONFIG_INETD is not set # CONFIG_IP is not set @@ -242,11 +249,12 @@ CONFIG_REBOOT=y # CONFIG_NC is not set # CONFIG_NETSTAT is not set # CONFIG_NSLOOKUP is not set -# CONFIG_PING is not set -# CONFIG_ROUTE is not set +CONFIG_PING=y +CONFIG_ROUTE=y # CONFIG_TELNET is not set -# CONFIG_TELNETD is not set -# CONFIG_TFTP is not set +CONFIG_TELNETD=y +CONFIG_TFTP=y +CONFIG_FEATURE_TFTP_GET=y # CONFIG_TRACEROUTE is not set # CONFIG_VCONFIG is not set CONFIG_WGET=y @@ -300,7 +308,9 @@ CONFIG_ASH_OPTIMIZE_FOR_SIZE=y # # CONFIG_FEATURE_SH_EXTRA_QUIET is not set # CONFIG_FEATURE_SH_STANDALONE_SHELL is not set -# CONFIG_FEATURE_COMMAND_EDITING is not set +CONFIG_FEATURE_COMMAND_EDITING=y +CONFIG_FEATURE_COMMAND_HISTORY=63 +CONFIG_FEATURE_COMMAND_TAB_COMPLETION=y # # System Logging Utilities @@ -321,7 +331,7 @@ CONFIG_ASH_OPTIMIZE_FOR_SIZE=y # CONFIG_FSCK_MINIX is not set # CONFIG_MKFS_MINIX is not set # CONFIG_GETOPT is not set -# CONFIG_HEXDUMP is not set +CONFIG_HEXDUMP=y # CONFIG_HWCLOCK is not set # CONFIG_LOSETUP is not set # CONFIG_MKSWAP is not set diff --git a/busybox/switchbox-1.00/linuxrc b/busybox/switchbox-1.00/linuxrc index 858bac7258..746b988d13 100644 --- a/busybox/switchbox-1.00/linuxrc +++ b/busybox/switchbox-1.00/linuxrc @@ -27,7 +27,20 @@ fi if [ -z "$mounted" ] ; then /bin/echo "Root filesystem cannot be found - dropping into shell ..." - echo "5" > /proc/sys/kernel/panic + + /bin/echo "5" > /proc/sys/kernel/panic + + device=/dev/`/bin/sed -n -e 's/^\(mtd[0-9]*\): .* "FIS directory"/\1/p' /proc/mtd` + length=`/bin/dd if=$device bs=2 skip=2048 | /bin/hexdump -n 4 -e '4/1 "%02X"' $device` + + if ( [ "$length" != "FFFFFFFF" ] ); then + /bin/dd if=$device bs=2 skip=2056 | /bin/tar zxvf - + /sbin/insmod ixp400 + /sbin/insmod ixp425_eth + /sbin/ifconfig ixp0 up 192.168.1.77 netmask 255.255.0.0 + /sbin/telnetd + fi + exec /bin/sh fi diff --git a/nslu2-binary-only/unslung-ramdisk-2.3r25/ipkg.conf b/busybox/switchbox-1.00/telnetd-autologin.patch index e69de29bb2..e69de29bb2 100644 --- a/nslu2-binary-only/unslung-ramdisk-2.3r25/ipkg.conf +++ b/busybox/switchbox-1.00/telnetd-autologin.patch diff --git a/busybox/switchbox_1.00.bb b/busybox/switchbox_1.00.bb index e69de29bb2..b9e4fb0648 100644 --- a/busybox/switchbox_1.00.bb +++ b/busybox/switchbox_1.00.bb @@ -0,0 +1,51 @@ +DESCRIPTION = "SwitchBox version ${PV}. \ +SwitchBox is a minimal version of BusyBox with just enough functionality \ +to switch between different root filesystem options on an Unslung NSLU2 device." +HOMEPAGE = "http://www.busybox.net" +LICENSE = "GPL" +SECTION = "base" +PRIORITY = "required" +PR = "r2" + +SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.gz \ + file://defconfig \ + file://linuxrc \ + file://switchbox.patch;patch=1 \ + file://telnetd-autologin.patch;patch=1" + +S = "${WORKDIR}/busybox-${PV}" + +python () { + # Don't build switchbox unless we're targeting an nslu2 + if oe.data.getVar("MACHINE", d, 1) != "nslu2": + raise oe.parse.SkipPackage("switchbox only builds for the Linksys NSLU2") +} + +LDFLAGS =+ "-static" + +export EXTRA_CFLAGS = "${CFLAGS}" +EXTRA_OEMAKE_append = " CROSS=${HOST_PREFIX}" + +PACKAGES = "${PN}" +FILES_${PN} = "/" +FILES_${PN}-doc = "" +FILES_${PN}-dev = "" +FILES_${PN}-locale = "" + +inherit cml1 + +do_configure () { + install -m 0644 ${WORKDIR}/defconfig ${S}/.config + cml1_do_configure +} + +do_compile () { + unset CFLAGS + base_do_compile +} + +do_install () { + oe_runmake 'PREFIX=${D}' install + install -m 0755 ${WORKDIR}/linuxrc ${D}/ + mkdir -p ${D}/proc ${D}/mnt/tmpmnt +} diff --git a/classes/nslu2_flashimg.bbclass b/classes/nslu2_flashimg.bbclass index e69de29bb2..dacf6e66d5 100644 --- a/classes/nslu2_flashimg.bbclass +++ b/classes/nslu2_flashimg.bbclass @@ -0,0 +1,24 @@ +nslu2_pack_image () { + install -d ${DEPLOY_DIR_IMAGE}/slug + install -m 0644 ${STAGING_LIBDIR}/nslu2-binaries/RedBoot \ + ${STAGING_LIBDIR}/nslu2-binaries/Trailer \ + ${STAGING_LIBDIR}/nslu2-binaries/SysConf \ + ${STAGING_LIBDIR}/nslu2-binaries/switchbox.ext2.gz \ + ${DEPLOY_DIR_IMAGE}/slug/ + install -m 0644 ${DEPLOY_DIR_IMAGE}/zImage-${IMAGE_BASENAME} ${DEPLOY_DIR_IMAGE}/slug/vmlinuz + if [ "${NSLU2_BUILD_RAMDISK_FIRMWARE}" == "1" ] ; then + install -m 0644 ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext2.gz ${DEPLOY_DIR_IMAGE}/slug/ramdisk.ext2.gz + fi + install -m 0644 ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 ${DEPLOY_DIR_IMAGE}/slug/flashdisk.jffs2 + cd ${DEPLOY_DIR_IMAGE}/slug + if [ "${NSLU2_BUILD_RAMDISK_FIRMWARE}" == "1" ] ; then + slugimage -p -b RedBoot -s SysConf -r Ramdisk:ramdisk.ext2.gz -t Trailer \ + -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.ramdisk.img + fi + slugimage -p -b RedBoot -s SysConf -r Ramdisk:switchbox.ext2.gz,Flashdisk:flashdisk.jffs2 -t Trailer \ + -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.flashdisk.img + rm -rf ${DEPLOY_DIR_IMAGE}/slug +} + +EXTRA_IMAGEDEPENDS += 'slugimage-native nslu2-linksys-firmware nslu2-switchbox-firmware' +IMAGE_POSTPROCESS_COMMAND += "nslu2_pack_image; " diff --git a/conf/distro/openslug.conf b/conf/distro/openslug.conf index b063a528e2..57abf79f94 100644 --- a/conf/distro/openslug.conf +++ b/conf/distro/openslug.conf @@ -3,7 +3,9 @@ #@DESCRIPTION: OpenSlug Linux Distribution for the NSLU2 TARGET_FPU ?= "soft" -TARGET_OS = "linux-uclibc" +TARGET_OS ?= "linux" + +USE_NLS ?= "no" INHERIT += " package_ipk debian nslu2_flashimg" @@ -20,12 +22,7 @@ kernel-module-ehci-hcd \ kernel-module-scsi-mod kernel-module-sd-mod kernel-module-ext3 kernel-module-jbd \ module-init-tools" -OPENSLUG_EXTRA_INSTALL += "kernel-module-usbnet kernel-module-usbserial \ -kernel-module-usbcore kernel-module-usb-storage kernel-module-ohci-hcd \ -kernel-module-pegasus kernel-module-p8022 kernel-module-kaweth \ -kernel-module-ehci-hcd \ -kernel-module-scsi-mod kernel-module-sd-mod kernel-module-ext3 kernel-module-jbd \ -module-init-tools" +OPENSLUG_EXTRA_INSTALL += "${OPENSLUG_EXTRA_RDEPENDS}" BOOTSTRAP_EXTRA_DEPENDS += "${OPENSLUG_EXTRA_DEPENDS}" BOOTSTRAP_EXTRA_RDEPENDS += "${OPENSLUG_EXTRA_RDEPENDS}" diff --git a/conf/distro/switchbox.conf b/conf/distro/switchbox.conf index 3b29502143..d9bdd061f3 100644 --- a/conf/distro/switchbox.conf +++ b/conf/distro/switchbox.conf @@ -8,10 +8,10 @@ TARGET_OS = "linux-uclibc" INHERIT += " package_ipk debian" IMAGE_FSTYPE = "ext2.gz" -IMAGE_ROOTFS_SIZE_ext2 = "1024" -IMAGE_ROOTFS_SIZE_ext2.gz = "1024" +IMAGE_ROOTFS_SIZE_ext2 = "2048" +IMAGE_ROOTFS_SIZE_ext2.gz = "2048" SWITCHBOX_DEVICE_TABLE = "${@bb.which(bb.data.getVar('BBPATH', d, 1), 'files/device_table-unslung.txt')}" -EXTRA_IMAGECMD_ext2.gz = "-f ${SWITCHBOX_DEVICE_TABLE}" +EXTRA_IMAGECMD_ext2.gz = "-r 0 -f ${SWITCHBOX_DEVICE_TABLE}" USE_NLS = "no" diff --git a/conf/distro/unslung.conf b/conf/distro/unslung.conf index b16df4a831..bf56e116c9 100644 --- a/conf/distro/unslung.conf +++ b/conf/distro/unslung.conf @@ -2,13 +2,15 @@ #@NAME: Unslung #@DESCRIPTION: Unslung Linux Distribution for the NSLU2 +FEED_URIS_unslung = "unslung##http://ipkg.nslu2-linux.org/feeds/unslung/unstable" + TARGET_FPU = "soft" TARGET_OS = "linux" INHERIT += " package_ipk nslu2_flashimg" IMAGE_FSTYPES = "ext2.gz jffs2" -NSLU2_BUILD_RAMDISK_FIRMWARE = 1 +# NSLU2_BUILD_RAMDISK_FIRMWARE = 1 UNSLUNG_DEVICE_TABLE = "${@bb.which(bb.data.getVar('BBPATH', d, 1), 'files/device_table-unslung.txt')}" EXTRA_IMAGECMD_ext2.gz = "-f ${UNSLUNG_DEVICE_TABLE}" EXTRA_IMAGECMD_jffs2 = "--pad --big-endian --eraseblock=0x20000 -D ${UNSLUNG_DEVICE_TABLE}" @@ -21,7 +23,7 @@ UNSLUNG_EXTRA_RDEPENDS += "kernel-module-ax8817x kernel-module-catc \ kernel-module-cdcether kernel-module-kaweth kernel-module-pegasus \ kernel-module-rtl8150 kernel-module-usbnet kernel-module-mii \ kernel-module-md kernel-module-raid0 kernel-module-raid1 kernel-module-raid5 \ -kernel-module-usb-serial" +kernel-module-usb-serial kernel-module-appletalk kernel-module-ipddp" UNSLUNG_EXTRA_RRECOMMENDS += diff --git a/conf/machine/nslu2.conf b/conf/machine/nslu2.conf index 4d3bd326de..b18b57c554 100644 --- a/conf/machine/nslu2.conf +++ b/conf/machine/nslu2.conf @@ -14,3 +14,7 @@ include tune-xscale.conf SERIAL_CONSOLE = "115200 ttyS0" KERNEL_CONSOLE = "ttyS0,115200n8" USE_VT = "0" + +CVSDATE_gnu-config-native ?= "20041130" +CVSDATE_ipkg-utils-native ?= "20041130" +CVSDATE_ipkg-link ?= "20041130" diff --git a/linux/nslu2-linksys-kernel_2.4.22.bb b/linux/nslu2-linksys-kernel_2.4.22.bb index e69de29bb2..f7c41a4a11 100644 --- a/linux/nslu2-linksys-kernel_2.4.22.bb +++ b/linux/nslu2-linksys-kernel_2.4.22.bb @@ -0,0 +1,50 @@ +SECTION = "kernel" +DESCRIPTION = "Linux kernel for the Linksys NSLU2 device" +LICENSE = "GPL" +MAINTAINER = "Chris Larson <kergoth@handhelds.org>" +PR = "r2" + +SRC_URI = "ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-2.4.22.tar.bz2 \ + ftp://oss.sgi.com/projects/xfs/patches/2.4.22/xfs-2.4.22-all-i386.bz2;patch=1 \ + http://openembedded.org/dl/2.4.22-xfs-nslu2.patch.bz2;patch=1 \ + file://config-fixes.patch;patch=1 \ + file://nofpu.patch;patch=1 \ + file://short_loadbytes.patch;patch=1 \ + file://gcc3-userfuncs.patch;patch=1 \ + file://gcc-registerparanoia.patch;patch=1 \ + file://linux-2.4.24-attribute-used.patch;patch=1 \ + file://defconfig" +S = "${WORKDIR}/linux-2.4.22" + +python () { + # Don't build unless we're targeting an nslu2 + if oe.data.getVar("MACHINE", d, 1) != "nslu2": + raise oe.parse.SkipPackage("NSLU2 kernel only builds for the Linksys NSLU2") +} + +COMPATIBLE_HOST = 'arm.*-linux' + +inherit kernel + +ARCH = "arm" +KERNEL_IMAGETYPE = "zImage" +KERNEL_SUFFIX ?= "nslu2-linksys" +CMDLINE_CONSOLE ?= "ttyS0,115200" +CMDLINE_ROOT = "root=/dev/ram0 initrd=0x01000000,10M mem=32M@0x00000000" +CMDLINE = "${CMDLINE_CONSOLE} ${CMDLINE_ROOT}" + +do_configure_prepend() { + install -m 0644 ${WORKDIR}/defconfig ${S}/.config + echo "CONFIG_CMDLINE=\"${CMDLINE}\"" >> ${S}/.config + rm -rf ${S}/include/asm-arm/arch ${S}/include/asm-arm/proc \ + ${S}/include/asm-arm/.proc ${S}/include/asm-arm/.arch +} + +do_deploy() { + install -d ${DEPLOY_DIR}/images + install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR}/images/${KERNEL_IMAGETYPE}-${KERNEL_SUFFIX} +} + +do_deploy[dirs] = "${S}" + +addtask deploy before do_build after do_compile diff --git a/linux/openslug-kernel-2.6.9/nslu2-io.c b/linux/openslug-kernel-2.6.9/nslu2-io.c index ad5bdc221d..53a3df7638 100644 --- a/linux/openslug-kernel-2.6.9/nslu2-io.c +++ b/linux/openslug-kernel-2.6.9/nslu2-io.c @@ -1,13 +1,16 @@ //============================================================================= // -// nslu2-io.c version 0.1.0 +// n2-io.c version 0.1.7 // Author: Karen Spearel <kas11 at tampabay.rr.com> // please report problems/bugs directly to the address above // +// Boilerplate to be added "real soon now"...it is and has always been GPL'ed per +// MODULE_LICENSE but is offered without warrantee of any sort..use at your own risk +// // NOTE: THIS IS INCOMPLETE. INCLUDED ONLY TO KEEP FROM BREAKING THE BUILD, // IT BEEPS AND SENDS A MESSAGE TO /proc/poweroff. EVENTUALLY IT -// WILL TALK TO THE n2_pbuttond DAEMON. EVENTUALLY THE LED DRIVER -// WILL TALK TO SOME USERLAND APP BUT ***NOT*** THE NASTY SETLEDS. +// WILL TALK TO THE n2_pbd DAEMON. EVENTUALLY THE LED DRIVER +// WILL TALK TO SOME USERLAND APP BUT ***NOT*** SET_LEDS. // //============================================================================= // GPIO Function State @@ -22,12 +25,9 @@ //============================================================================= // this driver is N2 specific and is purposely designed to do the minimum // necessary to provide the necessary services given the limited memory resources -// of the N2. As OpenSlug develops, addition features will be added as -// suggested by community leadership. +// of the N2. As OpenN2 develops, addition features will be added as +// suggested by the community. // -// The Userland apps such as SetLeds are just to crufty to bother with. -// This driver makes no attempt to do so...one day a Userland app will appear -// ...until then, this does very little. //============================================================================= #include <linux/config.h> @@ -53,39 +53,10 @@ #include <asm/hardware.h> #include <asm-arm/irq.h> #include <asm-arm/delay.h> +#include <asm-arm/signal.h> + -// Print kernel error -#define P_ERROR(args...) \ - printk(KERN_ERR DRV_NAME ": " args) -// Print kernel warning -#define P_WARN(args...) \ - printk(KERN_WARNING DRV_NAME ": " args) -// Print kernel notice -#define P_NOTICE(args...) \ - printk(KERN_NOTICE DRV_NAME ": " args) -// Print kernel info -#define P_INFO(args...) \ - printk(KERN_INFO DRV_NAME ": " args) -// Print verbose message. Enabled/disabled by 'log_level' param -#define P_VERBOSE(args...) \ - if (log_level >= 1) printk(DRV_NAME ": " args) -// Print debug message. Enabled/disabled by 'log_level' param -#define P_DEBUG(args...) \ - if (log_level >= 2) { \ - printk("%s: %s()\n", DRV_NAME, __FUNCTION__); \ - printk(args); } - -#ifdef DEBUG -// Print trace message -#define TRACE \ - if (log_level >= 2) printk("%s: %s(): line %d\n", \ - DRV_NAME, __FUNCTION__, __LINE__) -#else -// no trace -#define TRACE -#endif - -#define VERSION "0.1.1" +#define VERSION "0.1.7" #define N2RB_MAJOR 60 #define N2PB_MAJOR 61 @@ -121,22 +92,27 @@ #define PWR_OFF_STR "poweroff" -// ioctls -- THESE NEED TO BE PROPERLY DEFINED +// ioctls -- 'M" is used for sound cards...we don't got one so it seems safe -#define N2LM_ON 0 -#define N2LM_OFF 1 -#define N2LM_BLINK 2 -#define N2LM_ALT 3 -#define N2LM_ALL_ON 4 -#define N2LM_ALL_OFF 5 +#define N2BZ_BEEP_STOP _IO('M',0) //stop multi-beep at end of audible +#define N2BZ_BEEP _IO('M',1) //one beep at current defaults +#define N2BZ_BEEPS _IOW('M',3,long) //param beeps at current defaults +#define N2BZ_TONESET _IOW('M',4,long) //set tone: range is high=250 to low=2000 +#define N2BZ_ONTIME _IOW('M',5,long) //ontime for multi-beeps in jiffies +#define N2BZ_SILENTTIME _IOW('M',6,long) //offtime for multi-beeps in jiffies +#define N2BZ_REPEATCNT _IOW('M',7,long) //number of repeats for multi-beeps 0 = forever +#define N2BZ_COMBINED _IOW('M',8,long) //combine all params in a long + +#define N2LM_OFF _IOW('M',32,long) +#define N2LM_ON _IOW('M',33,long) +#define N2LM_BLINK _IOW('M',34,long) +#define N2LM_ALT _IOW('M',35,long) +#define N2LM_ALL_ON _IO('M',36) +#define N2LM_ALL_OFF _IO('M',37) #define PHYS_LEDS 4 #define BLINK_DELAY 25 -static int n2lm_ioctl(struct inode * inode, struct file * file, unsigned int cmd, unsigned long arg); - - - // OR Masks to turn these LEDs ON #define RS_RED_ON 0x00000001 //0b0000 0000 0000 0010 @@ -175,8 +151,12 @@ static int n2lm_ioctl(struct inode * inode, struct file * file, unsigned int cm #define LED_DISK2 3 #define LED_ALL 4 -static long init_jiffy = 0; //jiffies at init time -static int rb_presses = 0; //number of reset button presses +static unsigned long init_jiffy = 0; //jiffies at init time +static unsigned long rb_presses = 0; //number of reset button presses +static unsigned long ontime = 50; +static unsigned long offtime = 450; +static unsigned long bz_repeatcnt = 10; +static unsigned long tone = 1000; DECLARE_WAIT_QUEUE_HEAD(n2rb_waitq); DECLARE_WAIT_QUEUE_HEAD(n2pb_waitq); @@ -187,7 +167,7 @@ static struct timer_list n2lm_d1_timer; //drive 1 static struct timer_list n2lm_d2_timer; //drive 2 static struct timer_list n2rb_timer; static struct timer_list n2pb_timer; - +static struct timer_list n2bz_timer; //beeper //================================================================================================== // @@ -240,25 +220,21 @@ static void n2lm_timer_start(unsigned long led) switch(led) { case LED_RS_RED: n2lm_rsr_timer.expires = jiffies + BLINK_DELAY; - n2lm_rsr_timer.function = n2lm_rsr_handler; add_timer(&n2lm_rsr_timer); break; case LED_RS_GRN: n2lm_rsg_timer.expires = jiffies + BLINK_DELAY; - n2lm_rsg_timer.function = n2lm_rsg_handler; add_timer(&n2lm_rsg_timer); break; case LED_DISK1: n2lm_d1_timer.expires = jiffies + BLINK_DELAY; - n2lm_d1_timer.function = n2lm_d1_handler; add_timer(&n2lm_d1_timer); break; case LED_DISK2: - n2lm_d2_timer.expires = jiffies + BLINK_DELAY; - n2lm_d2_timer.function = n2lm_d2_handler; + n2lm_d2_timer.expires = jiffies + BLINK_DELAY; add_timer(&n2lm_d2_timer); break; @@ -306,7 +282,7 @@ static void n2lm_timer_stop_all(void) static void n2lm_ledon(unsigned long led) { - printk("ledon: %ld\n", led); + printk(KERN_DEBUG "ledon: %ld\n", led); switch (led) { case LED_RS_RED: @@ -421,7 +397,7 @@ static struct file_operations n2lm_fops = { // important should be haprepening. //================================================================================================== -static void n2_beep(int tone_delay, int duration) +static void n2_buzz(int tone_delay, int duration) { int i; @@ -437,6 +413,82 @@ static void n2_beep(int tone_delay, int duration) return; } +//================================================================================================= + +// this handles the buzzer duty cycle +static void n2bz_handler(unsigned long data) +{ + if (--bz_repeatcnt > 0) { //if just one beep left to do + n2bz_timer.expires = jiffies + ontime + offtime; //next timeout + add_timer(&n2bz_timer); //reinit timer + } + n2_buzz(tone/2, ontime); + printk(KERN_DEBUG "Count = %d\tOntime = %d\n", bz_repeatcnt, ontime); + return; +} + +//================================================================================================== + +static int n2bz_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long param) +{ + switch (cmd) { + case N2BZ_BEEP: + n2_buzz(tone/2, ontime); + break; + + case N2BZ_BEEP_STOP: + del_timer(&n2bz_timer); + break; + + case N2BZ_BEEPS: + if (param == 0) + bz_repeatcnt = 0xffffffff; + else + bz_repeatcnt = param; + n2bz_handler(0); + break; + + case N2BZ_TONESET: + if (param >= 250 && param <= 2000) + tone = param; + break; + + case N2BZ_ONTIME: + if (param > 4 && param < 201) + ontime = param; + break; + + case N2BZ_SILENTTIME: + if (param > ontime) //enforce a reasonable duty cycle + offtime = param; + else + offtime = ontime; + break; + + case N2BZ_REPEATCNT: + if (param == 0) + bz_repeatcnt = 0xffffffff; + else + bz_repeatcnt = param; + break; + + case N2BZ_COMBINED: + bz_repeatcnt = (param & 0xF0000000) >> 28; //repeat 1 - 16 + ontime = (param & 0x0FF00000) >> 20; //ontime 1 - 256 jiffies + offtime = (param & 0x000FFF00) >> 8; //offtime 1 - 4095 jiffies + tone = (param & 0x000000FF) << 4; //tone (1 - 255) * 16 + break; + + default: + break; + } + return NOERR; +} + +static struct file_operations n2bz_fops = { + .owner = THIS_MODULE, + .ioctl = n2bz_ioctl, +}; //================================================================================================== @@ -446,11 +498,12 @@ static irqreturn_t n2pb_handler (int irq, void *dev_id, struct pt_regs *regs) wake_up(&n2pb_waitq); remove_proc_entry(PWR_OFF_STR, NULL); //no parent - n2_beep(N2_BEEP_PITCH_MED, N2_BEEP_DUR_MED); + n2_buzz(N2_BEEP_PITCH_MED, N2_BEEP_DUR_MED); ret = create_proc_entry(PWR_OFF_STR, 0, NULL); + printk(KERN_DEBUG "cpe ret = %p\n", ret); -// WARNING: This is RUDE...it unconditionally pulls the power plug -// your data will be at risk...since this is just a test system +// WARNING: This is RUDE...it unconditionally pulls the power plug. +// Your data will be at risk...since this is just a test system // I am leaving it enabled...eventually userland needs to get the // message, do an orderly shutdown and use an ioctl or something in // /proc/powerdowm to actually have us pull the plug. @@ -458,7 +511,6 @@ static irqreturn_t n2pb_handler (int irq, void *dev_id, struct pt_regs *regs) *IXP4XX_GPIO_GPOER &= ~GPIO_PO_BM; // enable the pwr cntl gpio *IXP4XX_GPIO_GPOUTR |= GPIO_PO_BM; // do the deed - printk(KERN_DEBUG "cpe ret = %p\n", ret); return IRQ_HANDLED; } @@ -469,7 +521,7 @@ static irqreturn_t n2pb_handler (int irq, void *dev_id, struct pt_regs *regs) // int i; // // for (i = 0; i < rb_presses; i++) -// n2_beep(N2_BEEP_PITCH_MED,N2_BEEP_DUR_SHORT); +// n2_buzz(N2_BEEP_PITCH_MED,N2_BEEP_DUR_SHORT); // return; //} // @@ -477,23 +529,55 @@ static irqreturn_t n2pb_handler (int irq, void *dev_id, struct pt_regs *regs) // does nothing -- waiting for userland to define // This thing is sorta braindead...edge triggered IRQs aren't available in the drivers yet...so // we hang in a loop until the button is no longer pressed + +struct testr { + int ctl; + long param; +}; + static irqreturn_t n2rb_handler (int irq, void *dev_id, struct pt_regs *regs) { - unsigned long test[] = { 5,0, 0,0, 1,0, 0,1, 1,1, 0,2, 1,2, 0,3, 1,3, 2,0, 1,0, 2,1, 1,1, 2,2, 1,2, 2,3, 1,3, 5,0, 3,1, 5,0, 4,0 }; - - printk(KERN_DEBUG "Reset Entry IRQ=%d Presses= %d Jiffies= %08lx\n", irq, rb_presses, jiffies); + static struct testr test[] = { + N2LM_ALL_OFF,0, + N2LM_ON,0, + N2LM_OFF,0, + N2LM_ON,1, + N2LM_ALL_OFF,1, + N2LM_ON,2, + N2LM_OFF,2, + N2LM_ON,3, + N2LM_OFF,3, + N2LM_BLINK,0, + N2LM_OFF,0, + N2LM_BLINK,1, + N2LM_OFF,1, + N2LM_BLINK,2, + N2LM_OFF,2, + N2LM_BLINK,3, + N2LM_OFF,3, + N2LM_ALL_OFF,0, + N2LM_ALT,1, + N2LM_OFF,1, + N2LM_ALL_ON,0 + }; + + printk("Reset Entry IRQ =%d Presses = %d Jiffies = %08lx\tIO = %x\tIOW = %x\n", irq, rb_presses, jiffies, (int)_IO('M',rb_presses), (int)_IOW('M',rb_presses,long)); wake_up(&n2rb_waitq); while ((*IXP4XX_GPIO_GPINR & GPIO_RB_BM) == 0) ; //wait for button release - if (rb_presses == 21) { + if (rb_presses > 20) rb_presses = 0; - } - n2lm_ioctl(NULL,NULL,test[rb_presses*2], test[rb_presses*2+1]); - rb_presses++; - + tone = (rb_presses * 50) + 200; + ontime = (rb_presses*10) + 100; + offtime = 500 - (rb_presses*20); + printk("Ontime = %d\tOfftime = %d\tTone = %d\n",ontime,offtime,tone); + rb_presses++; + + n2bz_ioctl(NULL,NULL, N2BZ_BEEPS, rb_presses); + n2lm_ioctl(NULL,NULL, test[rb_presses].ctl, test[rb_presses].param); // if (rb_presses == 0) { // init_jiffy = jiffies; // init_timer (&n2rb_timer); @@ -518,6 +602,7 @@ static irqreturn_t n2rb_handler (int irq, void *dev_id, struct pt_regs *regs) printk(KERN_DEBUG "Reset Exit IRQ=%d Presses= %d Jiffies= %08lx\n", irq, rb_presses, jiffies); return IRQ_HANDLED; + } //================================================================================================== @@ -572,14 +657,21 @@ static void n2iom_initarch(void) init_timer(&n2lm_rsr_timer); init_timer(&n2lm_d1_timer); init_timer(&n2lm_d2_timer); - init_timer(&n2rb_timer); - init_timer(&n2pb_timer); +// init_timer(&n2rb_timer); +// init_timer(&n2pb_timer); + init_timer(&n2bz_timer); + n2lm_rsr_timer.function = n2lm_rsr_handler; + n2lm_rsg_timer.function = n2lm_rsg_handler; + n2lm_d2_timer.function = n2lm_d2_handler; + n2lm_d1_timer.function = n2lm_d1_handler; + n2bz_timer.function = n2bz_handler; + n2lm_rsr_timer.data = n2lm_rsg_timer.data = n2lm_d1_timer.data = n2lm_d2_timer.data = n2bz_timer.data = 0; *IXP4XX_GPIO_GPOER &= 0xfffffff0; //enable gpio 0-3 *IXP4XX_GPIO_GPOUTR |= 0x00000003; //turn off the leds *IXP4XX_GPIO_GPOUTR &= 0xfffffffc; n2lm_ledon(LED_ALL); - n2_beep(N2_BEEP_PITCH_MED, N2_BEEP_DUR_SHORT); + n2_buzz(N2_BEEP_PITCH_MED, N2_BEEP_DUR_SHORT); n2lm_ledoff(LED_ALL); return; @@ -589,24 +681,29 @@ static void n2iom_initarch(void) static int __init n2iom_init(void) { - printk(KERN_INFO "NSLU2 Misc I/O Driver Version %s (C) Karen Spearel\n", VERSION); + printk(KERN_INFO "OpenN2 Misc I/O Driver Version %s\n", VERSION); init_jiffy = jiffies; printk(KERN_DEBUG "init_jiffy=%ld\n",init_jiffy); n2iom_initarch(); - if (register_chrdev(N2RB_MAJOR, "n2_rb", &n2pb_fops) < NOERR) { + if (register_chrdev(N2RB_MAJOR, "n2_rbm", &n2pb_fops) < NOERR) { printk(KERN_DEBUG "Reset Button Major %d not available\n", N2RB_MAJOR); return -EBUSY; } - if (register_chrdev(N2PB_MAJOR, "n2_pb", &n2rb_fops) < NOERR) { + if (register_chrdev(N2PB_MAJOR, "n2_pbm", &n2rb_fops) < NOERR) { printk(KERN_DEBUG "Power Button Major %d not available\n", N2PB_MAJOR); return -EBUSY; } - if (register_chrdev(N2LM_MAJOR, "n2_leds", &n2lm_fops) < NOERR) { + if (register_chrdev(N2LM_MAJOR, "n2_ledm", &n2lm_fops) < NOERR) { printk(KERN_DEBUG "Led Manager Major %d not available\n", N2LM_MAJOR); return -EBUSY; } + if (register_chrdev(N2BZ_MAJOR, "n2_bzm", &n2bz_fops) < NOERR) { + printk(KERN_DEBUG "Buzzer Major %d not available\n", N2BZ_MAJOR); + return -EBUSY; + } + if (request_irq(N2RB_IRQ, &n2rb_handler, SA_INTERRUPT, "n2_rb", NULL) < NOERR) { printk(KERN_DEBUG "Reset Button IRQ %d not available\n", N2RB_IRQ); return -EIO; @@ -643,9 +740,9 @@ module_init (n2iom_init); module_exit (n2iom_exit); MODULE_AUTHOR("Karen Spearel <kas11@tampabay.rr.com>"); -MODULE_DESCRIPTION("NSLU2 Buttons/LEDs IO Driver"); +MODULE_DESCRIPTION("OpenN2 Buttons/LEDs IO Driver"); MODULE_LICENSE("GPL"); static int debug = 7; module_param(debug, int, 0644); -MODULE_PARM_DESC(debug, "Debugging enabled = 1"); +MODULE_PARM_DESC(debug, "Debugging enabled = 8"); diff --git a/linux/openslug-kernel_2.6.9.bb b/linux/openslug-kernel_2.6.9.bb index e69de29bb2..3e94b29e81 100644 --- a/linux/openslug-kernel_2.6.9.bb +++ b/linux/openslug-kernel_2.6.9.bb @@ -0,0 +1,58 @@ +SECTION = "kernel" +DESCRIPTION = "Linux kernel for the Linksys NSLU2 device" +LICENSE = "GPL" +MAINTAINER = "Chris Larson <kergoth@handhelds.org>" +PR = "r1" + +KERNEL_SUFFIX = "openslug" + +SRC_URI = "ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.9.tar.bz2 \ + file://nslu2_2.6.9.patch;patch=1 \ + file://defconfig \ + file://x1205-rtc.c \ + file://nslu2-io.c \ + file://nslu2-setup.c \ + file://nslu2-pci.c \ + file://nslu2-part.c \ + file://nslu2.h" +S = "${WORKDIR}/linux-2.6.9" + +COMPATIBLE_HOST = 'arm.*-linux' + +inherit kernel + +ARCH = "arm" +KERNEL_IMAGETYPE = "zImage" +CMDLINE_CONSOLE ?= "ttyS0,115200n8" +CMDLINE_ROOT = "root=/dev/slug rootfstype=ext2,jffs2 initrd=0x01000000,10M mem=32M@0x00000000" +CMDLINE = "${CMDLINE_ROOT} ${CMDLINE_CONSOLE}" + +do_configure_prepend() { + install -m 0644 ${WORKDIR}/defconfig ${S}/.config + install -m 0644 ${WORKDIR}/x1205-rtc.c ${S}/drivers/i2c/chips/x1205-rtc.c + install -m 0644 ${WORKDIR}/nslu2-io.c ${S}/arch/arm/mach-ixp4xx/nslu2-io.c + install -m 0644 ${WORKDIR}/nslu2-setup.c ${S}/arch/arm/mach-ixp4xx/nslu2-setup.c + install -m 0644 ${WORKDIR}/nslu2-pci.c ${S}/arch/arm/mach-ixp4xx/nslu2-pci.c + install -m 0644 ${WORKDIR}/nslu2-part.c ${S}/arch/arm/mach-ixp4xx/nslu2-part.c + install -m 0644 ${WORKDIR}/nslu2.h ${S}/include/asm-arm/arch-ixp4xx/nslu2.h + echo "CONFIG_CMDLINE=\"${CMDLINE}\"" >> ${S}/.config + rm -rf ${S}/include/asm-arm/arch ${S}/include/asm-arm/proc \ + ${S}/include/asm-arm/.proc ${S}/include/asm-arm/.arch +} + +do_deploy() { + install -d ${DEPLOY_DIR}/images + install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR}/images/${KERNEL_IMAGETYPE}-${KERNEL_SUFFIX} +} + +do_deploy[dirs] = "${S}" + +addtask deploy before do_build after do_compile + +python () { + # Don't build openslug kernel unless we're targeting an nslu2 + mach = oe.data.getVar("MACHINE", d, 1) + dist = oe.data.getVar("DISTRO", d, 1) + if mach != 'nslu2' or dist != 'openslug': + raise oe.parse.SkipPackage("OpenSlug only builds for the Linksys NSLU2") +} diff --git a/linux/unslung-kernel-2.3r25/able/defconfig b/linux/unslung-kernel-2.3r25/able/defconfig index 83720e8181..b9248b999b 100644 --- a/linux/unslung-kernel-2.3r25/able/defconfig +++ b/linux/unslung-kernel-2.3r25/able/defconfig @@ -371,12 +371,15 @@ CONFIG_IP_PNP_BOOTP=y # CONFIG_ATM is not set # CONFIG_VLAN_8021Q is not set # CONFIG_IPX is not set -# CONFIG_ATALK is not set +CONFIG_ATALK=y # # Appletalk devices # -# CONFIG_DEV_APPLETALK is not set +CONFIG_DEV_APPLETALK=m +CONFIG_IPDDP=m +CONFIG_IPDDP_ENCAP=y +CONFIG_IPDDP_DECAP=y # CONFIG_DECNET is not set # CONFIG_BRIDGE is not set # CONFIG_X25 is not set diff --git a/linux/unslung-standard-kernel_2.3r25.bb b/linux/unslung-standard-kernel_2.3r25.bb index e65cabd968..53a23d5a81 100644 --- a/linux/unslung-standard-kernel_2.3r25.bb +++ b/linux/unslung-standard-kernel_2.3r25.bb @@ -19,3 +19,11 @@ SRC_URI += "file://limit1gb.patch;patch=1 \ ${UNSLUNG_KERNEL_EXTRA_SRC_URI}" FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/unslung-kernel-${PV}/${UNSLUNG_VARIANT}', '${FILE_DIRNAME}/unslung-kernel-${PV}', '${FILE_DIRNAME}/nslu2-linksys-kernel-2.4.22', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}" + +python () { + # Don't build unslung kernel unless we're targeting an nslu2 + mach = oe.data.getVar("MACHINE", d, 1) + dist = oe.data.getVar("DISTRO", d, 1) + if mach != 'nslu2' or dist != 'unslung': + raise oe.parse.SkipPackage("Unslung only builds for the Linksys NSLU2") +} diff --git a/meta/openslug-image.bb b/meta/openslug-image.bb index e69de29bb2..94f91963da 100644 --- a/meta/openslug-image.bb +++ b/meta/openslug-image.bb @@ -0,0 +1,33 @@ +PR = "r1" + +IMAGE_BASENAME = "openslug" + +IMAGE_LINGUAS = "" +USE_DEVFS = "1" + +OPENSLUG_HIDDEN_PACKAGES = "ipkg-native ipkg-utils-native fakeroot-native patcher-native virtual/armeb-linux-uclibc-gcc \ + virtual/libc makedevs-native mtd-native slugimage-native nslu2-linksys-firmware nslu2-switchbox-firmware " + +DEPENDS = "base-files base-passwd-3.5.7 \ + busybox dropbear hotplug initscripts netbase \ + sysvinit tinylogin lrzsz portmap \ + ixp4xx-csr ixp425-eth \ + ipkg-collateral ipkg ipkg-link \ + ${OPENSLUG_EXTRA_DEPENDS}" + +IPKG_INSTALL = "base-files base-passwd \ + busybox dropbear hotplug initscripts netbase \ + update-modules sysvinit tinylogin lrzsz portmap \ + ixp4xx-csr ixp425-eth \ + ipkg-collateral ipkg ipkg-link \ + ${OPENSLUG_EXTRA_INSTALL}" + +inherit image_ipk + +python () { + # Don't build openslug images unless we're targeting an nslu2 + mach = oe.data.getVar("MACHINE", d, 1) + dist = oe.data.getVar("DISTRO", d, 1) + if mach != 'nslu2' or dist != 'openslug': + raise oe.parse.SkipPackage("OpenSlug only builds for the Linksys NSLU2") +} diff --git a/nslu2-binary-only/unslung-ramdisk-2.3r25/rc.unslung b/meta/unslung-packages.oe index e69de29bb2..e69de29bb2 100644 --- a/nslu2-binary-only/unslung-ramdisk-2.3r25/rc.unslung +++ b/meta/unslung-packages.oe diff --git a/meta/unslung-standard-image.bb b/meta/unslung-standard-image.bb index e69de29bb2..9104c7ef38 100644 --- a/meta/unslung-standard-image.bb +++ b/meta/unslung-standard-image.bb @@ -0,0 +1,40 @@ +PR = "r1" + +IMAGE_LINGUAS = "" +USE_DEVFS = "1" + +UNSLUNG_BASE_DEPENDS = "slingbox ipkg wget" +UNSLUNG_BASE_PACKAGES = "slingbox ipkg wget" + +IMAGE_VARIANT ?= "standard" + +export IMAGE_BASENAME = "unslung-${IMAGE_VARIANT}" + +IPKG_INSTALL = "unslung-${IMAGE_VARIANT}-rootfs \ + ${UNSLUNG_BASE_PACKAGES} ${UNSLUNG_EXTRA_PACKAGES}" + +DEPENDS = "unslung-${IMAGE_VARIANT}-kernel unslung-${IMAGE_VARIANT}-rootfs \ + ${UNSLUNG_BASE_DEPENDS} ${UNSLUNG_EXTRA_DEPENDS}" + +RDEPENDS = "${UNSLUNG_BASE_PACKAGES} ${UNSLUNG_EXTRA_RDEPENDS}" + +RRECOMMENDS = "${UNSLUNG_EXTRA_RRECOMMENDS}" + +IMAGE_PREPROCESS_COMMAND += "unslung_clean_image; " + +inherit image_ipk + +# Note that anything in this function must be repeatable without having to rebuild the rootfs +unslung_clean_image () { + # Remove info from the local feed used to build the image + rm -f ${IMAGE_ROOTFS}/usr/lib/ipkg/lists/* + rm -f ${IMAGE_ROOTFS}/${sysconfdir}/version +} + +python () { + # Don't build unslung images unless we're targeting an nslu2 + mach = oe.data.getVar("MACHINE", d, 1) + dist = oe.data.getVar("DISTRO", d, 1) + if mach != 'nslu2' or dist != 'unslung': + raise oe.parse.SkipPackage("Unslung only builds for the Linksys NSLU2") +} diff --git a/module-init-tools/module-init-tools_3.1-pre5.bb b/module-init-tools/module-init-tools_3.1-pre5.bb index e69de29bb2..1938d5f8bc 100644 --- a/module-init-tools/module-init-tools_3.1-pre5.bb +++ b/module-init-tools/module-init-tools_3.1-pre5.bb @@ -0,0 +1,46 @@ +licenSE = GPL +SECTION = "base" +DESCRIPTION = "This package contains a set of programs for loading, inserting, and \ +removing kernel modules for Linux (versions 2.5.48 and above). It serves \ +the same function that the modutils package serves for Linux 2.4." +PR = "r1" + +PACKAGES =+ "module-init-tools-insmod-static module-init-tools-depmod" +RDEPENDS_${PN} += "module-init-tools-depmod" + +FILES_module-init-tools-depmod = "${sbindir}/depmod" +FILES_module-init-tools-insmod-static = "${sbindir}/insmod.static" + +SRC_URI = "ftp://ftp.kernel.org/pub/linux/utils/kernel/module-init-tools/module-init-tools-${PV}.tar.bz2" +S = "${WORKDIR}/module-init-tools-${PV}" + +bindir = "/bin" +sbindir = "/sbin" + +inherit autotools + +do_install() { + autotools_do_install + for f in bin/lsmod sbin/insmod sbin/rmmod sbin/modprobe sbin/modinfo; do + mv ${D}/$f ${D}/$f.26 + done + install -d ${D}${mandir} + mv ${D}${prefix}/man/* ${D}${mandir}/ +} + +pkg_postinst_module-init-tools() { +#!/bin/sh +for f in sbin/insmod sbin/modprobe sbin/rmmod sbin/depmod sbin/modinfo bin/lsmod; do +bn=`basename $f` + update-alternatives --install /$f $bn /$f.26 20 +done +} + +pkg_prerm_module-init-tools() { +#!/bin/sh +for f in sbin/insmod sbin/modprobe sbin/rmmod sbin/depmod sbin/modinfo bin/lsmod; do +bn=`basename $f` + update-alternatives --remove $bn /$f.26 +done +} + diff --git a/nslu2-binary-only/nslu2-linksys-firmware_2.3r25.bb b/nslu2-binary-only/nslu2-linksys-firmware_2.3r25.bb index e69de29bb2..9630ecf2bf 100644 --- a/nslu2-binary-only/nslu2-linksys-firmware_2.3r25.bb +++ b/nslu2-binary-only/nslu2-linksys-firmware_2.3r25.bb @@ -0,0 +1,23 @@ +SECTION = "base" +DEPENDS = "slugimage-native unzip-native" +PACKAGES = "" +INHIBIT_DEFAULT_DEPS = "1" +PR = "r3" + +SRC_URI = "ftp://ftp.linksys.com/pub/network/nslu2-fw-2.3r25.zip" +S = "${WORKDIR}" + +python () { + # Don't build unless we're targeting an nslu2 + if oe.data.getVar("MACHINE", d, 1) != "nslu2": + raise oe.parse.SkipPackage("NSLU2 firmware only builds for the Linksys NSLU2") +} + +do_compile () { + slugimage -u -i NSLU2_V23R25.bin -b RedBoot -s SysConf -r ramdisk.ext2.gz -t Trailer + install -d ${STAGING_LIBDIR}/nslu2-binaries + install -m 0755 RedBoot ${STAGING_LIBDIR}/nslu2-binaries/ + install -m 0755 SysConf ${STAGING_LIBDIR}/nslu2-binaries/ + install -m 0755 ramdisk.ext2.gz ${STAGING_LIBDIR}/nslu2-binaries/ + install -m 0755 Trailer ${STAGING_LIBDIR}/nslu2-binaries/ +} diff --git a/nslu2-binary-only/nslu2-linksys-libs_2.3r25.bb b/nslu2-binary-only/nslu2-linksys-libs_2.3r25.bb index e69de29bb2..7b6b963b6b 100644 --- a/nslu2-binary-only/nslu2-linksys-libs_2.3r25.bb +++ b/nslu2-binary-only/nslu2-linksys-libs_2.3r25.bb @@ -0,0 +1,22 @@ +DESCRIPTION = "Linksys NSLU2 Stock Firmware Libraries." +PACKAGE_ARCH = "nslu2" +SECTION = "base" +PRIORITY = "required" +PR = "r1" + +SRC_URI = "http://nslu.sf.net/downloads/nslu2-linksys-ramdisk-2.3r25.tar.bz2" + +S = "${WORKDIR}/nslu2-linksys-ramdisk-2.3r25" + +do_install () { + ( cd ${S} ; tar cvf - . ) | ( cd ${D} ; tar xvf - ) +} + +PACKAGES = "${PN}" +FILES_${PN} = "/lib" + +python () { + # Don't build unless we're targeting an nslu2 + if oe.data.getVar("MACHINE", d, 1) != "nslu2": + raise oe.parse.SkipPackage("NSLU2 stock firmware libraries only builds for the Linksys NSLU2") +} diff --git a/nslu2-binary-only/nslu2-linksys-ramdisk_2.3r25.bb b/nslu2-binary-only/nslu2-linksys-ramdisk_2.3r25.bb index e69de29bb2..d7748912a6 100644 --- a/nslu2-binary-only/nslu2-linksys-ramdisk_2.3r25.bb +++ b/nslu2-binary-only/nslu2-linksys-ramdisk_2.3r25.bb @@ -0,0 +1,20 @@ +DESCRIPTION = "Linksys NSLU2 Stock Firmware Ramdisk." +PACKAGE_ARCH = "nslu2" +SECTION = "base" +PRIORITY = "required" +PR = "r1" + +SRC_URI = "http://nslu.sf.net/downloads/nslu2-linksys-ramdisk-2.3r25.tar.bz2" + +do_install () { + ( cd ${S} ; tar cvf - . ) | ( cd ${D} ; tar xvf - ) +} + +PACKAGES = "${PN}" +FILES_${PN} = "/" + +python () { + # Don't build unless we're targeting an nslu2 + if oe.data.getVar("MACHINE", d, 1) != "nslu2": + raise oe.parse.SkipPackage("NSLU2 ramdisk only builds for the Linksys NSLU2") +} diff --git a/nslu2-binary-only/nslu2-switchbox-firmware.bb b/nslu2-binary-only/nslu2-switchbox-firmware.bb index e69de29bb2..0f86d88dec 100644 --- a/nslu2-binary-only/nslu2-switchbox-firmware.bb +++ b/nslu2-binary-only/nslu2-switchbox-firmware.bb @@ -0,0 +1,20 @@ +SECTION = "base" +DEPENDS = "" +PACKAGES = "" +INHIBIT_DEFAULT_DEPS = "1" +PR = "r4" + +SRC_URI = "http://nslu.sf.net/downloads/switchbox-3.3.tar.gz" +S = "${WORKDIR}" + +python () { + # Don't build switchbox firmware unless we're targeting an nslu2 + mach = oe.data.getVar("MACHINE", d, 1) + if mach != 'nslu2': + raise oe.parse.SkipPackage("Switchbox is only relevant for the Linksys NSLU2") +} + +do_compile () { + install -d ${STAGING_LIBDIR}/nslu2-binaries + install -m 0755 switchbox.ext2.gz ${STAGING_LIBDIR}/nslu2-binaries/switchbox.ext2.gz +} diff --git a/nslu2-binary-only/unslung-able-ramdisk_2.3r25.bb b/nslu2-binary-only/unslung-able-ramdisk_2.3r25.bb deleted file mode 100644 index 03481223ea..0000000000 --- a/nslu2-binary-only/unslung-able-ramdisk_2.3r25.bb +++ /dev/null @@ -1,7 +0,0 @@ -UNSLUNG_VARIANT = "able" - -include unslung-standard-ramdisk_2.3r25.bb - -# Add overlays and patches to the standard ramdisk here -SRC_URI += "file://mount_usbdevfs.patch;patch=1" - diff --git a/nslu2-binary-only/unslung-ramdisk-2.3r25/unsling b/nslu2-binary-only/unslung-able-rootfs_2.3r25.oe index e69de29bb2..e69de29bb2 100644 --- a/nslu2-binary-only/unslung-ramdisk-2.3r25/unsling +++ b/nslu2-binary-only/unslung-able-rootfs_2.3r25.oe diff --git a/nslu2-binary-only/unslung-ramdisk-2.3r25/README b/nslu2-binary-only/unslung-ramdisk-2.3r25/README deleted file mode 100644 index 9ed4211cf4..0000000000 --- a/nslu2-binary-only/unslung-ramdisk-2.3r25/README +++ /dev/null @@ -1,249 +0,0 @@ -UNSLUNG-2.x family release README - -Unslung is a replacement firmware image for the NSLU2 which is designed -to allow you to mount the root filesystem from an external disk, -without changing the standard product functionality. - -This is intended to be a way of distributing and loading new packages -for the NSLU2, with minimal changes to the standard user interface and -firmware. - -The changes in the UNSLUNG 2.x firmware from the standard Linksys -2.3R25 can be found at: - - http://www.nslu2-linux.org/wiki/Unslung/UnslungStandard - -For more information about the Unslung firmware, including details on -how to build it from source code yourself, look at: - - http://www.nslu2-linux.org/wiki/Unslung - -PRE-INSTALLATION CONSIDERATIONS - -1) It is strongly recommended that you test telnet Redboot access first. - See http://www.nslu2-linux.org/wiki/HowTo/TelnetIntoRedBoot -2) It is strongly recommended you select a 'virgin' disk for unslinging; - that is a disk that empty; or that can be reformatted. It is - absolutely required that the disk is (or has previously been) - formatted by the NSLU2. It is possible to upgrade from Unslung 1.x - to Unslung 2.x without reformatting your disk. The unsling script - will not touch anything in /unslung or /opt, so make sure all your - file modifications are in those directories, as you were warned - in the README for Unslung 1.x :-) - -INSTALLATION DETAILS - -1) Make sure your NSLU2 is working properly. -2) Flash unslung-standard-2.x.img as you normally would flash new firmware. -3) Verify your NSLU2 is working normally at this point. -4) Make sure that you do *not* have a disk plugged in when you reboot to - perform the next part of the installation. - -'UNSLINGING' DETAILS - -0) Note that this only has to be done when you update the firmware. - Also note that you should not have a disk plugged in at this stage. -1) Enable telnet by going to http://192.168.1.77/Management/telnet.cgi, - and press the enable button. -2) Telnet into the NSLU2 using the username root and password uNSLUng. -3) Identify which drive you wish you "unsling", and plug it in. - Wait a minute or two while the disk is mounted. If the disk has not - been previously formatted on the NSLU2, then now is the time to do - that. Make sure that the drive is recognised in the web interface. -4) In the telnet session, run "/sbin/unsling" and watch the ramdisk files - be copied to your disk. The files from the ramdisk will be copied to - the "conf" partition, not the "data" partition. -5) Note that unsling will not change the password on your disk, so if - you had previously changed the password on a disk, then your password - will not be changed. -6) Reboot. - -Congratulations, you're now Unslung! You should have an extra 10M of free -memory to use for other things. - -Make sure you add an entry to the "The Unslung 2.x" table in the Yahoo -group. Just use the next free integer for your Unslung number. - -If you make no further changes, your NSLU2 will continue to operate -normally. But to customize things, you'll be downloading packages and -adding stuff to the /unslung directory on the new hard drive root -using diversion scripts. - -POST-INSTALLATION DETAILS - -Diversion scripts go into /unslung. You can divert as many or as few -scripts as you like. Simply add the name of the standard rc script -into /unslung and it will be run. - -For example, I have a script /unslung/rc.local: - -#! /bin/sh -/opt/bin/do_foo -return 1 - -That will run at the beginning of the normal /etc/rc.d/rc.local, and then -the rest of the factory rc.local will be executed. If I do NOT want to run -the factory rc.local, my script would be - -#!/bin/sh -/opt/bin/do_foo -return 0 - -That is, if the diversion script returns with something other than 0, it will -run the rest of the factory script. - -Note that any variable definitions or function declarations are allowed to -happen before the diversion script is called. This allows you to use the -variables and functions defined by the factory script. - -PACKAGE INSTALLATION - -1) Run "ipkg update" on the NSLU2. -2) Run "ipkg list" to see the available packages. -3) Run "ipkg install <package-name>" to install them. -4) Note that if you upgrade an existing 1.11-beta disk, all your - downloaded packages will still be on your hard disk and should work as - before, but the ipkg system will probably have forgotten what you have - downloaded. You can re-install any you need to by typing - "ipk install -force-overwrite <package>". - -ADDITIONAL INFORMATION: - -1) If you wish to see the contents of the ramdisk, temporarily make a - directory called /initrd in your new hard drive /, then the ramdisk - will not be dismounted. You will not see a RAM benefit if you do this, - so use with caution. After you're done looking at the contents of the - ramdisk, unmount it and remove the initrd directory for RAM savings on - the next reboot. - -2) The linuxrc is written in such a way that if a known good unslung disk - is NOT attached, it will revert to failsafe booting from ramdisk. - -3) There is a version check mechanism which tags your unslung hard disk - at a certain firmware version (including the unslung version) and - will not boot from it if the versions do not match. When you flash a - new version of unslung, then you must re-run unsling to update the - root disk (and that's when you check your diversion scripts to make - sure they are still compatible with the new firmware version). - -4) The unsling script will never touch any files under /unslung or /opt, - so please store all your additional files there. However, any existing - files that you modify in any other of the standard directories will - be overwritten when you next update the firmware and unsling the disk. - If you need to modify a file in /etc for example, then write a - diversion script which does it on each boot (perhaps by symlinking - it to a file in /opt/etc which will not be touched by unsling). - -5) The diversion of startup scripts is done at the lowest granularity, - so you can, for instance, just divert the rc.xinetd script if you - want, and leave all the others unchanged. - -6) The diversion mechanism allows you to add to, or replace, the Linksys - script functionality. - -7) The /sbin/unsling script can take a new version of the Linksys - ramdisk, and update your unslung hard disk root filesystem from - that. This makes sure that unslung can take advantage of any new - Linksys features. As noted in item #4, if you have modified any - of the files from the Linksys ramdisk, then they will be overwritten. - Keep your modifications in /unslung and /opt and they will be safe. - -8) Note that telnet is not enabled by default - there is an openssh - package available to replace telnet access with secure shell - access. The rationale behind not enabling it by default is to - ensure that an unslung NSLU2 without a hard disk attached has the - same network footprint as the standard firmware. - -9) This simple diversion script will enable telnet on boot - - # /unslung/rc.xinetd - #! /bin/sh - echo "telnet stream tcp nowait root /usr/sbin/telnetd" > /etc/inetd.conf - # Additional lines must append (using >>), ie: - # echo "ftp stream tcp nowait root /usr/sbin/ftpd -a=passwd" >> /etc/inetd.conf - return 1 - -10) Note that the PATH is set so that downloadable packages do not - override the factory executables. This is so that a package - can't break the standard functionality. You can use a diversion - script or a .profile in the /root directory to change the PATH - if you would prefer to take the chance and get a different - behaviour. - -11) The Unslung firmware will automatically execute any scripts - which are in /opt/etc/init.d - and this is where any packages - put their startup scripts so that they execute on each boot. - -CHANGELOG: - -1.11: - -First public release - -1.12: - -Added a symlink to slingbox for gzip. Added flashfs (as simple utility for preserving -user files across hard disk formats during beta testing). - -1.13: - -Added LD_LIBRARY_PATH to /etc/profile (only works for telnet and ssh -access, not for serial or diversion scripts). - -1.14: - -Added Unslung Doc link to the User Guide page. - -2.3: - -Moved development to OpenEmbedded. - -2.4: - -Updated to the latest ipk binary instead of the simple script. - -2.5: - -Added the real wget (instead of using the busybox version). This is -so we can support .netrc files for commercial packages. - -2.6: - -Fixed the unsling script so it removes conflicting files on an upgrade. - -2.7: - -Began development of the -able variant. - -2.8: - -Added the patch for genesys enclosures. - -2.9: - -Reorganised the various variants into a more consistent scheme. - -2.10: - -Added the ext3flash-on-disk1 functionality. - -2.11: - -Added the README to /opt/doc. - -2.12: - -First public release of 2.x firmware. - -3.1: - -Added jffs2 functionality. - -3.2: - -Incorporated switchbox functionality. - -3.3: - -Added ramdisks for /dev and /var to reduce internal flash writes. - diff --git a/nslu2-binary-only/unslung-ramdisk-2.3r25/able/mount_usbdevfs.patch b/nslu2-binary-only/unslung-ramdisk-2.3r25/able/mount_usbdevfs.patch deleted file mode 100644 index 744636d0d9..0000000000 --- a/nslu2-binary-only/unslung-ramdisk-2.3r25/able/mount_usbdevfs.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- nslu2-linksys-ramdisk-2.3r25/etc/rc.orig 2004-11-03 14:38:45.838082343 +1100 -+++ nslu2-linksys-ramdisk-2.3r25/etc/rc 2004-11-03 16:27:08.572763797 +1100 -@@ -4,6 +4,7 @@ - - /usr/bin/Set_Led r_blinking & - mount -t proc proc /proc -+mount -t usbdevfs usbdevfs /proc/bus/usb - mount -o remount,rw /dev/root / - ifconfig lo 127.0.0.1 - route add -net 127.0.0.0 netmask 255.255.255.0 lo diff --git a/nslu2-binary-only/unslung-ramdisk-2.3r25/linuxrc b/nslu2-binary-only/unslung-ramdisk-2.3r25/linuxrc deleted file mode 100644 index 7e7e477e04..0000000000 --- a/nslu2-binary-only/unslung-ramdisk-2.3r25/linuxrc +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/sh - -/bin/echo "Firmware Version: `/bin/cat /.unslung`" - -mounted= - -/bin/mount -t proc proc /proc -/bin/echo "0x0100" > /proc/sys/kernel/real-root-dev - -/bin/sleep 10 - -if [ -z "$mounted" ] && /bin/mount -rt ext3 /dev/sda2 /mnt/tmpmnt ; then - - if [ -x /mnt/tmpmnt/bin/init ] && - [ -d /mnt/tmpmnt/unslung ] && [ -r /mnt/tmpmnt/.unslung ] && - [ "`/bin/cat /.unslung`" = "`/bin/cat /mnt/tmpmnt/.unslung`" ] ; then - /bin/echo "Root filesystem will be mounted from /dev/sda2 ..." - mounted=/mnt/tmpmnt - /bin/echo "0x0802" > /proc/sys/kernel/real-root-dev - [ -r $mounted/unslung/rc.linuxrc ] && . $mounted/unslung/rc.linuxrc - fi - - /bin/umount /mnt/tmpmnt -fi - -if [ -z "$mounted" ] && /bin/mount -rt ext3 /dev/sdb2 /mnt/tmpmnt ; then - - if [ -x /mnt/tmpmnt/bin/init ] && - [ -d /mnt/tmpmnt/unslung ] && [ -r /mnt/tmpmnt/.unslung ] && - [ "`/bin/cat /.unslung`" = "`/bin/cat /mnt/tmpmnt/.unslung`" ] ; then - /bin/echo "Root filesystem will be mounted from /dev/sdb2 ..." - mounted=/mnt/tmpmnt - /bin/echo "0x0812" > /proc/sys/kernel/real-root-dev - [ -r $mounted/unslung/rc.linuxrc ] && . $mounted/unslung/rc.linuxrc - fi - - /bin/umount /mnt/tmpmnt -fi - -if [ -z "$mounted" ] ; then - /bin/echo "Root filesystem will be mounted from /dev/ram0 ..." -fi - -/bin/umount /proc - -exit 0 diff --git a/nslu2-binary-only/unslung-ramdisk-2.3r25/unslung.patch b/nslu2-binary-only/unslung-ramdisk-2.3r25/unslung.patch deleted file mode 100644 index 2dedb1ac46..0000000000 --- a/nslu2-binary-only/unslung-ramdisk-2.3r25/unslung.patch +++ /dev/null @@ -1,278 +0,0 @@ -diff -BurN /dev/null/nslu/.unslung /mnt/nslu/.unslung ---- /dev/null/nslu/.unslung 1970-01-01 09:30:00.000000000 +0930 -+++ /mnt/nslu/.unslung 2004-08-30 21:46:35.000000000 +0930 -@@ -0,0 +1 @@ -+V2.3R25-uNSLUng-X.Y -\ No newline at end of file -diff -BurN /dev/null/nslu/etc/passwd /mnt/nslu/etc/passwd ---- /dev/null/nslu/etc/passwd 2004-07-27 23:37:55.000000000 -0400 -+++ /mnt/nslu/etc/passwd 2004-08-30 09:02:51.000000000 -0400 -@@ -1,4 +1,4 @@ --root:WeeOvKUvbQ6nI:0:0:root:/root:/bin/sh -+root:t1PLUeOinN/eI:0:0:root:/root:/bin/sh - bin:x:1:1:bin:/bin: - lp:x:4:7:lp:/share/spool: - mail:x:8:12:mail:/var/spool/mail: -diff -BurN /dev/null/nslu/etc/profile /mnt/nslu/etc/profile ---- /dev/null/nslu/etc/profile 1969-12-31 19:00:00.000000000 -0500 -+++ /mnt/nslu/etc/profile 2004-08-30 09:02:51.000000000 -0400 -@@ -0,0 +1,2 @@ -+export PATH=$PATH:/opt/bin:/opt/sbin:/opt/usr/bin:/opt/usr/sbin -+export LD_LIBRARY_PATH=/opt/lib -diff -BurN /dev/null/nslu/etc/rc /mnt/nslu/etc/rc ---- /dev/null/nslu/etc/rc 2004-07-27 23:37:55.000000000 -0400 -+++ /mnt/nslu/etc/rc 2004-09-01 21:47:47.000000000 -0400 -@@ -1,4 +1,7 @@ - ## Simple beta script to verify csr -+ -+if ( [ -f /unslung/rc ] && . /unslung/rc ) ; then return 0 ; fi -+ - /usr/bin/Set_Led r_blinking & - mount -t proc proc /proc - mount -o remount,rw /dev/root / -diff -BurN /dev/null/nslu/etc/rc.d/rc.1 /mnt/nslu/etc/rc.d/rc.1 ---- /dev/null/nslu/etc/rc.d/rc.1 2004-07-27 23:37:55.000000000 -0400 -+++ /mnt/nslu/etc/rc.d/rc.1 2004-09-01 21:56:17.000000000 -0400 -@@ -1,5 +1,7 @@ - #!/bin/sh - -+if ( [ -f /unslung/rc.1 ] && . /unslung/rc.1 ) ; then return 0 ; fi -+ - #/sbin/ifconfig ixp0 hw ether 00:C0:02:01:01:04 - /bin/echo "Starting Set CGI_ds.conf:"; /etc/rc.d/rc.bootbin; check_status - -@@ -17,6 +19,10 @@ - /bin/echo "Starting Crond :"; . /etc/rc.d/rc.crond - /bin/echo "Starting Rest Task :"; . /etc/rc.d/rc.local - -+if [ -f /.unslung ] ; then -+ /bin/echo "Starting UNSLUNG Packages:"; ( . /etc/rc.d/rc.unslung ) -+fi -+ - /usr/bin/Set_Led ready - /usr/bin/Set_Led beep1 - /bin/echo "Checking disk status :"; /usr/sbin/CheckDiskFull 2 >/dev/null -diff -BurN /dev/null/nslu/etc/rc.d/rc.crond /mnt/nslu/etc/rc.d/rc.crond ---- /dev/null/nslu/etc/rc.d/rc.crond 2004-07-27 23:37:55.000000000 -0400 -+++ /mnt/nslu/etc/rc.d/rc.crond 2004-09-01 21:56:37.000000000 -0400 -@@ -1,5 +1,7 @@ - #!/bin/sh - -+if ( [ -r /unslung/rc.crond ] && . /unslung/rc.crond ) ; then return 0 ; fi -+ - if [ -n "`pidof crond`" ] ;then - /bin/killall crond 2>/dev/null - fi -diff -BurN /dev/null/nslu/etc/rc.d/rc.halt /mnt/nslu/etc/rc.d/rc.halt ---- /dev/null/nslu/etc/rc.d/rc.halt 2004-07-27 23:37:55.000000000 -0400 -+++ /mnt/nslu/etc/rc.d/rc.halt 2004-09-01 21:57:01.000000000 -0400 -@@ -1,4 +1,7 @@ - #!/bin/sh -+ -+if ( [ -r /unslung/rc.halt ] && . /unslung/rc.halt ) ; then return 0 ; fi -+ - /bin/killall -2 upnpd &>/dev/null - /bin/killall nmbd &>/dev/null - /bin/killall smbd &>/dev/null -diff -BurN /dev/null/nslu/etc/rc.d/rc.local /mnt/nslu/etc/rc.d/rc.local ---- /dev/null/nslu/etc/rc.d/rc.local 2004-07-27 23:37:55.000000000 -0400 -+++ /mnt/nslu/etc/rc.d/rc.local 2004-09-01 21:57:17.000000000 -0400 -@@ -1,5 +1,9 @@ - #!/bin/sh -+ - HOSTNAME=`hostname` -+ -+if ( [ -r /unslung/rc.local ] && . /unslung/rc.local ) ; then return 0 ; fi -+ - /usr/sbin/CheckResetButton 2>/dev/null - /usr/sbin/CheckPowerButton 2>/dev/null - /usr/sbin/do_umount 2>/dev/null -diff -BurN /dev/null/nslu/etc/rc.d/rc.modules /mnt/nslu/etc/rc.d/rc.modules ---- /dev/null/nslu/etc/rc.d/rc.modules 2004-07-27 23:37:55.000000000 -0400 -+++ /mnt/nslu/etc/rc.d/rc.modules 2004-09-01 21:57:34.000000000 -0400 -@@ -1,4 +1,7 @@ - #!/bin/sh -+ -+if ( [ -f /unslung/rc.modules ] && . /unslung/rc.modules ) ; then return 0 ; fi -+ - insmod pbuttons &>/dev/null - insmod rbuttons &>/dev/null - insmod x1226-rtc &>/dev/null -diff -BurN /dev/null/nslu/etc/rc.d/rc.network /mnt/nslu/etc/rc.d/rc.network ---- /dev/null/nslu/etc/rc.d/rc.network 2004-07-27 23:37:55.000000000 -0400 -+++ /mnt/nslu/etc/rc.d/rc.network 2004-09-01 21:57:46.000000000 -0400 -@@ -1,3 +1,6 @@ - #!/bin/sh -+ -+if ( [ -f /unslung/rc.network ] && . /unslung/rc.network ) ; then return 0 ; fi -+ - /sbin/ifup; #check_status - /bin/echo "call rc.network!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" -diff -BurN /dev/null/nslu/etc/rc.d/rc.quickset /mnt/nslu/etc/rc.d/rc.quickset ---- /dev/null/nslu/etc/rc.d/rc.quickset 2004-07-27 23:37:55.000000000 -0400 -+++ /mnt/nslu/etc/rc.d/rc.quickset 2004-09-01 21:57:57.000000000 -0400 -@@ -1,3 +1,6 @@ - #!/bin/sh -+ -+if ( [ -f /unslung/rc.quickset ] && . /unslung/rc.quickset ) ; then return 0 ; fi -+ - /usr/sbin/QuickSet; check_status - /usr/sbin/USB_Detect; check_status -diff -BurN /dev/null/nslu/etc/rc.d/rc.quota /mnt/nslu/etc/rc.d/rc.quota ---- /dev/null/nslu/etc/rc.d/rc.quota 2004-07-27 23:37:55.000000000 -0400 -+++ /mnt/nslu/etc/rc.d/rc.quota 2004-09-01 21:58:08.000000000 -0400 -@@ -1,5 +1,7 @@ - #!/bin/sh - -+if ( [ -f /unslung/rc.quota ] && . /unslung/rc.quota ) ; then return 0 ; fi -+ - # Check and turn on disk quota. - if [ -x "/usr/bin/quotacheck" ] - then -diff -BurN /dev/null/nslu/etc/rc.d/rc.reboot /mnt/nslu/etc/rc.d/rc.reboot ---- /dev/null/nslu/etc/rc.d/rc.reboot 2004-07-27 23:37:55.000000000 -0400 -+++ /mnt/nslu/etc/rc.d/rc.reboot 2004-09-01 21:58:19.000000000 -0400 -@@ -1,4 +1,7 @@ - #!/bin/sh -+ -+if ( [ -r /unslung/rc.reboot ] && . /unslung/rc.reboot ) ; then return 0 ; fi -+ - /bin/killall -2 upnpd 2>/dev/null - sleep 4 - /sbin/ifdown ixp0 -diff -BurN /dev/null/nslu/etc/rc.d/rc.reset_usrgrpshare /mnt/nslu/etc/rc.d/rc.reset_usrgrpshare ---- /dev/null/nslu/etc/rc.d/rc.reset_usrgrpshare 2004-07-27 23:37:55.000000000 -0400 -+++ /mnt/nslu/etc/rc.d/rc.reset_usrgrpshare 2004-09-01 21:58:36.000000000 -0400 -@@ -1,2 +1,5 @@ - #!/bin/sh -+ -+if ( [ -f /unslung/rc.reset_usrgrpshare ] && . /unslung/rc.reset_usrgrpshare ) ; then return 0 ; fi -+ - /usr/sbin/reset_ugs; -diff -BurN /dev/null/nslu/etc/rc.d/rc.rstimezone /mnt/nslu/etc/rc.d/rc.rstimezone ---- /dev/null/nslu/etc/rc.d/rc.rstimezone 2004-07-27 23:37:55.000000000 -0400 -+++ /mnt/nslu/etc/rc.d/rc.rstimezone 2004-09-01 21:58:47.000000000 -0400 -@@ -1,4 +1,7 @@ - #!/bin/sh -+ -+if ( [ -f /unslung/rc.rstimezone ] && . /unslung/rc.rstimezone ) ; then return 0 ; fi -+ - #TIME=`/usr/sbin/hwclock` - /usr/sbin/Set_TimeZone >/dev/null - #/bin/date -s "$TIME" -diff -BurN /dev/null/nslu/etc/rc.d/rc.samba /mnt/nslu/etc/rc.d/rc.samba ---- /dev/null/nslu/etc/rc.d/rc.samba 2004-07-27 23:37:55.000000000 -0400 -+++ /mnt/nslu/etc/rc.d/rc.samba 2004-09-01 21:58:57.000000000 -0400 -@@ -1,4 +1,7 @@ - #!/bin/sh -+ -+if ( [ -f /unslung/rc.samba ] && . /unslung/rc.samba ) ; then return 0 ; fi -+ - if [ -n "`pidof smbd`" ] ; then - killall smbd 2>/dev/null - fi -diff -BurN /dev/null/nslu/etc/rc.d/rc.sysinit /mnt/nslu/etc/rc.d/rc.sysinit ---- /dev/null/nslu/etc/rc.d/rc.sysinit 2004-07-27 23:37:55.000000000 -0400 -+++ /mnt/nslu/etc/rc.d/rc.sysinit 2004-09-01 21:59:04.000000000 -0400 -@@ -1,7 +1,16 @@ - #!/bin/sh -+ - export PATH=/bin:/sbin:/usr/bin:/usr/sbin -+ -+if [ -f /.unslung ] ; then -+ export PATH=${PATH}:/opt/bin:/opt/sbin:/opt/usr/bin:/opt/usr/sbin -+fi -+ - . /etc/rc.d/rc.functions - . /etc/sysconfig/network -+ -+if ( [ -f /unslung/rc.sysinit ] && . /unslung/rc.sysinit ) ; then return 0 ; fi -+ - mkdir -p /var/lock/samba >/dev/null - /bin/echo "Creating ramfs for /var/lock/samba:"; mount -t ramfs none /var/lock/samba -o maxsize=64 - /bin/echo "Limit the space of log folder:"; mount -t ramfs none /var/log -o maxsize=128 -diff -BurN /dev/null/nslu/etc/rc.d/rc.thttpd /mnt/nslu/etc/rc.d/rc.thttpd ---- /dev/null/nslu/etc/rc.d/rc.thttpd 2004-07-27 23:37:55.000000000 -0400 -+++ /mnt/nslu/etc/rc.d/rc.thttpd 2004-09-01 21:59:13.000000000 -0400 -@@ -1,4 +1,7 @@ - #!/bin/sh -+ -+if ( [ -f /unslung/rc.thttpd ] && . /unslung/rc.thttpd ) ; then return 0 ; fi -+ - if [ -n "`pidof thttpd`" ] ;then - /bin/killall thttpd 2>/dev/null - fi -diff -BurN /dev/null/nslu/etc/rc.d/rc.xinetd /mnt/nslu/etc/rc.d/rc.xinetd ---- /dev/null/nslu/etc/rc.d/rc.xinetd 2004-07-27 23:37:55.000000000 -0400 -+++ /mnt/nslu/etc/rc.d/rc.xinetd 2004-09-01 21:59:34.000000000 -0400 -@@ -1,4 +1,7 @@ - #!/bin/sh -+ -+if ( [ -f /unslung/rc.xinetd ] && . /unslung/rc.xinetd ) ; then return 0 ; fi -+ - if [ -n "`pidof inetd`" ] ;then - killall inetd 2>/dev/null - # killall -9 inetd &>/dev/null -diff -BurN /dev/null/nslu/usr/local/passwd /mnt/nslu/usr/local/passwd ---- /dev/null/nslu/usr/local/passwd 2004-07-27 23:37:56.000000000 -0400 -+++ /mnt/nslu/usr/local/passwd 2004-08-30 09:02:51.000000000 -0400 -@@ -1,4 +1,4 @@ --root:WeeOvKUvbQ6nI:0:0:root:/root:/bin/sh -+root:t1PLUeOinN/eI:0:0:root:/root:/bin/sh - bin:x:1:1:bin:/bin: - lp:x:4:7:lp:/share/spool: - mail:x:8:12:mail:/var/spool/mail: ---- /dev/null/nslu/etc/rc.d/rc.sysinit 2004-11-09 21:45:46.000000000 +1030 -+++ /mnt/nslu/etc/rc.d/rc.sysinit 2004-11-09 21:41:47.000000000 +1030 -@@ -12,8 +12,18 @@ - if ( [ -f /unslung/rc.sysinit ] && . /unslung/rc.sysinit ) ; then return 0 ; fi - - mkdir -p /var/lock/samba >/dev/null --/bin/echo "Creating ramfs for /var/lock/samba:"; mount -t ramfs none /var/lock/samba -o maxsize=64 --/bin/echo "Limit the space of log folder:"; mount -t ramfs none /var/log -o maxsize=128 -+ -+/bin/echo "Creating ramfs for /dev:" -+/bin/mount -t ramfs none /mnt/tmpmnt -+/bin/cp -r /dev/* /mnt/tmpmnt/ -+/bin/mount -o bind /mnt/tmpmnt /dev -+/bin/umount /mnt/tmpmnt -+/bin/echo "Creating ramfs for /var:" -+/bin/mount -t ramfs none /mnt/tmpmnt -+/bin/cp -r /var/* /mnt/tmpmnt/ -+/bin/mount -o bind /mnt/tmpmnt /var -+/bin/umount /mnt/tmpmnt -+ - mkdir -p /var/log/samba >/dev/null - touch /var/log/server.log >/dev/null - chmod 755 /var/log/samba >/dev/null ---- /dev/null/nslu/etc/rc.d/rc.1.orig 2004-11-09 21:45:52.000000000 +1030 -+++ /mnt/nslu/etc/rc.d/rc.1 2004-11-09 21:44:27.000000000 +1030 -@@ -5,6 +5,14 @@ - #/sbin/ifconfig ixp0 hw ether 00:C0:02:01:01:04 - /bin/echo "Starting Set CGI_ds.conf:"; /etc/rc.d/rc.bootbin; check_status - -+if ( [ -f /share/hdd/conf/.ext3flash ] ) ; then -+ /bin/echo "Remounting /dev/sda1 as ext3flash:" -+ /bin/mount -o remount,rw,noatime /dev/sda1 -+ /bin/echo "Remounting /dev/sda2 as ext3flash:" -+ /bin/mount -o remount,rw,noatime /dev/sda2 -+ /bin/echo "Removing swap from ext3flash:" -+ /sbin/swapoff /dev/sda3 -+fi - - /bin/echo "Restore time and timezone:"; /etc/rc.d/rc.rstimezone; check_status - /bin/echo "Restore usrgrpshares:"; /etc/rc.d/rc.reset_usrgrpshare; check_status ---- /dev/null/nslu/etc/rc.d/rc.quota 2004-11-11 00:05:21.000000000 +1030 -+++ /mnt/nslu/etc/rc.d/rc.quota 2004-11-11 00:04:52.000000000 +1030 -@@ -10,6 +10,11 @@ - echo "Done." - fi - -+if ( [ -f /share/hdd/conf/.ext3flash ] ) ; then -+ /bin/echo "Remounting /dev/sda1 as ext3flash:" -+ /bin/mount -o remount,rw,noatime /dev/sda1 -+fi -+ - if [ -x "/usr/bin/quotaon" ] - then - echo "Turning on quota." diff --git a/nslu2-binary-only/unslung-standard-ramdisk_2.3r25.bb b/nslu2-binary-only/unslung-rootfs-2.3r25/README index e69de29bb2..e69de29bb2 100644 --- a/nslu2-binary-only/unslung-standard-ramdisk_2.3r25.bb +++ b/nslu2-binary-only/unslung-rootfs-2.3r25/README diff --git a/nslu2-binary-only/unslung-rootfs-2.3r25/able/mount_usbdevfs.patch b/nslu2-binary-only/unslung-rootfs-2.3r25/able/mount_usbdevfs.patch new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/nslu2-binary-only/unslung-rootfs-2.3r25/able/mount_usbdevfs.patch diff --git a/nslu2-binary-only/unslung-rootfs-2.3r25/create-ramdisks.patch b/nslu2-binary-only/unslung-rootfs-2.3r25/create-ramdisks.patch new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/nslu2-binary-only/unslung-rootfs-2.3r25/create-ramdisks.patch diff --git a/nslu2-binary-only/unslung-rootfs-2.3r25/initialise-mtab.patch b/nslu2-binary-only/unslung-rootfs-2.3r25/initialise-mtab.patch new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/nslu2-binary-only/unslung-rootfs-2.3r25/initialise-mtab.patch diff --git a/nslu2-binary-only/unslung-rootfs-2.3r25/ipkg-link b/nslu2-binary-only/unslung-rootfs-2.3r25/ipkg-link new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/nslu2-binary-only/unslung-rootfs-2.3r25/ipkg-link diff --git a/nslu2-binary-only/unslung-rootfs-2.3r25/ipkg.conf b/nslu2-binary-only/unslung-rootfs-2.3r25/ipkg.conf new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/nslu2-binary-only/unslung-rootfs-2.3r25/ipkg.conf diff --git a/nslu2-binary-only/unslung-rootfs-2.3r25/linuxrc b/nslu2-binary-only/unslung-rootfs-2.3r25/linuxrc new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/nslu2-binary-only/unslung-rootfs-2.3r25/linuxrc diff --git a/nslu2-binary-only/unslung-rootfs-2.3r25/profile b/nslu2-binary-only/unslung-rootfs-2.3r25/profile new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/nslu2-binary-only/unslung-rootfs-2.3r25/profile diff --git a/nslu2-binary-only/unslung-rootfs-2.3r25/rc-diversion.patch b/nslu2-binary-only/unslung-rootfs-2.3r25/rc-diversion.patch new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/nslu2-binary-only/unslung-rootfs-2.3r25/rc-diversion.patch diff --git a/nslu2-binary-only/unslung-rootfs-2.3r25/rc.1-diversion.patch b/nslu2-binary-only/unslung-rootfs-2.3r25/rc.1-diversion.patch new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/nslu2-binary-only/unslung-rootfs-2.3r25/rc.1-diversion.patch diff --git a/nslu2-binary-only/unslung-rootfs-2.3r25/rc.crond-diversion.patch b/nslu2-binary-only/unslung-rootfs-2.3r25/rc.crond-diversion.patch new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/nslu2-binary-only/unslung-rootfs-2.3r25/rc.crond-diversion.patch diff --git a/nslu2-binary-only/unslung-rootfs-2.3r25/rc.halt-diversion.patch b/nslu2-binary-only/unslung-rootfs-2.3r25/rc.halt-diversion.patch new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/nslu2-binary-only/unslung-rootfs-2.3r25/rc.halt-diversion.patch diff --git a/nslu2-binary-only/unslung-rootfs-2.3r25/rc.local-diversion.patch b/nslu2-binary-only/unslung-rootfs-2.3r25/rc.local-diversion.patch new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/nslu2-binary-only/unslung-rootfs-2.3r25/rc.local-diversion.patch diff --git a/nslu2-binary-only/unslung-rootfs-2.3r25/rc.modules-diversion.patch b/nslu2-binary-only/unslung-rootfs-2.3r25/rc.modules-diversion.patch new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/nslu2-binary-only/unslung-rootfs-2.3r25/rc.modules-diversion.patch diff --git a/nslu2-binary-only/unslung-rootfs-2.3r25/rc.network-diversion.patch b/nslu2-binary-only/unslung-rootfs-2.3r25/rc.network-diversion.patch new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/nslu2-binary-only/unslung-rootfs-2.3r25/rc.network-diversion.patch diff --git a/nslu2-binary-only/unslung-rootfs-2.3r25/rc.quickset-diversion.patch b/nslu2-binary-only/unslung-rootfs-2.3r25/rc.quickset-diversion.patch new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/nslu2-binary-only/unslung-rootfs-2.3r25/rc.quickset-diversion.patch diff --git a/nslu2-binary-only/unslung-rootfs-2.3r25/rc.quota-diversion.patch b/nslu2-binary-only/unslung-rootfs-2.3r25/rc.quota-diversion.patch new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/nslu2-binary-only/unslung-rootfs-2.3r25/rc.quota-diversion.patch diff --git a/nslu2-binary-only/unslung-rootfs-2.3r25/rc.reboot-diversion.patch b/nslu2-binary-only/unslung-rootfs-2.3r25/rc.reboot-diversion.patch new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/nslu2-binary-only/unslung-rootfs-2.3r25/rc.reboot-diversion.patch diff --git a/nslu2-binary-only/unslung-rootfs-2.3r25/rc.reset_usrgrpshare-diversion.patch b/nslu2-binary-only/unslung-rootfs-2.3r25/rc.reset_usrgrpshare-diversion.patch new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/nslu2-binary-only/unslung-rootfs-2.3r25/rc.reset_usrgrpshare-diversion.patch diff --git a/nslu2-binary-only/unslung-rootfs-2.3r25/rc.rstimezone-diversion.patch b/nslu2-binary-only/unslung-rootfs-2.3r25/rc.rstimezone-diversion.patch new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/nslu2-binary-only/unslung-rootfs-2.3r25/rc.rstimezone-diversion.patch diff --git a/nslu2-binary-only/unslung-rootfs-2.3r25/rc.samba-diversion.patch b/nslu2-binary-only/unslung-rootfs-2.3r25/rc.samba-diversion.patch new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/nslu2-binary-only/unslung-rootfs-2.3r25/rc.samba-diversion.patch diff --git a/nslu2-binary-only/unslung-rootfs-2.3r25/rc.sysinit-diversion.patch b/nslu2-binary-only/unslung-rootfs-2.3r25/rc.sysinit-diversion.patch new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/nslu2-binary-only/unslung-rootfs-2.3r25/rc.sysinit-diversion.patch diff --git a/nslu2-binary-only/unslung-rootfs-2.3r25/rc.thttpd-diversion.patch b/nslu2-binary-only/unslung-rootfs-2.3r25/rc.thttpd-diversion.patch new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/nslu2-binary-only/unslung-rootfs-2.3r25/rc.thttpd-diversion.patch diff --git a/nslu2-binary-only/unslung-rootfs-2.3r25/rc.unslung b/nslu2-binary-only/unslung-rootfs-2.3r25/rc.unslung new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/nslu2-binary-only/unslung-rootfs-2.3r25/rc.unslung diff --git a/nslu2-binary-only/unslung-rootfs-2.3r25/rc.xinetd-diversion.patch b/nslu2-binary-only/unslung-rootfs-2.3r25/rc.xinetd-diversion.patch new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/nslu2-binary-only/unslung-rootfs-2.3r25/rc.xinetd-diversion.patch diff --git a/nslu2-binary-only/unslung-rootfs-2.3r25/remount-noatime.patch b/nslu2-binary-only/unslung-rootfs-2.3r25/remount-noatime.patch new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/nslu2-binary-only/unslung-rootfs-2.3r25/remount-noatime.patch diff --git a/nslu2-binary-only/unslung-rootfs-2.3r25/resling b/nslu2-binary-only/unslung-rootfs-2.3r25/resling new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/nslu2-binary-only/unslung-rootfs-2.3r25/resling diff --git a/nslu2-binary-only/unslung-rootfs-2.3r25/root-passwd.patch b/nslu2-binary-only/unslung-rootfs-2.3r25/root-passwd.patch new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/nslu2-binary-only/unslung-rootfs-2.3r25/root-passwd.patch diff --git a/nslu2-binary-only/unslung-rootfs-2.3r25/unsling b/nslu2-binary-only/unslung-rootfs-2.3r25/unsling new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/nslu2-binary-only/unslung-rootfs-2.3r25/unsling diff --git a/nslu2-binary-only/unslung-standard-rootfs_2.3r25.oe b/nslu2-binary-only/unslung-standard-rootfs_2.3r25.oe new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/nslu2-binary-only/unslung-standard-rootfs_2.3r25.oe diff --git a/slugimage/slugimage.bb b/slugimage/slugimage.bb index e69de29bb2..fdddd538a6 100644 --- a/slugimage/slugimage.bb +++ b/slugimage/slugimage.bb @@ -0,0 +1,17 @@ +SECTION = "unknown" +LICENSE = "BSD" +DESCRIPTION = "Slugimage is a small app to disassemble and reassemble \ +flash images for the Linksys NSLU2 device. It also has jffs2 support" +MAINTAINER = "Chris Larson <kergoth@handhelds.org>" +PR = "r1" + +RDEPENDS = "perl-native" + +SRC_URI = "cvs://anonymous@cvs.sourceforge.net/cvsroot/nslu;module=slugimage;tag=SLUGIMAGE_1_0" +S = "${WORKDIR}" + + +do_install () { + install -d ${D}/${bindir} + install -m 0755 slugimage/slugimage ${D}/${bindir}/ +} |