summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRod Whitby <rod@whitby.id.au>2004-12-25 01:22:09 +0000
committerRod Whitby <rod@whitby.id.au>2004-12-25 01:22:09 +0000
commit6be786b612c756bb32b293f2845444482f9cc89a (patch)
treed19365c0236851832a2e9ad669dda4fc784004b0
parent6af70483462fff9ebae43dec06da691f4961758e (diff)
Merge bk://nslu2-linux@nslu2-linux.bkbits.net/openembedded
into home.(none):/home/slug/openembedded 2004/12/25 11:51:29+10:30 (none)!rwhitby Unslung 3.14-alpha with web control of maintenance mode courtesy of glc BKrev: 41ccc0c1l52K2v27wIv8njIkGSeejQ
-rw-r--r--conf/distro/unslung.conf3
-rw-r--r--packages/nslu2-binary-only/nslu2-switchbox-firmware.bb4
-rw-r--r--packages/nslu2-binary-only/unslung-rootfs-2.3r25/README312
-rw-r--r--packages/nslu2-binary-only/unslung-rootfs-2.3r25/maintmode.cgi0
-rw-r--r--packages/nslu2-binary-only/unslung-rootfs-2.3r25/rc-diversion.patch29
-rw-r--r--packages/nslu2-binary-only/unslung-rootfs-2.3r25/upgrade-maint.htm0
-rw-r--r--packages/nslu2-binary-only/unslung-rootfs-2.3r25/upgrade-nomaint.htm0
-rw-r--r--packages/nslu2-binary-only/unslung-standard-rootfs_2.3r25.bb18
8 files changed, 362 insertions, 4 deletions
diff --git a/conf/distro/unslung.conf b/conf/distro/unslung.conf
index a9cb62c17f..8108b2b767 100644
--- a/conf/distro/unslung.conf
+++ b/conf/distro/unslung.conf
@@ -17,6 +17,9 @@ EXTRA_IMAGECMD_jffs2 = "--pad --big-endian --eraseblock=0x20000 -D ${UNSLUNG_DEV
# IMAGE_FSTYPES = "ext2.gz jffs2"
# EXTRA_IMAGECMD_ext2.gz = "-f ${UNSLUNG_DEVICE_TABLE}"
+EXTRA_IMAGEDEPENDS += 'unslung-switchbox-payload'
+NSLU2_SLUGIMAGE_ARGS = -l payload.tar.gz
+
UNSLUNG_EXTRA_PACKAGES +=
UNSLUNG_EXTRA_DEPENDS +=
diff --git a/packages/nslu2-binary-only/nslu2-switchbox-firmware.bb b/packages/nslu2-binary-only/nslu2-switchbox-firmware.bb
index ad213e725a..2c333c71d5 100644
--- a/packages/nslu2-binary-only/nslu2-switchbox-firmware.bb
+++ b/packages/nslu2-binary-only/nslu2-switchbox-firmware.bb
@@ -2,9 +2,9 @@ SECTION = "base"
DEPENDS = ""
PACKAGES = ""
INHIBIT_DEFAULT_DEPS = "1"
-PR = "r6"
+PR = "r7"
-SRC_URI = "http://nslu.sf.net/downloads/switchbox-3.5.tar.gz"
+SRC_URI = "http://nslu.sf.net/downloads/switchbox-3.6.tar.gz"
S = "${WORKDIR}"
python () {
diff --git a/packages/nslu2-binary-only/unslung-rootfs-2.3r25/README b/packages/nslu2-binary-only/unslung-rootfs-2.3r25/README
index e69de29bb2..0e42d54f85 100644
--- a/packages/nslu2-binary-only/unslung-rootfs-2.3r25/README
+++ b/packages/nslu2-binary-only/unslung-rootfs-2.3r25/README
@@ -0,0 +1,312 @@
+UNSLUNG-3.x family release README
+
+Unslung is a replacement firmware image for the Linksys NSLU2 which is
+designed to allow you to make changes to the root filesystem
+(including the installation of downloadable packages) while still
+providing (almost) all 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 3.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) Because you can now make changes to the root filesystem in the
+ internal flash storage, you no longer need to have an external
+ disk to use the Unslung firmware (except if you want to install
+ more than what can fit in the meagre spare space in the internal
+ flash storage).
+
+3) If you do want to use an external disk as the target for package
+ installation, then 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 or Unslung 2.x to Unslung 3.x without reformatting
+ your disk. The unsling script will not touch anything in /unslung
+ or /opt on your disk, so make sure all your file modifications are
+ in those directories, as you were warned in the README file in
+ Unslung 1.x and Unslung 2.x :-)
+
+INSTALLATION DETAILS
+
+1) Make sure your NSLU2 is working properly, and remove any disks that
+ you may have plugged into the NSLU2 (upgrades must always be
+ performed with *no* hard disks or flash disks attached).
+
+2) If you are installing Unslung 3.x onto an NSLU2 unit which has the
+ standard Linksys firmware or Unslung versions 1.x or 2.x installed,
+ then just flash unslung-standard-3.x.img as you normally would
+ flash new firmware (using the web interface Upgrade Firmware page).
+
+3) If you are installing Unslung 3.x onto an NSLU2 unit which already
+ has Unslung version 3.x installed, then you must put the NSLU2 into
+ maintenance mode before you can use the web interface to flash a new
+ version. Just click the "Enter Maintenance Mode" link on the web
+ interface Upgrade Firmware page, wait for the NSLU2 to reboot, and
+ then you can flash the new firmware in the normal manner.
+
+4) Verify your NSLU2 is working normally at this point.
+
+5) 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,
+ and because Unslung 3.x now runs completely from the internal flash
+ memory, it is no longer necessary to "unsling" to an external disk
+ unless you wish to store downloadable packages on that disk - which
+ you will probably want to do, because the internal flash memory
+ only has enough spare room to one or two very small packages.
+
+ 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. Note that if you had previously changed
+ the IP address of your NSLU2 from 192.168.1.77 to something else, then
+ you should use that new IP address to enable telnet. Also note that
+ you should use the username "admin" and password "admin" for the web
+ interface at this point (as no disks are attached, the default
+ username and password is the only way to access the Management web
+ pages).
+
+2) Make sure you have **** NO DISKS ATTACHED AT THIS TIME ****
+
+ If you plug a disk in before you complete the telnet connection,
+ then the NSLU2 will pick up the Linksys password from the disk,
+ and you will not be able to telnet into it. So don't have any
+ disks attached at this point.
+
+ Make sure you have **** NO DISKS ATTACHED AT THIS TIME ****
+ (Sorry for the capitals, this step seems to trip up some people.)
+
+ OK, now that you don't have any disks attached, you can proceed and
+ 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". Note that starting with
+ Unslung 3.x, the external disk is no longer used for the root
+ filesystem, so only a few documentation files will be copied to
+ the "conf" partition (not the "data" partition). Once you
+ "unsling" to an external disk on a particular port (Disk 1 or
+ Disk 2), it is important that you keep that disk continually
+ plugged into that same port whenever the NSLU2 is turned on.
+
+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!
+
+Make sure you add an entry to the "The Unslung 3.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 external disk (or even
+in the internal flash memory) using diversion scripts.
+
+If you "unsling" an external disk, then downloaded packages will be
+installed onto that external disk. The number of packages that you
+can install is only limited by the size of the "conf" partition on the
+external disk.
+
+If you are experienced with the Linux operating system, then you can
+also make changes directly to the root filesystem, and these changes
+are persistent across reboots.
+
+You are advised to use diversion scripts (see below) on an external
+disk to modify the behaviour of the NSLU2 rather than editing system
+files directly (as this will allow you to upgrade the Unslung firmware
+in the future without having to make all your changes again).
+
+If you do need to edit system files directly, then you can use the
+"resling" script to save and load your modified system files.
+
+POST-INSTALLATION DETAILS
+
+Diversion scripts go into /unslung (which is normally a symbolic link
+to the unslung directory on the conf partition of an external disk).
+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
+
+0) Note that you must have network connectivity to the package
+ repository at http://ipkg.nslu2-linux.org before proceeding.
+ You must also confirm that your DNS server address is set in the
+ web interface, or the NSLU2 will not be able to find the site.
+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.
+
+ADDITIONAL INFORMATION:
+
+1) The unsling firmware and associated scripts will never touch any
+ files under /unslung or /opt, so please store all your additional
+ files there.
+
+2) 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.
+
+3) The diversion mechanism allows you to add to, or replace, the Linksys
+ script functionality.
+
+4) 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 NSLU2 with Unslung firmware has the same network
+ footprint as the standard firmware.
+
+5) This simple diversion script will enable telnet on boot
+
+ [ Store the following in /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
+
+6) 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.
+
+3.4:
+
+Replaced flashfs script with new resling script.
+
+3.5:
+
+Added code to reinitialise /etc/mtab on boot.
+
+3.6:
+
+Mounted /dev and /var jffs2 directories as /dev.state and /var.state
+so that they can be used for persistent changes which are used to
+populate the ramdisks on the next boot.
+
+3.7:
+
+Added "Pluggable Personalities" - now runs diversion scripts from both
+the internal jffs2 area and also from an external drive attached at
+boot time.
+
+3.8:
+
+Enabled mounting of external drives earlier in the boot process, so
+that the rc, rc.sysinit, and rc.1 scripts can be diverted by external
+diversion scripts on an attached drive.
diff --git a/packages/nslu2-binary-only/unslung-rootfs-2.3r25/maintmode.cgi b/packages/nslu2-binary-only/unslung-rootfs-2.3r25/maintmode.cgi
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/nslu2-binary-only/unslung-rootfs-2.3r25/maintmode.cgi
diff --git a/packages/nslu2-binary-only/unslung-rootfs-2.3r25/rc-diversion.patch b/packages/nslu2-binary-only/unslung-rootfs-2.3r25/rc-diversion.patch
index e69de29bb2..7ab6bbf566 100644
--- a/packages/nslu2-binary-only/unslung-rootfs-2.3r25/rc-diversion.patch
+++ b/packages/nslu2-binary-only/unslung-rootfs-2.3r25/rc-diversion.patch
@@ -0,0 +1,29 @@
+--- nslu2-linksys-ramdisk-2.3r25/etc/rc~ 2004-07-27 23:37:55.000000000 -0400
++++ nslu2-linksys-ramdisk-2.3r25/etc/rc 2004-09-01 21:47:47.000000000 -0400
+@@ -1,4 +1,26 @@
+ ## 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 /
++
++if [ -f /.ramdisk ] ; then
++ echo "Root filesystem is running in maintenance mode ..."
++ ( cd /home/httpd/html/Management ; mv upgrade-maint.htm upgrade.htm )
++fi
++
++# Wait for the USB disks to be recognised.
++sleep 5
++
++if ( [ -f /proc/hd_conn ] ) ; then
++ /bin/mount -t ext3 /dev/sda2 /share/hdd/conf
++ /bin/rm -rf /mnt/sda2 ; /bin/ln -s /share/hdd/conf /mnt/sda2
++fi
++
++if ( [ -f /proc/hd2_conn ] ) ; then
++ /bin/mount -t ext3 /dev/sdb2 /share/flash/conf
++ /bin/rm -rf /mnt/sdb2 ; /bin/ln -s /share/flash/conf /mnt/sdb2
++fi
++
diff --git a/packages/nslu2-binary-only/unslung-rootfs-2.3r25/upgrade-maint.htm b/packages/nslu2-binary-only/unslung-rootfs-2.3r25/upgrade-maint.htm
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/nslu2-binary-only/unslung-rootfs-2.3r25/upgrade-maint.htm
diff --git a/packages/nslu2-binary-only/unslung-rootfs-2.3r25/upgrade-nomaint.htm b/packages/nslu2-binary-only/unslung-rootfs-2.3r25/upgrade-nomaint.htm
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/nslu2-binary-only/unslung-rootfs-2.3r25/upgrade-nomaint.htm
diff --git a/packages/nslu2-binary-only/unslung-standard-rootfs_2.3r25.bb b/packages/nslu2-binary-only/unslung-standard-rootfs_2.3r25.bb
index 66bb81f262..8934501602 100644
--- a/packages/nslu2-binary-only/unslung-standard-rootfs_2.3r25.bb
+++ b/packages/nslu2-binary-only/unslung-standard-rootfs_2.3r25.bb
@@ -1,8 +1,8 @@
SECTION = "base"
-PR = "r34"
+PR = "r35"
-UNSLUNG_VERSION = "3.13-alpha"
+UNSLUNG_VERSION = "3.14-alpha"
UNSLUNG_VARIANT ?= "standard"
DEPENDS = "nslu2-linksys-libs"
@@ -37,6 +37,7 @@ SRC_URI = "http://nslu.sf.net/downloads/nslu2-linksys-ramdisk-2.3r25.tar.bz2 \
file://remount-noatime.patch;patch=1 \
file://initialise-mtab.patch;patch=1 \
file://mount_usbdevfs.patch;patch=1 \
+ file://maintmode.cgi file://upgrade-maint.htm file://upgrade-nomaint.htm \
"
S = "${WORKDIR}/nslu2-linksys-ramdisk-2.3r25"
@@ -72,6 +73,19 @@ do_compile () {
# Remove the libraries, because they are in nslu2-linksys-libs now
rm -rf ${S}/lib
+
+ # Install maintenance mode files
+ install -m 755 ${WORKDIR}/maintmode.cgi ${S}/home/httpd/html/Management
+ install -m 644 ${WORKDIR}/upgrade-maint.htm ${S}/home/httpd/html/Management/upgrade-maint.htm
+ install -m 644 ${WORKDIR}/upgrade-nomaint.htm ${S}/home/httpd/html/Management/upgrade-nomaint.htm
+ install -m 644 ${WORKDIR}/upgrade-nomaint.htm ${S}/home/httpd/html/Management/upgrade.htm
+ sed -i -e s/@ds_sw_version#/@ds_sw_version#-uNSLUng-${UNSLUNG_VARIANT}-${UNSLUNG_VERSION}/ \
+ ${S}/home/httpd/html/Management/upgrade-maint.htm
+ sed -i -e s/@ds_sw_version#/@ds_sw_version#-uNSLUng-${UNSLUNG_VARIANT}-${UNSLUNG_VERSION}/ \
+ ${S}/home/httpd/html/Management/upgrade-nomaint.htm
+ sed -i -e s/@ds_sw_version#/@ds_sw_version#-uNSLUng-${UNSLUNG_VARIANT}-${UNSLUNG_VERSION}/ \
+ ${S}/home/httpd/html/Management/upgrade.htm
+
}
do_install () {