From 3a6184dcf376fd3f5cf6ff990f4653d5818c65bb Mon Sep 17 00:00:00 2001 From: Pierre Pronchery Date: Wed, 3 Sep 2008 11:42:12 +0000 Subject: [PATCH] Moved platform-dependant code to their respective targets --- targets/Linux | 2 -- targets/Linux-arm | 53 ++++++++++++++++++++++++++++++++++++++++------ targets/Linux-i386 | 32 ++++++++++++++++++++++++++++ 3 files changed, 79 insertions(+), 8 deletions(-) diff --git a/targets/Linux b/targets/Linux index dc6c0d5..e454e6c 100644 --- a/targets/Linux +++ b/targets/Linux @@ -1,5 +1,3 @@ [ -z "$KERNEL" ] && KERNEL="/vmlinuz" -[ -z "$MKFS" ] && MKFS="mke2fs -F" [ -z "$MOUNT" ] && MOUNT="$SUDO mount -o loop" -[ -z "$TUNE2FS" ] && TUNE2FS="tune2fs" [ -z "$UMOUNT" ] && UMOUNT="$SUDO umount" diff --git a/targets/Linux-arm b/targets/Linux-arm index 40c04f4..7caa7f6 100644 --- a/targets/Linux-arm +++ b/targets/Linux-arm @@ -17,15 +17,24 @@ source "`dirname $0`/Apps/Devel/src/scripts/targets/Linux" #functions -target_image() +#private +_create_directories() { echo echo -n "Creating missing directories:" - for i in /bin /etc /lib; do - echo -n " $i" - $MKDIR "$DESTDIR$i" + while true; do + echo -n " $1" + $MKDIR "$DESTDIR/$1" || exit 2 + shift || break done echo +} + + +#public +target_image() +{ + _create_directories 'bin' 'dev' 'etc' 'lib' echo echo -n "Fixing installation paths:" @@ -35,6 +44,14 @@ target_image() done echo + echo + echo -n "Creating device nodes:" + for i in std pty console input fb; do + echo -n " $i" + (cd "$DESTDIR/dev" && $SUDO sh /sbin/MAKEDEV "$i") + done + echo + if [ ! -z "$KERNEL_MODULES" ]; then echo echo "Installing kernel modules:" @@ -50,7 +67,31 @@ target_image() echo echo "Building tarball:" OLDPWD="$PWD" - (cd "$DESTDIR" && $TAR -czf "$OLDPWD/DeforaOS-rootfs.tar.gz" .) \ - || exit 2 + (cd "$DESTDIR" && $TAR -cvzf "$OLDPWD/DeforaOS-rootfs.tar.gz" .) \ + | while read filename; do + echo -en "\r$filename" + done || (echo && exit 2) + echo -en "\r" $DU DeforaOS-rootfs.tar.gz } + + +target_ramdisk() +{ + target "install" || exit 2 + + _create_directories 'dev' 'proc' 'mnt/cdrom' 'sbin' + + echo + echo -n "Building ramdisk image:" + $MKFS "$RAMDISK_IMAGE" || exit 2 + echo + $DU "$RAMDISK_IMAGE" + + echo + echo -n "Compressing ramdisk:" + $GZIP "$RAMDISK_IMAGE" || exit 2 + $MV "$RAMDISK_IMAGE.gz" "$RAMDISK_IMAGE" || exit 2 + echo + $DU "$RAMDISK_IMAGE" +} diff --git a/targets/Linux-i386 b/targets/Linux-i386 index e73a741..ad818ee 100644 --- a/targets/Linux-i386 +++ b/targets/Linux-i386 @@ -2,6 +2,11 @@ +#variables +[ -z "$MKFS" ] && MKFS="mke2fs -F" +[ -z "$TUNE2FS" ] && TUNE2FS="tune2fs" + + #includes source "`dirname $0`/Apps/Devel/src/scripts/targets/Linux" @@ -45,3 +50,30 @@ EOF -boot-load-size 4 -boot-info-table \ -o "$CDROM_IMAGE" "$DESTDIR" } + + +target_ramdisk() +{ + [ -z "$MOUNTPOINT" ] && error "MOUNTPOINT needs to be set" + $UMOUNT "$MOUNTPOINT" + $MKDIR "$MOUNTPOINT" + $DD if="$DEVZERO" of="$RAMDISK_IMAGE" count="$RAMDISK_SIZE"|| exit 2 + $MKFS "$RAMDISK_IMAGE" || exit 2 + [ ! -z "$TUNE2FS" ] && $TUNE2FS -i 0 "$RAMDISK_IMAGE" + $MOUNT "$RAMDISK_IMAGE" "$MOUNTPOINT" || exit 2 + SUBDIRS="Apps/Unix/src/others/tools" target linuxrc || exit 2 + + DESTDIR="$MOUNTPOINT" _create_directories 'dev' 'proc' 'mnt/cdrom' \ + 'sbin' + + $LN "../mnt/cdrom/usr/bin/sh" "$MOUNTPOINT/sbin/init" + $CP "Apps/Unix/src/others/tools/linuxrc" "$MOUNTPOINT" || exit 2 + $UMOUNT "$MOUNTPOINT" + + echo + echo -n "Compressing ramdisk:" + $GZIP "$RAMDISK_IMAGE" || exit 2 + $MV "$RAMDISK_IMAGE.gz" "$RAMDISK_IMAGE" || exit 2 + echo + $DU "$RAMDISK_IMAGE" +}