diff options
Diffstat (limited to 'usr/src/cmd/boot/scripts/root_archive.ksh')
-rw-r--r-- | usr/src/cmd/boot/scripts/root_archive.ksh | 37 |
1 files changed, 30 insertions, 7 deletions
diff --git a/usr/src/cmd/boot/scripts/root_archive.ksh b/usr/src/cmd/boot/scripts/root_archive.ksh index 46c5d09fb1..3dce77b5a3 100644 --- a/usr/src/cmd/boot/scripts/root_archive.ksh +++ b/usr/src/cmd/boot/scripts/root_archive.ksh @@ -413,7 +413,11 @@ packmedia() RELEASE=`basename "$RELEASE"` mkdir -p "$MEDIA/$RELEASE/Tools/Boot" + mkdir -p "$MEDIA/boot/amd64" mkdir -p "$MEDIA/boot/platform/i86pc/kernel" + mkdir -p "$MEDIA/boot/platform/i86pc/kernel/amd64" + mkdir -p "$MEDIA/boot/platform/i86xpv/kernel" + mkdir -p "$MEDIA/boot/platform/i86xpv/kernel/amd64" # archive package databases to conserve memory # @@ -427,12 +431,6 @@ packmedia() rm -rf "$MINIROOT/tmp/root/var/sadm/install" rm -rf "$MINIROOT/tmp/root/var/sadm/pkg" - # clear out 64 bit support to conserve memory - # - if [ "$STRIP_AMD64" != false ] ; then - find "$MINIROOT" -name amd64 -type directory | xargs rm -rf - fi - archive_X "$MEDIA" "$MINIROOT" # Take out the gnome and java parts of the installer from @@ -447,6 +445,12 @@ packmedia() cp "$MINIROOT/platform/i86pc/multiboot" "$MEDIA/boot" cp "$MINIROOT/platform/i86pc/kernel/unix" \ "$MEDIA/boot/platform/i86pc/kernel/unix" + cp "$MINIROOT/platform/i86pc/kernel/amd64/unix" \ + "$MEDIA/boot/platform/i86pc/kernel/amd64/unix" + cp "$MINIROOT/platform/i86xpv/kernel/unix" \ + "$MEDIA/boot/platform/i86xpv/kernel/unix" + cp "$MINIROOT/platform/i86xpv/kernel/amd64/unix" \ + "$MEDIA/boot/platform/i86xpv/kernel/amd64/unix" # copy the install menu to menu.lst so we have a menu # on the install media @@ -459,6 +463,10 @@ packmedia() ( cd "$MEDIA/$RELEASE/Tools/Boot" ln -sf ../../../boot/x86.miniroot + ln -sf ../../../boot/platform/i86pc/kernel/unix + ln -sf ../../../boot/platform/i86pc/kernel/amd64/unix + ln -sf ../../../boot/platform/i86xpv/kernel/unix + ln -sf ../../../boot/platform/i86xpv/kernel/amd64/unix ln -sf ../../../boot/multiboot ln -sf ../../../boot/grub/pxegrub ) @@ -669,13 +677,28 @@ trap cleanup EXIT case $1 in packmedia) MEDIA="$MR" - MR="$MR/boot/x86.miniroot" + MR="$MEDIA/boot/x86.miniroot" if [ -d "$UNPACKED_ROOT/kernel/drv/sparcv9" ] ; then archive_X "$MEDIA" "$UNPACKED_ROOT" else packmedia "$MEDIA" "$UNPACKED_ROOT" + + # create the 64-bit miniroot + # if the -6 option was passed, don't strip + # the 64-bit modules from the 32-bit miniroot + MR="$MEDIA/boot/amd64/x86.miniroot" pack + + if [ "$STRIP_AMD64" = false ] ; then + ln $MR $MEDIA/boot/x86.miniroot + else + # create the 32-bit miniroot + MR="$MEDIA/boot/x86.miniroot" + find "$UNPACKED_ROOT" -name amd64 \ + -type directory | xargs rm -rf + pack + fi fi ;; unpackmedia) MEDIA="$MR" |