Many improvements

This commit is contained in:
Pierre Pronchery 2011-03-30 03:55:25 +00:00
parent cefc089472
commit 3134ca7a38

View File

@ -5,10 +5,14 @@
#variables #variables
[ -z "$FDISK" ] && FDISK="fdisk" [ -z "$FDISK" ] && FDISK="fdisk"
[ -z "$GZIP" ] && GZIP="gzip"
[ -z "$IMAGE_BOOT" ] && IMAGE_BOOT="/usr/mdec/boot" [ -z "$IMAGE_BOOT" ] && IMAGE_BOOT="/usr/mdec/boot"
[ -z "$IMAGE_KERNEL" ] && IMAGE_KERNEL="/netbsd.gz"
[ -z "$IMAGE_SIZE" ] && IMAGE_SIZE="65536"
[ -z "$INSTALLBOOT" ] && INSTALLBOOT="installboot" [ -z "$INSTALLBOOT" ] && INSTALLBOOT="installboot"
[ -z "$LDSO" ] && LDSO="/libexec/ld.elf_so" [ -z "$LDSO" ] && LDSO="/libexec/ld.elf_so"
[ -z "$MBRLABEL" ] && MBRLABEL="mbrlabel" [ -z "$MBRLABEL" ] && MBRLABEL="mbrlabel"
[ -z "$MDSETIMAGE" ] && MDSETIMAGE="mdsetimage"
[ -z "$MKFS" ] && MKFS="newfs" [ -z "$MKFS" ] && MKFS="newfs"
[ -z "$MKISOFS" ] && MKISOFS="makefs -t cd9660" [ -z "$MKISOFS" ] && MKISOFS="makefs -t cd9660"
[ -z "$MOUNT" ] && MOUNT="mount" [ -z "$MOUNT" ] && MOUNT="mount"
@ -25,7 +29,7 @@ _image_image_pre()
USAGE="Options for $IMAGE_TYPE on $TARGET: USAGE="Options for $IMAGE_TYPE on $TARGET:
IMAGE_BOOT Path to the bootloader IMAGE_BOOT Path to the bootloader
IMAGE_FILE Where to write the filesystem image IMAGE_FILE Where to write the filesystem image
IMAGE_KERNEL Path to the kernel IMAGE_KERNEL Path to the kernel (optional)
IMAGE_SIZE Size of the filesystem image in kilobytes IMAGE_SIZE Size of the filesystem image in kilobytes
IMAGE_TYPE The type of image to generate IMAGE_TYPE The type of image to generate
LDSO Path to the dynamic loader LDSO Path to the dynamic loader
@ -33,8 +37,8 @@ _image_image_pre()
#sanity check #sanity check
check "$USAGE" CHOWN DD DESTDIR DEVZERO FDISK IMAGE_BOOT IMAGE_FILE \ check "$USAGE" CHOWN DD DESTDIR DEVZERO FDISK IMAGE_BOOT IMAGE_FILE \
IMAGE_KERNEL IMAGE_SIZE INSTALL INSTALLBOOT LDSO LN MBRLABEL \ IMAGE_SIZE INSTALL INSTALLBOOT LDSO LN MBRLABEL MKDIR MKFS \
MKDIR MKFS MKNOD MOUNT MV UMOUNT VNCONFIG VND MKNOD MOUNT MV UMOUNT VNCONFIG VND
$MKDIR "$DESTDIR" || exit 2 $MKDIR "$DESTDIR" || exit 2
$SUDO $UMOUNT "$DESTDIR" $SUDO $UMOUNT "$DESTDIR"
@ -59,10 +63,28 @@ _image_image_post()
$SUDO $MV "$DESTDIR$PREFIX/bin/sh" "$DESTDIR/bin/sh" && $SUDO $MV "$DESTDIR$PREFIX/bin/sh" "$DESTDIR/bin/sh" &&
$SUDO $MKDIR "$DESTDIR/dev" && $SUDO $MKDIR "$DESTDIR/dev" &&
$SUDO $MKNOD -m 600 "$DESTDIR/dev/console" c 0 0 && $SUDO $MKNOD -m 600 "$DESTDIR/dev/console" c 0 0 &&
$SUDO $MKNOD -m 600 "$DESTDIR/dev/hd0a" b 0 0 &&
$SUDO $MKNOD -m 600 "$DESTDIR/dev/hd0b" b 0 1 &&
$SUDO $MKNOD -m 600 "$DESTDIR/dev/hd0c" b 0 2 &&
$SUDO $MKNOD -m 600 "$DESTDIR/dev/hd0d" b 0 3 &&
$SUDO $MKNOD -m 600 "$DESTDIR/dev/hd0e" b 0 4 &&
$SUDO $MKNOD -m 600 "$DESTDIR/dev/hd0f" b 0 5 &&
$SUDO $MKNOD -m 600 "$DESTDIR/dev/hd0g" b 0 6 &&
$SUDO $MKNOD -m 600 "$DESTDIR/dev/hd0h" b 0 7 &&
$SUDO $MKNOD -m 600 "$DESTDIR/dev/rhd0a" c 3 0 &&
$SUDO $MKNOD -m 600 "$DESTDIR/dev/rhd0b" c 3 1 &&
$SUDO $MKNOD -m 600 "$DESTDIR/dev/rhd0c" c 3 2 &&
$SUDO $MKNOD -m 600 "$DESTDIR/dev/rhd0d" c 3 3 &&
$SUDO $MKNOD -m 600 "$DESTDIR/dev/rhd0e" c 3 4 &&
$SUDO $MKNOD -m 600 "$DESTDIR/dev/rhd0f" c 3 5 &&
$SUDO $MKNOD -m 600 "$DESTDIR/dev/rhd0g" c 3 6 &&
$SUDO $MKNOD -m 600 "$DESTDIR/dev/rhd0h" c 3 7 &&
$SUDO $MKDIR "$DESTDIR/etc" &&
$SUDO $MKDIR "$DESTDIR/libexec" "$DESTDIR/usr/libexec" && $SUDO $MKDIR "$DESTDIR/libexec" "$DESTDIR/usr/libexec" &&
$SUDO $INSTALL -m 555 "$LDSO" \ $SUDO $INSTALL -m 555 "$LDSO" \
"$DESTDIR/libexec/ld.elf_so" && "$DESTDIR/libexec/ld.elf_so" &&
$SUDO $LN -s "/libexec/ld.elf_so" "$DESTDIR/usr/libexec"&& $SUDO $LN -s "/libexec/ld.elf_so" "$DESTDIR/usr/libexec"&&
$SUDO $MKDIR "$DESTDIR/proc" &&
$SUDO $MKDIR "$DESTDIR/sbin" && $SUDO $MKDIR "$DESTDIR/sbin" &&
SUBDIRS="Apps/Unix/src/others/tools" target oinit && SUBDIRS="Apps/Unix/src/others/tools" target oinit &&
$SUDO $INSTALL -m 755 "Apps/Unix/src/others/tools/oinit" \ $SUDO $INSTALL -m 755 "Apps/Unix/src/others/tools/oinit" \
@ -79,9 +101,11 @@ menu=Drop to boot prompt:prompt
default=1 default=1
timeout=10 timeout=10
EOF EOF
$SUDO $INSTALL -m 755 "$IMAGE_KERNEL" "$DESTDIR/netbsd" && if [ -n "$IMAGE_KERNEL" ]; then
$SUDO $INSTALLBOOT -m "$MACHINE" -o "timeout=10" "/dev/r${VND}e" \ $SUDO $INSTALL -m 755 "$IMAGE_KERNEL" "$DESTDIR/netbsd" &&
"/usr/mdec/bootxx_ffsv1" $SUDO $INSTALLBOOT -m "$MACHINE" -o "timeout=10" \
"/dev/r${VND}e" "/usr/mdec/bootxx_ffsv1"
fi
RET=$? RET=$?
$SUDO $UMOUNT "$DESTDIR" $SUDO $UMOUNT "$DESTDIR"
$SUDO $VNCONFIG -u "$VND" $SUDO $VNCONFIG -u "$VND"
@ -96,13 +120,15 @@ _image_iso_pre()
IMAGE_BOOT Path to the bootloader IMAGE_BOOT Path to the bootloader
IMAGE_FILE Where to write the filesystem image IMAGE_FILE Where to write the filesystem image
IMAGE_KERNEL Path to the kernel IMAGE_KERNEL Path to the kernel
IMAGE_RAMDISK Path to a ramdisk image (optional)
IMAGE_TYPE The type of image to generate IMAGE_TYPE The type of image to generate
LDSO Path to the dynamic loader LDSO Path to the dynamic loader
MKISOFS Command used to format the filesystem" MKISOFS Command used to format the filesystem"
MKISOFS_ARGS="-o bootimage=i386;bootxx,no-emul-boot,rockridge" MKISOFS_ARGS="-o bootimage=i386;bootxx,no-emul-boot,rockridge"
#sanity check #sanity check
check "$USAGE" IMAGE_BOOT IMAGE_FILE IMAGE_KERNEL LDSO MKISOFS check "$USAGE" IMAGE_BOOT IMAGE_FILE IMAGE_KERNEL LDSO MDSETIMAGE \
MKISOFS
} }
_image_iso_post() _image_iso_post()
@ -117,7 +143,22 @@ _image_iso_post()
$INSTALL -m 755 "Apps/Unix/src/others/tools/oinit" \ $INSTALL -m 755 "Apps/Unix/src/others/tools/oinit" \
"$DESTDIR/sbin/init" || exit 2 "$DESTDIR/sbin/init" || exit 2
$INSTALL -m 755 "$IMAGE_KERNEL" "$DESTDIR/netbsd" || exit 2 $INSTALL -m 755 "$IMAGE_KERNEL" "$DESTDIR/netbsd" || exit 2
if [ -n "$IMAGE_RAMDISK" ]; then
$MDSETIMAGE "$DESTDIR/netbsd" "$IMAGE_RAMDISK" || exit 2
fi
$GZIP -9 "$DESTDIR/netbsd" || exit 2
$INSTALL -m 644 "$IMAGE_BOOT" "$DESTDIR/boot" || exit 2 $INSTALL -m 644 "$IMAGE_BOOT" "$DESTDIR/boot" || exit 2
$SUDO sh -c "cat > $DESTDIR/boot.cfg" << EOF
banner=Welcome to DeforaOS
banner====================
banner=
banner=Please choose an option from the following menu:
menu=Boot DeforaOS:vesa 640x480x8;boot netbsd
menu=Boot DeforaOS (text mode):boot netbsd
menu=Drop to boot prompt:prompt
default=1
timeout=10
EOF
$INSTALL -m 644 "/usr/mdec/bootxx_cd9660" "bootxx" || exit 2 $INSTALL -m 644 "/usr/mdec/bootxx_cd9660" "bootxx" || exit 2
$INSTALLBOOT -m "$MACHINE" -o "console=pc" -e bootxx || exit 2 $INSTALLBOOT -m "$MACHINE" -o "console=pc" -e bootxx || exit 2
$MKISOFS $MKISOFS_ARGS "$IMAGE_FILE" "$DESTDIR" || exit 2 $MKISOFS $MKISOFS_ARGS "$IMAGE_FILE" "$DESTDIR" || exit 2