Mailinglist Archive: opensuse-commit (1083 mails)
| < Previous | Next > |
commit kiwi
- From: root@xxxxxxxxxxxxxxx (h_root)
- Date: Thu, 20 Sep 2007 01:30:29 +0200
- Message-id: <20070919233029.D97E167817A@xxxxxxxxxxxxxxx>
Hello community,
here is the log from the commit of package kiwi
checked in at Thu Sep 20 01:30:29 CEST 2007.
--------
--- arch/i386/kiwi/kiwi.changes 2007-09-18 14:16:26.000000000 +0200
+++ /mounts/work_src_done/STABLE/kiwi/kiwi.changes 2007-09-19 18:51:19.865689000 +0200
@@ -1,0 +2,18 @@
+Tue Sep 18 20:01:01 CEST 2007 - ms@xxxxxxx
+
+- reread partition table after oemboot installation
+- fixed repartition code for squasfs/aufs based system images
+ installed by oemboot
+- fixed virtual disk size calculation if squashfs is used
+- don't throw a reboot exception in mountSystem but return
+ with code 1 to allow caller to check the return value
+- added support for $HOME/.kiwirc file. It's perl syntax and
+ allows to set the variables $BasePath and $System. By default
+ /usr/share/kiwi is used for $BasePath and /usr/share/kiwi/image
+ is used for $System (#308597)
+- use correct passwd and group template file of the
+ distribution. image descriptions should _not_ provide
+ a passwd or group file within the image description root/
+ path anymore (#297610)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kiwi.spec ++++++
--- /var/tmp/diff_new_pack.Z29091/_old 2007-09-20 01:30:00.000000000 +0200
+++ /var/tmp/diff_new_pack.Z29091/_new 2007-09-20 01:30:00.000000000 +0200
@@ -16,7 +16,7 @@
Requires: perl perl-XML-LibXML perl-libwww-perl screen
Summary: OpenSuSE - KIWI Image System
Version: 1.64
-Release: 11
+Release: 13
Group: System/Management
License: GPL v2 or later
Source: kiwi.tar.bz2
@@ -325,9 +325,23 @@
%dir %{_datadir}/kiwi/image/oemboot
%doc %{_datadir}/kiwi/image/oemboot/README
%{_datadir}/kiwi/image/oemboot/suse*
-
%changelog
* Tue Sep 18 2007 - ms@xxxxxxx
+- reread partition table after oemboot installation
+- fixed repartition code for squasfs/aufs based system images
+ installed by oemboot
+- fixed virtual disk size calculation if squashfs is used
+- don't throw a reboot exception in mountSystem but return
+ with code 1 to allow caller to check the return value
+- added support for $HOME/.kiwirc file. It's perl syntax and
+ allows to set the variables $BasePath and $System. By default
+ /usr/share/kiwi is used for $BasePath and /usr/share/kiwi/image
+ is used for $System (#308597)
+- use correct passwd and group template file of the
+ distribution. image descriptions should _not_ provide
+ a passwd or group file within the image description root/
+ path anymore (#297610)
+* Tue Sep 18 2007 - ms@xxxxxxx
- fixed missing message file for vmx type
- added usage information for --add-profile option
- added baseGetProfilesUsed() function to get information
++++++ kiwi.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/kiwi.pl new/kiwi/kiwi.pl
--- old/kiwi/kiwi.pl 2007-09-18 11:59:00.000000000 +0200
+++ new/kiwi/kiwi.pl 2007-09-19 18:46:01.000000000 +0200
@@ -33,16 +33,37 @@
# Globals (Version)
#--------------------------------------------
our $Version = "1.64";
-our $Revision = "/usr/share/kiwi/.revision";
our $openSUSE = "http://software.opensuse.org/download/";
+our $ConfigFile = "$ENV{'HOME'}/.kiwirc";
+#============================================
+# Read $HOME/.kiwirc
+#--------------------------------------------
+if ( -f $ConfigFile) {
+ my $kiwi = new KIWILog();
+ if (! do $ConfigFile) {
+ $kiwi -> warning ("Invalid $ConfigFile file...");
+ $kiwi -> skipped ();
+ } else {
+ $kiwi -> info ("Using $ConfigFile");
+ $kiwi -> done ();
+ }
+}
#============================================
# Globals
#--------------------------------------------
-our $System = "/usr/share/kiwi/image";
-our $Tools = "/usr/share/kiwi/tools";
-our $Scheme = "/usr/share/kiwi/modules/KIWIScheme.xsd";
-our $KConfig = "/usr/share/kiwi/modules/KIWIConfig.sh";
-our $KMigrate= "/usr/share/kiwi/modules/KIWIMigrate.txt";
+our $BasePath; # configurable base kiwi path
+our $System; # configurable baes kiwi image desc. path
+if ( ! defined $BasePath ) {
+ $BasePath = "/usr/share/kiwi";
+}
+if ( ! defined $System ) {
+ $System = $BasePath."/image";
+}
+our $Tools = $BasePath."/tools";
+our $Scheme = $BasePath."/modules/KIWIScheme.xsd";
+our $KConfig = $BasePath."/modules/KIWIConfig.sh";
+our $KMigrate= $BasePath."/modules/KIWIMigrate.txt";
+our $Revision= $BasePath."/.revision";
#============================================
# Globals
#--------------------------------------------
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/modules/KIWIBoot.pm new/kiwi/modules/KIWIBoot.pm
--- old/kiwi/modules/KIWIBoot.pm 2007-09-18 11:44:16.000000000 +0200
+++ new/kiwi/modules/KIWIBoot.pm 2007-09-19 18:46:00.000000000 +0200
@@ -75,8 +75,7 @@
my $result = $? >> 8;
if ($result == 0) {
$syszip = -s $system;
- $syszip /= 1024 * 1024;
- $syszip = int $syszip + 70;
+ $syszip+= 70 * 1024 * 1024;
} else {
$syszip = 0;
}
@@ -96,7 +95,7 @@
$kiwi -> failed ();
return undef;
}
- $tmpdir = qx ( mktemp -q -d /tmp/kiwiboot.XXXXXX );
+ $tmpdir = qx ( mktemp -q -d /tmp/kiwiboot.XXXXXX ); chomp $tmpdir;
$result = $? >> 8;
if ($result != 0) {
$kiwi -> error ("Couldn't create tmp dir: $tmpdir: $!");
@@ -107,8 +106,12 @@
my $kernelSize = -s $kernel; # the kernel
my $initrdSize = -s $initrd; # the boot image
my $systemSize = -s $system; # the system image
- $vmsize = $kernelSize + $initrdSize + $systemSize;
- my $sparesSize = 0.2 * $vmsize; # and 20% free space
+ if ($syszip) {
+ $vmsize = $kernelSize + $initrdSize + $syszip;
+ } else {
+ $vmsize = $kernelSize + $initrdSize + $systemSize;
+ }
+ my $sparesSize = 0.3 * $vmsize; # and 30% free space
$vmsize = $vmsize + $sparesSize;
$vmsize = $vmsize / 1024 / 1024;
$vmsize = int $vmsize;
@@ -118,7 +121,10 @@
#$kiwi -> info ("Using given virtual disk size of: $vmsize");
}
#$kiwi -> done ();
- chomp $tmpdir;
+ if ($syszip) {
+ $syszip = $syszip / 1024 / 1024;
+ $syszip = int $syszip;
+ }
#==========================================
# Store object data
#------------------------------------------
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/modules/KIWIConfig.sh new/kiwi/modules/KIWIConfig.sh
--- old/kiwi/modules/KIWIConfig.sh 2007-09-18 13:58:26.000000000 +0200
+++ new/kiwi/modules/KIWIConfig.sh 2007-09-19 18:46:00.000000000 +0200
@@ -320,6 +320,7 @@
usleep parted mke2fs pvcreate vgcreate lvm resize2fs ln hdparm
dmesg splash fbmngplay portmap start-statd sm-notify
rpc.statd rpc.idmapd nbd-client mount.nfs mount.nfs4 eject
+ blockdev
"
for path in /sbin /usr/sbin /usr/bin /bin;do
baseStripTools "$path" "$tools"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/modules/KIWILinuxRC.sh new/kiwi/modules/KIWILinuxRC.sh
--- old/kiwi/modules/KIWILinuxRC.sh 2007-09-17 10:51:13.000000000 +0200
+++ new/kiwi/modules/KIWILinuxRC.sh 2007-09-19 18:46:00.000000000 +0200
@@ -1080,7 +1080,34 @@
TSERVER=$kiwitftp
fi
}
-
+#======================================
+# umountSystem
+#--------------------------------------
+function umountSystem () {
+ retval=0
+ OLDIFS=$IFS
+ IFS=$IFS_ORIG
+ mountPath=/mnt
+ if test ! -z $UNIONFS_CONFIG;then
+ roDir=/ro_branch
+ rwDir=/rw_branch
+ xiDir=/xino
+ if ! umount $mountPath >/dev/null 2>&1;then
+ retval=1
+ fi
+ for dir in $roDir $rwDir $xiDir;do
+ if ! umount $dir >/dev/null 2>&1;then
+ retval=1
+ fi
+ done
+ else
+ if ! umount $mountPath >/dev/null 2>&1;then
+ retval=1
+ fi
+ fi
+ IFS=$OLDIFS
+ return $retval
+}
#======================================
# mountSystem
#--------------------------------------
@@ -1124,9 +1151,8 @@
if ! mount $rwDevice $rwDir >/dev/null 2>&1;then
Echo "Creating filesystem for RW data on $rwDevice..."
if ! mke2fs $rwDevice >/dev/null 2>&1;then
- systemException \
- "Failed to create ext2 filesystem" \
- "reboot"
+ Echo "Failed to create ext2 filesystem"
+ retval=1; return $retval
fi
Echo "Checking EXT2 write extend..."
e2fsck -y -f $rwDevice >/dev/null 2>&1
@@ -1164,19 +1190,6 @@
IFS=$OLDIFS
return $retval
}
-
-#======================================
-# umountSystem
-#--------------------------------------
-function umountSystem () {
- umount /mnt >/dev/null 2>&1
- if test ! -z "$UNIONFS_CONFIG";then
- umount /ro_branch >/dev/null 2>&1
- umount /rw_branch >/dev/null 2>&1
- umount /xino >/dev/null 2>&1
- fi
-}
-
#======================================
# cleanDirectory
#--------------------------------------
@@ -1193,7 +1206,6 @@
mv $tmpdir/* $directory
rm -rf $tmpdir
}
-
#======================================
# cleanInitrd
#--------------------------------------
@@ -1215,7 +1227,6 @@
# mount opens fstab so we give them one
touch /etc/fstab
}
-
#======================================
# searchAlternativeConfig
#--------------------------------------
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/modules/KIWIRoot.pm new/kiwi/modules/KIWIRoot.pm
--- old/kiwi/modules/KIWIRoot.pm 2007-09-17 10:51:13.000000000 +0200
+++ new/kiwi/modules/KIWIRoot.pm 2007-09-19 18:46:00.000000000 +0200
@@ -255,8 +255,27 @@
qx ( touch $root/etc/mtab );
qx ( touch $root/etc/sysconfig/bootloader );
# need user/group files as template
- qx ( cp /etc/group $root/etc 2>&1 );
- qx ( cp /etc/passwd $root/etc 2>&1 );
+ my $groupTemplate = "/etc/group";
+ my $paswdTemplate = "/etc/passwd";
+ # search for template files, add paths for different distros here
+ my @searchPWD = (
+ "/var/adm/fillup-templates/passwd.aaa_base"
+ );
+ my @searchGRP = (
+ "/var/adm/fillup-templates/group.aaa_base"
+ );
+ foreach my $group (@searchGRP) {
+ if ( -f $group ) {
+ $groupTemplate = $group; last;
+ }
+ }
+ foreach my $paswd (@searchPWD) {
+ if ( -f $paswd ) {
+ $paswdTemplate = $paswd; last;
+ }
+ }
+ qx ( cp $groupTemplate $root/etc/group 2>&1 );
+ qx ( cp $paswdTemplate $root/etc/passwd 2>&1 );
# need resolv.conf for internal chroot name resolution
qx ( cp /etc/resolv.conf $root/etc 2>&1 );
qx ( cp $main::KConfig $root/.kconfig 2>&1 );
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/.revision new/kiwi/.revision
--- old/kiwi/.revision 2007-09-18 14:16:03.000000000 +0200
+++ new/kiwi/.revision 2007-09-19 18:50:41.000000000 +0200
@@ -1 +1 @@
-626
\ No newline at end of file
+627
\ No newline at end of file
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/system/boot/oemboot/suse-linuxrc new/kiwi/system/boot/oemboot/suse-linuxrc
--- old/kiwi/system/boot/oemboot/suse-linuxrc 2007-09-14 15:18:08.000000000 +0200
+++ new/kiwi/system/boot/oemboot/suse-linuxrc 2007-09-19 18:45:58.000000000 +0200
@@ -35,6 +35,7 @@
# Exports (Configuration)
#--------------------------------------
export VMX_SYSTEM="/config.vmxsystem"
+export LIVECD_CONFIG=$VMX_SYSTEM
#======================================
# Functions...
@@ -72,7 +73,7 @@
# it comes from the cmdline data which means we are not booting
# from CD/DVD USB stick but want to boot the local system
# ----
- LOCAL_BOOT="yes"
+ export LOCAL_BOOT="yes"
fi
#======================================
@@ -96,9 +97,13 @@
# initrd is going to be replaced by a later mkinitrd call
# for unified systems the kiwi initrd is used and the
# kernel parameters of this initrd defines the missing
- # information
+ # information. Additionally the partition table is different
+ # for unified systems. Therefore we check if the second
+ # partition is a squashfs partition and change the root
+ # partition name accordingly
# ----
if [ $LOCAL_BOOT = "no" ];then
+ Echo "Searching for disk and root partition"
USBStickDevice
if [ $stickFound = 0 ];then
deviceFound=0
@@ -114,28 +119,39 @@
"Couldn't find any disk device... abort" \
"reboot"
fi
- deviceDisk=`echo $deviceRoot | tr -d [0-9]`
- deviceSwap="$deviceDisk"2
- deviceHome="$deviceDisk"3
+ export deviceDisk=`echo $deviceRoot | tr -d [0-9]`
+ export deviceSwap="$deviceDisk"2
+ export deviceHome="$deviceDisk"3
else
- deviceDisk=$stickRoot
- deviceSwap="$deviceDisk"2
- deviceHome="$deviceDisk"3
+ Echo "USB stick found, prefer root on stick"
+ export deviceDisk=$stickRoot
+ export deviceSwap="$deviceDisk"2
+ export deviceHome="$deviceDisk"3
fi
+ probeFileSystem "$deviceDisk"2
+ if test "$FSTYPE" = "squashfs";then
+ Echo "Unified system detected, adapting root partition"
+ export UNIONFS_CONFIG="$deviceDisk"3,"$deviceDisk"2,aufs
+ export deviceRoot="$deviceDisk"2
+ export deviceSwap="$deviceDisk"4
+ fi
+ Echo "Using root partition $deviceRoot on disk $deviceDisk"
fi
else
# /.../
# installation mode: find a usable disk to install the image
# on. The image is a virtual disk with one partition
# ----
+ Echo "Searching harddrive for installation"
hwinfo="/usr/sbin/hwinfo --disk"
- deviceDisk=`$hwinfo | grep "Device File:" | head -n 1 | cut -f2 -d:`
- deviceDisk=`echo $deviceDisk`
+ export deviceDisk=`$hwinfo | grep "Device File:" | head -n 1 | cut -f2 -d:`
+ export deviceDisk=`echo $deviceDisk`
if [ -z $deviceDisk ];then
systemException \
"No hard disk found... abort" \
"reboot"
fi
+ Echo "Entering installation mode for disk: $deviceDisk"
fi
#======================================
@@ -158,8 +174,9 @@
if test "$FSTYPE" = "squashfs";then
export UNIONFS_CONFIG="$deviceDisk"3,"$deviceDisk"2,aufs
fi
+ Echo "Try mounting installed system to check version"
mountSystem $deviceRoot; updateNeeded
- umount /mnt >/dev/null 2>&1
+ umountSystem
if test `getSystemIntegrity 1` = "fine";then
Echo "Base system is up to date... reboot"
/sbin/reboot -f -i >/dev/null 2>&1
@@ -223,7 +240,11 @@
#--------------------------------------
umount /cdrom
#======================================
- # 6.6) find new root partition
+ # 6.6) reread partition table
+ #--------------------------------------
+ blockdev --rereadpt $deviceDisk
+ #======================================
+ # 6.7) find new root partition
#--------------------------------------
deviceRoot="$deviceDisk"2
probeFileSystem $deviceRoot
@@ -231,11 +252,12 @@
deviceRoot="$deviceDisk"1
probeFileSystem $deviceRoot
fi
+ Echo "Filesystem of root system is: $FSTYPE -> $deviceRoot"
if test "$FSTYPE" = "squashfs";then
export UNIONFS_CONFIG="$deviceDisk"3,"$deviceDisk"2,aufs
fi
#======================================
- # 6.7) Create md5 version info file
+ # 6.8) Create md5 version info file
#--------------------------------------
if ! mountSystem $deviceRoot;then
systemException \
@@ -255,9 +277,9 @@
versionFile="/mnt/etc/ImageVersion-$atversion"
md5sum=`getSystemMD5Status 1`
echo "$atversion $md5sum" > $versionFile
- umount /mnt
+ umountSystem
#======================================
- # 6.8) reboot system
+ # 6.9) reboot system
#--------------------------------------
if [ $stickFound = 0 ];then
Echo "NOTE: Please remove the installation CD before reboot !"
@@ -290,6 +312,7 @@
#--------------------------------------
mem_size=`grep MemTotal: /proc/meminfo | tr -dc '[0-9]'`
swapsize=$(( $mem_size *2 / 1024 ))
+ Echo "Filesystem of root system is: $FSTYPE -> $deviceRoot"
if ! test "$FSTYPE" = "squashfs";then
#======================================
# 8.2 write new partition table
@@ -336,9 +359,9 @@
#======================================
# 8.3 Update new device names
#--------------------------------------
- deviceRoot="$deviceDisk"2
- deviceSwap="$deviceDisk"1
- deviceHome="$deviceDisk"3
+ export deviceRoot="$deviceDisk"2
+ export deviceSwap="$deviceDisk"1
+ export deviceHome="$deviceDisk"3
#======================================
# 8.4 Activate swap space
@@ -358,9 +381,15 @@
#======================================
# 8.2 calculate end block - swapspace
#--------------------------------------
- swapblocks=$(( $swapsize * 1024 ))
- diskblocks=`sfdisk -s $deviceDisk`
- diskblocks=$(( $diskblocks - $swapblocks ))
+ swapXMBytes=$swapsize
+ diskXMBytes=`sfdisk -s $deviceDisk`
+ diskXMBytes=`expr $diskXMBytes / 1024`
+ disk1MBytes=`sfdisk -s "$deviceDisk"1`
+ disk1MBytes=`expr $disk1MBytes / 1024`
+ disk2MBytes=`sfdisk -s "$deviceDisk"2`
+ disk2MBytes=`expr $disk2MBytes / 1024`
+ disk3MBytes=`expr $diskXMBytes - $disk1MBytes - $disk2MBytes`
+ disk3MBytes=`expr $disk3MBytes - $swapXMBytes`
#======================================
# 8.3 write new partition table
#--------------------------------------
@@ -368,26 +397,26 @@
# Explanation of the fdisk commands used within the
# here document below:
# ----
- # d # delete xda partition
- # 3 # [ 3 ]
- # n # create xda partition at same place than xda3
- # p # primary
- # 3 # [ 3 ]
- # # accept old xda3 start block
- # $diskblocks # accept new RW device size of disk blocks - swap
- # n # create xda swap partition
- # p # primary
- # 4 # [ 4 ]
- # # accept start block
- # # accept end block
- # t # change swap system id
- # 4 # [ 4 ]
- # 82 # Linux Swap
- # w # write partition table
+ # d # delete xda partition
+ # 3 # [ 3 ]
+ # n # create xda partition at same place than xda3
+ # p # primary
+ # 3 # [ 3 ]
+ # # accept old xda3 start block
+ # +"disk3MBytes"M # accept new RW device size of disk blocks - swap
+ # n # create xda swap partition
+ # p # primary
+ # 4 # [ 4 ]
+ # # accept start block
+ # # accept end block
+ # t # change swap system id
+ # 4 # [ 4 ]
+ # 82 # Linux Swap
+ # w # write partition table
# ----
input=/part.input
rm -f $input
- for cmd in d 3 n p 3 . $diskblocks n p 4 . . t 4 82 w;do
+ for cmd in d 3 n p 3 . +"$disk3MBytes"M n p 4 . . t 4 82 w;do
if [ $cmd = "." ];then
echo >> $input
continue
@@ -401,8 +430,17 @@
#======================================
# 8.4 Update new device names
#--------------------------------------
- deviceRoot="$deviceDisk"2
- deviceSwap="$deviceDisk"4
+ export deviceBoot="$deviceDisk"1
+ export deviceRoot="$deviceDisk"2
+ export deviceSwap="$deviceDisk"4
+
+ #======================================
+ # 8.5 Activate swap space
+ #--------------------------------------
+ Echo "Activating swap space on $deviceSwap"
+ if ! mkswap $deviceSwap >/dev/null 2>&1;then
+ systemException "Failed to create swap signature" "reboot"
+ fi
fi
fi
@@ -410,11 +448,11 @@
# 9) Resize filesystem to full space
#--------------------------------------
if [ $LOCAL_BOOT = "no" ];then
- Echo "Filesystem of root system is: $FSTYPE -> $deviceRoot"
if test "$FSTYPE" = "squashfs";then
- UNIONFS_CONFIG="$deviceDisk"3,"$deviceDisk"2,aufs
+ export UNIONFS_CONFIG="$deviceDisk"3,"$deviceDisk"2,aufs
KIWI_INITRD_PARAMS="UNIONFS_CONFIG=\"$UNIONFS_CONFIG\""
KIWI_INITRD_PARAMS="$KIWI_INITRD_PARAMS deviceRoot=\"$deviceRoot\""
+ export KIWI_INITRD_PARAMS
else
if test "$FSTYPE" = "reiserfs";then
Echo "Resize Reiser filesystem to full partition space..."
@@ -458,12 +496,16 @@
# 12) Create system dependant files
#--------------------------------------
if [ $LOCAL_BOOT = "no" ];then
- # a) /etc/fstab
+ # a) /etc/fstab...
+ #-----------------
mkdir -p /config/etc
cat > /config/etc/fstab < /dev/null
if [ -z "$UNIONFS_CONFIG" ]; then
- echo "$deviceRoot / $FSTYPE defaults 0 0" > /config/etc/fstab
+ echo "$deviceRoot / $FSTYPE defaults 0 0" > /config/etc/fstab
echo "$deviceHome /home ext3 defaults 0 0" >> /config/etc/fstab
+ else
+ mkdir -p /config/kiwiboot
+ echo "$deviceBoot /kiwiboot ext2 defaults 0 0" >> /config/etc/fstab
fi
echo "$deviceSwap swap swap pri=42 0 0" >> /config/etc/fstab
echo "devpts /dev/pts devpts mode=0620,gid=5 0 0" >> /config/etc/fstab
@@ -472,43 +514,36 @@
echo "tmpfs /dev/shm tmpfs defaults 0 0" >> /config/etc/fstab
# b) /boot/grub/menu.lst
- console=""
- gdev="(hd0,1)"
- if [ ! -z "$UNIONFS_CONFIG" ]; then
- gnum=`echo $deviceRoot | sed -e "s/\/dev.*\([0-9]\)/\\1/"`
- gdev="(hd0,$gnum)"
- fi
- menu=/config/boot/grub/menu.lst
- mkdir -p /config/boot/grub
- echo "timeout 10" > $menu
- if [ -f /image/loader/message ];then
- echo "gfxmenu $gdev/boot/message" >> $menu
- fi
- IFS="," ; for i in $KERNEL_LIST;do
- if test ! -z "$i";then
- kernel=`echo $i | cut -f1 -d:`
- initrd=`echo $i | cut -f2 -d:`
- if [ ! -z "$UNIONFS_CONFIG" ]; then
- kernel=linux.vmx
- initrd=initrd.vmx
- fi
- echo "title SUSE Linux OEM ($kernel)" >> $menu
- echo -n " kernel $gdev/boot/$kernel" >> $menu
- if [ -z "$UNIONFS_CONFIG" ]; then
+ # ----------------------
+ if [ -z "$UNIONFS_CONFIG" ]; then
+ console=""
+ gdev="(hd0,1)"
+ menu=/config/boot/grub/menu.lst
+ mkdir -p /config/boot/grub
+ echo "timeout 10" > $menu
+ if [ -f /image/loader/message ];then
+ echo "gfxmenu $gdev/boot/message" >> $menu
+ fi
+ IFS="," ; for i in $KERNEL_LIST;do
+ if test ! -z "$i";then
+ kernel=`echo $i | cut -f1 -d:`
+ initrd=`echo $i | cut -f2 -d:`
+ echo "title SUSE Linux OEM ($kernel)" >> $menu
+ echo -n " kernel $gdev/boot/$kernel" >> $menu
echo -n " root=${deviceDisk}2 $console" >> $menu
- else
- echo -n " root=${deviceDisk}1 $console" >> $menu
+ echo " vga=0x314" >> $menu
+ echo " initrd $gdev/boot/$initrd" >> $menu
fi
- echo -n " vga=0x314" >> $menu
- echo " $KIWI_INITRD_PARAMS" >> $menu
- echo " initrd $gdev/boot/$initrd" >> $menu
- fi
- done
+ done
+ fi
# c) /etc/grub.conf...
- # -------------------------
+ # --------------------
mkdir -p /config/etc
gconf=/config/etc/grub.conf
+ if [ ! -z "$UNIONFS_CONFIG" ]; then
+ gdev="(hd0,0)"
+ fi
echo -en "root $gdev\ninstall" > $gconf
echo -n " --stage2=/boot/grub/stage2" >> $gconf
echo -n " /boot/grub/stage1 d (hd0)" >> $gconf
@@ -550,13 +585,11 @@
#======================================
# 16) copy initrd files to image
#--------------------------------------
-if [ $LOCAL_BOOT = "no" ];then
- if [ -f /image/loader/message ];then
- mv /image/loader/message /mnt/boot
- fi
- cp /preinit /mnt
- cp /include /mnt
+if [ -f /image/loader/message ];then
+ mv /image/loader/message /mnt/boot
fi
+cp /preinit /mnt
+cp /include /mnt
#======================================
# 17) Start YaST when booting final sys
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/system/boot/oemboot/suse-preinit new/kiwi/system/boot/oemboot/suse-preinit
--- old/kiwi/system/boot/oemboot/suse-preinit 2007-09-14 15:17:36.000000000 +0200
+++ new/kiwi/system/boot/oemboot/suse-preinit 2007-09-19 18:45:59.000000000 +0200
@@ -29,7 +29,7 @@
#======================================
# 2) create initrd on diskful
#--------------------------------------
-if test -z $KIWI_INITRD_PARAMS;then
+if [ -z "$UNIONFS_CONFIG" ]; then
if test -L /boot/boot;then
mount -t proc proc /proc
mount -t sysfs sysfs /sys
@@ -40,6 +40,25 @@
Echo "Image doesn't provide kernel system map"
Echo "Can't create initrd"
fi
+else
+ if mount $deviceBoot /kiwiboot;then
+ rm -rf /boot && ln -s /kiwiboot/boot /boot
+ console=""
+ gdev="(hd0,0)"
+ menu=/boot/grub/menu.lst
+ echo "timeout 10" > $menu
+ if [ -f /boot/message ];then
+ echo "gfxmenu $gdev/boot/message" >> $menu
+ fi
+ echo "title KIWI VM boot" >> $menu
+ echo -n " kernel $gdev/boot/linux.vmx" >> $menu
+ echo -n " root=${deviceDisk}1 $console" >> $menu
+ echo " $KIWI_INITRD_PARAMS vga=0x314" >> $menu
+ echo " initrd $gdev/boot/initrd.vmx" >> $menu
+ else
+ Echo "Failed to mount boot partition"
+ Echo "Local grub installation will fail !"
+ fi
fi
#======================================
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-commit+help@xxxxxxxxxxxx
| < Previous | Next > |