diff --git a/libguestfs.changes b/libguestfs.changes index 9dd0f99..e8f52d5 100644 --- a/libguestfs.changes +++ b/libguestfs.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Thu Aug 22 11:36:24 CEST 2013 - ohering@suse.de + +- Add network related modules to initrd (bnc#835949) +- Remove supermin.d +- Mount also /dev/pts in mount-rootfs-and-do-chroot.sh +- Handle rw option in ext4.ko +- Update libguestfs.mkinitrd.1210.patch to create /usr/*bin in 11.4 + ------------------------------------------------------------------- Mon Aug 19 23:23:31 CEST 2013 - ohering@suse.de diff --git a/libguestfs.mkinitrd.1210.patch b/libguestfs.mkinitrd.1210.patch index 76ff774..180b961 100644 --- a/libguestfs.mkinitrd.1210.patch +++ b/libguestfs.mkinitrd.1210.patch @@ -1,7 +1,7 @@ --- - mkinitrd/scripts/setup-prepare.sh | 90 +++++++++++++++++++++++++++++++------- - mkinitrd/scripts/setup-progs.sh | 17 +------ - 2 files changed, 78 insertions(+), 29 deletions(-) + mkinitrd/scripts/setup-prepare.sh | 94 +++++++++++++++++++++++++++++++------- + mkinitrd/scripts/setup-progs.sh | 17 +----- + 2 files changed, 80 insertions(+), 31 deletions(-) Index: 1210/mkinitrd/scripts/setup-prepare.sh =================================================================== @@ -29,11 +29,7 @@ Index: 1210/mkinitrd/scripts/setup-prepare.sh cp_bin() { - cp -a "$@" \ - || exit_code=1 -+ local -a files -+ local target -+ local target_dirname -+ local file - +- - # Remember the binaries installed. We need the list for checking - # for dynamic libraries. - while [ $# -gt 1 ]; do @@ -47,6 +43,11 @@ Index: 1210/mkinitrd/scripts/setup-prepare.sh - elif [ -d "$1" -o -f "$1" ]; then - find "$1" -type f -print0 | xargs -0 chmod 0755 - fi ++ local -a files ++ local target ++ local target_dirname ++ local file ++ + # need at least two parameters, source and destination + if test $# -lt 2 + then @@ -126,6 +127,35 @@ Index: 1210/mkinitrd/scripts/setup-prepare.sh feature="${1##*/}" feature="${feature#*-}" feature="${feature%.sh}" +@@ -143,27 +203,27 @@ fi + for feature in $ADDITIONAL_FEATURES ; do + feature_exists "$feature" || echo "[WARNING] Feature \"$feature\" not found. A typo?" + done + + # create an empty initrd + if ! mkdir $tmp_mnt ; then + error 1 "could not create temporary directory" + fi + + # fill the initrd + cp $INITRD_PATH/bin/linuxrc $linuxrc + mkdir "$tmp_mnt/boot" + +-mkdir -p $tmp_mnt/{sbin,bin,etc,dev,proc,sys,root,config} ++mkdir -p $tmp_mnt/{sbin,bin,etc,dev,proc,sys,root,config,usr/bin,usr/sbin} + + mkdir -p -m 4777 $tmp_mnt/tmp + + # Create a dummy /etc/mtab for mount/umount + echo -n > $tmp_mnt/etc/mtab + + # Add modprobe, modprobe.conf*, and a version of /bin/true: modprobe.conf + # might use it. + for mod in $root_dir/etc/modprobe.conf $root_dir/etc/modprobe.conf.local \ + $root_dir/etc/modprobe.d ; do + test -e $mod && cp -r $mod $tmp_mnt/etc + done + cat > $tmp_mnt/bin/true <<-EOF Index: 1210/mkinitrd/scripts/setup-progs.sh =================================================================== --- 1210.orig/mkinitrd/scripts/setup-progs.sh diff --git a/libguestfs.mkinitrd.boot.sh b/libguestfs.mkinitrd.boot.sh index fd241de..db365c9 100644 --- a/libguestfs.mkinitrd.boot.sh +++ b/libguestfs.mkinitrd.boot.sh @@ -75,6 +75,13 @@ #%udevmodules: nls_koi8-ru #%udevmodules: nls_koi8ru #%udevmodules: nls_utf8 +#%udevmodules: +#%udevmodules: af_packet +#%udevmodules: nfs +#%udevmodules: nfsv2 +#%udevmodules: nfsv3 +#%udevmodules: nfsv4 +#%udevmodules: ipv6 # #%programs: mdadm #%programs: modprobe diff --git a/libguestfs.mkinitrd.setup.sh b/libguestfs.mkinitrd.setup.sh index 88134c6..8fd4d2b 100644 --- a/libguestfs.mkinitrd.setup.sh +++ b/libguestfs.mkinitrd.setup.sh @@ -44,6 +44,13 @@ do done done +# Need to create the modprobe.conf file to force read-write mode +if modinfo -k $kernel_version ext4 | grep -E '^parm:[[:blank:]]+rw:' +then + mkdir -vp "${tmp_mnt}/etc/modprobe.d" + echo "options ext4 rw=1" >> "${tmp_mnt}/etc/modprobe.d/ext4-kmp-rw.conf" +fi + # Bug 674684 - mount-rootfs-and-do-chroot.sh cat > $tmp_mnt/bin/mount-rootfs-and-do-chroot.sh <<'__EOF__' #!/bin/bash @@ -60,7 +67,7 @@ then if mount -v "${rootfs}" "${mnt}" then - for i in dev proc sys selinux + for i in dev dev/pts proc sys selinux do if test -d /${i} && test -d "${mnt}/${i}" && test "`stat -c %D /`" != "`stat -c %D ${i}`" then diff --git a/libguestfs.spec b/libguestfs.spec index 237187d..13c80a9 100644 --- a/libguestfs.spec +++ b/libguestfs.spec @@ -507,6 +507,7 @@ make \ export NO_BRP_STRIP_DEBUG=true %endif %makeinstall udevrulesdir=%{udevrulesdir} +rm -rfv $RPM_BUILD_ROOT%{_libdir}/guestfs/supermin.d #remove ocaml bindings files if they are disable via rpm macro %if !%{with ocaml_bindings} rm -rfv $RPM_BUILD_ROOT%{_libdir}/ocaml