diff options
author | ejka <ejka@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-03-18 14:18:56 +0000 |
---|---|---|
committer | ejka <ejka@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-03-18 14:18:56 +0000 |
commit | 407b204ecd427a257a57bd53b245732ee71bab37 (patch) | |
tree | 3d02e6fd304a8e04f14fb918073d74907c709e58 | |
parent | 312e4176e0e4616589d6244f0b604272a0ccb9cb (diff) |
ar7-2.4 cleanup
- Switch to generic init scripts (/sbin/mount_root, /bin/firstboot,
/etc/preinit), failsafe part moved to /etc/preinit.arch.
This should fix #1449 with an added benefit of using mini_fo.
- Switch to generic /etc/config/network.
- ar7 flashmap: change "OpenWrt" to "rootfs_data", move ar7_mtd_cleanup
out of .exit.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@6604 3c298f89-4303-0410-b956-a3cf2f4a3e73
6 files changed, 8 insertions, 145 deletions
diff --git a/target/linux/ar7-2.4/base-files/default/bin/firstboot b/target/linux/ar7-2.4/base-files/default/bin/firstboot deleted file mode 100755 index 774bbc754..000000000 --- a/target/linux/ar7-2.4/base-files/default/bin/firstboot +++ /dev/null @@ -1,89 +0,0 @@ -#!/bin/sh -# Copyright (C) 2006 OpenWrt.org - -rom=$(awk '/squashfs/ {print $2}' /proc/mounts) -jffs=$(awk '/jffs2/ {print $2}' /proc/mounts) - -dupe() { # <new_root> <old_root> - cd $1 - echo -n "creating directories... " - { - cd $2 - find . -xdev -type d - echo "./dev ./jffs ./mnt ./proc ./tmp ./sys" - # xdev skips mounted directories - cd $1 - } | xargs mkdir -p - echo "done" - - echo -n "setting up symlinks... " - for file in $(cd $2; find . -xdev -type f;); do - case "$file" in - ./rom/note) ;; #nothing - ./etc/config*|\ - ./etc/resolv.conf|\ - ./usr/lib/ipkg/info) cp -af $2/$file $file;; - *) ln -sf /rom/${file#./*} $file;; - esac - done - for file in $(cd $2; find . -xdev -type l;); do - cp -af $2/${file#./*} $file - done - echo "done" -} - -pivot() { # <new_root> <old_root> - mount -o move /proc $1/proc && \ - pivot_root $1 $1$2 && { - mount -o move $2/dev /dev - mount -o move $2/tmp /tmp - mount -o move $2/sys /sys - return 0 - } -} - -mountdp() { # <device> <mount_point> <ignored> <fs> - dev=$1; mnt=$2; shift 2; opt=$* - mount $dev $mnt $opt - dupe $mnt $rom - pivot $mnt /rom -} - -ramoverlay() { - mkdir -p /tmp/root - mountdp /tmp/root /mnt -o bind -} - -[ "${0##*/}" = "firstboot" ] && { - [ -z "$rom" ] && { - echo "You do not have a squashfs partition; aborting" - echo "(firstboot cannot be run on jffs2 based firmwares)" - exit 1 - } - - [ "$1" = "switch2jffs" ] && { - mtd erase OpenWrt - mount -o remount,ro none / # try to avoid fs changing while copying - mount -o bind / /mnt - mount /dev/mtdblock/4 /rom/jffs -t jffs2 - echo -n "copying files ... " - cp -a /mnt/* /rom/jffs - umount /mnt - echo "done" - pivot /rom /mnt - mount -o move /mnt /tmp/root - pivot /jffs /rom - exit 0 - } - - # script run manually - [ \! -z "$jffs" ] && { - echo "firstboot has already been run" - echo "jffs2 partition is mounted, only resetting files" - dupe $jffs $rom - exit 0 - } - - mtd erase OpenWrt - mountdp /dev/mtdblock/4 /jffs -t jffs2 -} diff --git a/target/linux/ar7-2.4/base-files/default/etc/config/network b/target/linux/ar7-2.4/base-files/default/etc/config/network deleted file mode 100644 index 911134bb0..000000000 --- a/target/linux/ar7-2.4/base-files/default/etc/config/network +++ /dev/null @@ -1,14 +0,0 @@ -# Network configuration file - -config interface loopback - option ifname lo - option proto static - option ipaddr 127.0.0.1 - option netmask 255.0.0.0 - -config interface lan - option ifname eth0 - option proto static - option ipaddr 192.168.1.1 - option netmask 255.255.255.0 - diff --git a/target/linux/ar7-2.4/base-files/default/etc/preinit b/target/linux/ar7-2.4/base-files/default/etc/preinit deleted file mode 100755 index 5b676ca3a..000000000 --- a/target/linux/ar7-2.4/base-files/default/etc/preinit +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -export PATH=/bin:/sbin:/usr/bin:/usr/sbin -mount none /proc -t proc - -[ -f /etc/preinit.arch ] && . /etc/preinit.arch -[ -z "$FAILSAFE" ] || { - echo /bin/true > /proc/sys/kernel/hotplug - telnetd -l /bin/login <> /dev/null 2>&1 -} -mount_root ${FAILSAFE:+failsafe} -exec /sbin/init diff --git a/target/linux/ar7-2.4/base-files/default/etc/preinit.arch b/target/linux/ar7-2.4/base-files/default/etc/preinit.arch new file mode 100755 index 000000000..965a1af61 --- /dev/null +++ b/target/linux/ar7-2.4/base-files/default/etc/preinit.arch @@ -0,0 +1,5 @@ +#!/bin/sh +[ -z "$FAILSAFE" ] || { + echo /bin/true > /proc/sys/kernel/hotplug + telnetd -l /bin/login <> /dev/null 2>&1 +} diff --git a/target/linux/ar7-2.4/base-files/default/sbin/mount_root b/target/linux/ar7-2.4/base-files/default/sbin/mount_root deleted file mode 100755 index 6b90bdc9c..000000000 --- a/target/linux/ar7-2.4/base-files/default/sbin/mount_root +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/sh -size=$(awk '/Mem:/ {l=5242880;print((s=$2/2)<l)?$2-l:s}' /proc/meminfo) -mount none /tmp -t tmpfs -o size=$size - -if [ "$1" != "failsafe" ]; then - mtd unlock linux - mount | grep jffs2 >&- - if [ $? = 0 ] ; then - if [ $(cat /proc/mtd | wc -l) = 6 ]; then - mtd erase OpenWrt - else - mount -o remount,rw /dev/root / - fi - else - . /bin/firstboot - echo "switching to jffs2" - mount /dev/mtdblock/4 /jffs -t jffs2 - pivot /jffs /rom || { - echo "jffs2 unusable; using ramdisk" - ramoverlay - } - fi -fi - -mount none /tmp -t tmpfs -o remount,nosuid,nodev,mode=1777 -mkdir -p /dev/pts -mount none /dev/pts -t devpts -mount -t sysfs none /sys 2>&- diff --git a/target/linux/ar7-2.4/patches/001-flash_map.patch b/target/linux/ar7-2.4/patches/001-flash_map.patch index f04929c7b..bd07805c6 100644 --- a/target/linux/ar7-2.4/patches/001-flash_map.patch +++ b/target/linux/ar7-2.4/patches/001-flash_map.patch @@ -26,7 +26,7 @@ diff -urN linux.old/drivers/mtd/maps/ar7-flash.c linux.dev/drivers/mtd/maps/ar7- +extern char *prom_getenv(char *name); + +static int create_mtd_partitions(void); -+static void __exit ar7_mtd_cleanup(void); ++static void ar7_mtd_cleanup(void); + +#define MAX_NUM_PARTITIONS 5 +static struct mtd_partition ar7_partinfo[MAX_NUM_PARTITIONS]; @@ -234,7 +234,7 @@ diff -urN linux.old/drivers/mtd/maps/ar7-flash.c linux.dev/drivers/mtd/maps/ar7- + + ar7_partinfo[p - 2].size = newoffset - rootfs_start; + -+ ar7_partinfo[p].name = strdup("OpenWrt"); ++ ar7_partinfo[p].name = strdup("rootfs_data"); + ar7_partinfo[p].offset = newoffset; + ar7_partinfo[p].size = config_offset - newoffset; + ar7_partinfo[p++].mask_flags = 0; @@ -249,7 +249,7 @@ diff -urN linux.old/drivers/mtd/maps/ar7-flash.c linux.dev/drivers/mtd/maps/ar7- + return p; +} + -+static void __exit ar7_mtd_cleanup(void) ++static void ar7_mtd_cleanup(void) +{ + if (ar7_mtd_info) { + del_mtd_partitions(ar7_mtd_info); |