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-al |
