summaryrefslogtreecommitdiff
path: root/packages/altboot/altboot.bb
diff options
context:
space:
mode:
authorJustin Patrin <papercrane@gmail.com>2005-08-11 17:18:46 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2005-08-11 17:18:46 +0000
commit28edabd1a8d2e4fea1232319903ad888aa7cae4b (patch)
treed19020d786ab752d8940cf302db74313b481e750 /packages/altboot/altboot.bb
parent4ffaae726ae789ad54e7d30923792d44dcc21f66 (diff)
Fix typo in postinst for spitz, add more robust checking
Add a postrm for spitz (untested)
Diffstat (limited to 'packages/altboot/altboot.bb')
-rw-r--r--packages/altboot/altboot.bb56
1 files changed, 40 insertions, 16 deletions
diff --git a/packages/altboot/altboot.bb b/packages/altboot/altboot.bb
index 882336e598..cf0d9c563e 100644
--- a/packages/altboot/altboot.bb
+++ b/packages/altboot/altboot.bb
@@ -39,27 +39,32 @@ pkg_postinst() {
}
pkg_postinst_spitz() {
-
# Note: Spitz support is a royal pain in the ass.
# Since Spitz pivot_roots by default, there is no real way
# a user can install an altboot.ipk into the flash FS.
# So we need to do that manually (*SIGH*)
-
+
# /l/m only exists on the HDD on spitz
if test -d /lib/modules
then
- if [ -e /media/realroot/sbin/init ]; then
- ROOT_MOUNT_POINT="/media/realroot"
- elif [ -e /media/ROM/sbin/init ]; then
- ROOT_MOUNT_POINT="/media/ROM"
- fi
- ROOT_MOUNT_DEVICE = `cat /proc/mounts | grep $REALROOT | grep jffs2 | cut -d " " -f 1`
- mount -oremount,rw $ROOT_MOUNT_DEVICE $ROOT_MOUNT_POINT
- cp -R /etc/altboot* $ROOT_MOUNT_POINT/etc
- cp /sbin/init.altboot $ROOT_MOINT_POINT/sbin
- mv $ROOT_MOUNT_POINT/sbin/init $ROOT_MOUNT_POINT/sbin/init.orig
- ln -s /sbin/init.altboot $ROOT_MOUNT_POINT/sbin/init
- fi
+ if [ -e /media/realroot/sbin/init ]; then
+ ROOT_MOUNT_POINT="/media/realroot"
+ elif [ -e /media/ROM/sbin/init ]; then
+ ROOT_MOUNT_POINT="/media/ROM"
+ fi
+ if [ ! "$ROOT_MOUNT_POINT" = "" ]; then
+ ROOT_MOUNT_DEVICE=`cat /proc/mounts | grep $ROOT_MOUNT_POINT | grep jffs2 | cut -d " " -f 1`
+ if [ ! "$ROOT_MOUNT_DEVICE" = "" ]; then
+ mount -oremount,rw $ROOT_MOUNT_DEVICE $ROOT_MOUNT_POINT
+ cp -R /etc/altboot* $ROOT_MOUNT_POINT/etc
+ cp /sbin/init.altboot $ROOT_MOUNT_POINT/sbin
+ if [ -f $ROOT_MOUNT_POINT/sbin/init ]; then
+ mv $ROOT_MOUNT_POINT/sbin/init $ROOT_MOUNT_POINT/sbin/init.orig
+ fi
+ ln -s /sbin/init.altboot $ROOT_MOUNT_POINT/sbin/init
+ fi
+ fi
+ fi
}
pkg_postrm() {
@@ -67,6 +72,25 @@ pkg_postrm() {
}
pkg_postrm_spitz() {
- # FIXME: To be written
- a=a # do nothing
+ if test -d /lib/modules
+ then
+ if [ -e /media/realroot/sbin/init ]; then
+ ROOT_MOUNT_POINT="/media/realroot"
+ elif [ -e /media/ROM/sbin/init ]; then
+ ROOT_MOUNT_POINT="/media/ROM"
+ fi
+ if [ ! "$ROOT_MOUNT_POINT" = "" ]; then
+ ROOT_MOUNT_DEVICE=`cat /proc/mounts | grep $ROOT_MOUNT_POINT | grep jffs2 | cut -d " " -f 1`
+ if [ ! "$ROOT_MOUNT_DEVICE" = "" ]; then
+ mount -oremount,rw $ROOT_MOUNT_DEVICE $ROOT_MOUNT_POINT
+ if [ -f $ROOT_MOUNT_POINT/sbin/init.orig ]; then
+ rm $ROOT_MOUNT_POINT/sbin/init
+ rm $ROOT_MOUNT_POINT/sbin/init.altboot
+ mv $ROOT_MOUNT_POINT/sbin/init.orig $ROOT_MOUNT_POINT/sbin/init
+ else
+ echo "$ROOT_MOUNT_POINT/sbin/init.orig not found, not uninstalling altboot!"
+ fi
+ fi
+ fi
+ fi
}