diff options
author | Chris Larson <clarson@kergoth.com> | 2004-12-09 01:08:42 +0000 |
---|---|---|
committer | Chris Larson <clarson@kergoth.com> | 2004-12-09 01:08:42 +0000 |
commit | 542d7821374d6d02d672bfd9f7139338030d645e (patch) | |
tree | cb5eef91b6996e0c2ade9ddc74aed922edeadbf3 | |
parent | 45a347c0ad9b95345d817f027c7865670e83fb35 (diff) |
Merge
2004/12/07 19:17:51-08:00 (none)!jacques
module-init-tools: fixes recent packaging improvements change which broke -cross build
2004/12/07 13:43:37-08:00 bkbits.net!nslu2-linux.adm
Merge bk://oe-devel.bkbits.net/packages
into bkbits.net:/repos/n/nslu2-linux/packages
2004/12/07 22:55:16+10:30 (none)!rwhitby
Made the Unslung README even more clear about not plugging in a disk before telnetting into the NSLU2.
2004/12/05 22:58:32+10:30 (none)!rwhitby
Bumped the package revisions
2004/12/05 22:55:34+10:30 (none)!rwhitby
Fixed the download locations after our wiki hosting change, and also robustified the slugimage calls
2004/12/04 17:26:29+10:30 (none)!rwhitby
Merge bk://nslu2-linux@nslu2-linux.bkbits.net/packages
into home.(none):/home/openembedded/packages
2004/12/04 17:25:56+10:30 (none)!rwhitby
Added code to nslu2-specific packages to restrict builds to the right MACHINE and DISTRO. Also added default CVSDATE lines for packages that go out of date every day (the ones which should use a CVS tag instead of a just getting the latest from CVS).
2004/12/04 01:03:46-05:00 giantshoulder.com!g2
Merge
2004/12/04 00:49:06-05:00 giantshoulder.com!g2
Add READLINK_FOLLOW patch support for OpenSlug
2004/12/03 14:29:09-08:00 bkbits.net!nslu2-linux.adm
Merge bk://oe-devel.bkbits.net/packages
into bkbits.net:/repos/n/nslu2-linux/packages
2004/12/01 16:42:04-08:00 (none)!jacques
change default libc to glibc, remove modutils-related packages
2004/11/30 23:09:55+10:30 (none)!rwhitby
Network-enabled switchbox, including telnetd support.
2004/11/30 00:05:33+10:30 (none)!rwhitby
Merge bk://nslu2-linux@nslu2-linux.bkbits.net/packages
into home.(none):/home/openembedded/packages
2004/11/30 00:04:32+10:30 (none)!rwhitby
Changed nslu2-linksys-firmware from using slugtool to using slugimage
2004/11/29 04:17:28-08:00 bkbits.net!nslu2-linux.adm
Merge bk://oe-devel.bkbits.net/packages
into bkbits.net:/repos/n/nslu2-linux/packages
2004/11/28 16:24:59+10:30 (none)!rwhitby
Unslung README changes (thanks to [g2] for the review).
2004/11/28 10:01:17+10:30 (none)!rwhitby
SlugImage now uses a CVS tag for selection
2004/11/26 21:05:04+10:30 (none)!rwhitby
Enabled mounting of external drives earlier in the Unslung boot process, so that the rc, rc.sysinit, and rc.1 scripts can be diverted by external diversion scripts on an attached drive.
2004/11/25 23:46:02+10:30 (none)!rwhitby
Added external diversion script support to Unslung and bumped version to 3.7-alpha
2004/11/25 08:37:51+10:30 (none)!rwhitby
Mounted original /dev and /var as /foo.state for Unslung jffs2 version (so that changes can be made to the persistent state that is copied to the ramdisk on boot).
2004/11/24 13:45:45-08:00 bkbits.net!nslu2-linux.adm
Merge bk://oe-devel.bkbits.net/packages
into bkbits.net:/repos/n/nslu2-linux/packages
2004/11/23 02:26:52-08:00 (none)!jacques
Merge bk://nslu2-linux@nslu2-linux.bkbits.net/packages
into home.(none):/home/packages/oe/nslu2/packages
2004/11/23 02:26:02-08:00 (none)!jacques
openslug.conf: made TARGET_OS and USE_NLS over-ridable in local.conf
2004/11/23 00:58:29-08:00 bkbits.net!nslu2-linux.adm
Merge bk://openembedded.bkbits.net/packages-devel
into bkbits.net:/repos/n/nslu2-linux/packages
2004/11/22 21:23:46-05:00 uottawa.ca!stephane
Updated nslu2-io.c with kas11's latest version which adds ioctls for buzzer control.
2004/11/22 23:40:31+10:30 (none)!rwhitby
Added awk to Unslung slingbox
2004/11/21 22:30:39+10:30 (none)!rwhitby
Merge bk://nslu2-linux@nslu2-linux.bkbits.net/packages
into home.(none):/home/openembedded/packages
2004/11/21 22:30:00+10:30 (none)!rwhitby
Split unslung.patch into many separate managed patches. Added a patch to reinitialise /etc/mtab on boot. Bumped version to 3.5-alpha.
2004/11/21 02:31:40-08:00 (none)!jacques
added USE_NLS = "no" to openslug.conf as this fixes problems with 'date', 'top', and possibly other apps.
2004/11/21 14:58:05+10:30 (none)!rwhitby
Changed ipkg.conf and slingbox in Unslung to better support ipkg-link requirements.
2004/11/21 09:34:41+10:30 (none)!rwhitby
Removed support for the unslung ramdisk.img - all scenarios can be covered by the flashdisk.img with jffs2 support
2004/11/20 12:36:25-08:00 bkbits.net!nslu2-linux.adm
Merge bk://openembedded.bkbits.net/packages-devel
into bkbits.net:/repos/n/nslu2-linux/packages
2004/11/20 03:54:51-10:00 (none)!dyoung
added AFP support
2004/11/20 22:59:57+10:30 (none)!rwhitby
Unslung's insling script now saves the root disk ipkg database is the target disk already has one.
2004/11/20 22:37:43+10:30 (none)!rwhitby
More error checking for Unslung's insling script
2004/11/20 22:03:30+10:30 (none)!rwhitby
Made Unslung's insling script more robust.
2004/11/20 20:55:36+10:30 (none)!rwhitby
Licensed slugimage as BSD.
2004/11/20 20:55:16+10:30 (none)!rwhitby
Created unslung-packages.
2004/11/20 20:54:38+10:30 (none)!rwhitby
Added insling, resling and ipkg-link to Unslung.
2004/11/19 19:14:26-08:00 bkbits.net!nslu2-linux.adm
Merge bk://openembedded.bkbits.net/packages-devel
into bkbits.net:/repos/n/nslu2-linux/packages
2004/11/19 13:43:55-08:00 bkbits.net!nslu2-linux.adm
Merge bk://openembedded.bkbits.net/packages-devel
into bkbits.net:/repos/n/nslu2-linux/packages
BKrev: 41b7a59az4WBwdMLxUhV0hW59RtFjQ
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}/ +} |