[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[fedora-virt] [RFC/PATCH] libguestfs: build Debian based appliance



Hi Rich,
attached patches allows to build the appliance based on Debian (or any
Debian based distribution supported by debirf) by using e.g.:

./configure --with-repo=squeeze --with-mirror=http://apt:9999/debian

Please note that the third patch isn't to be applied yet, it simply
overwrites the contents of make/update.sh.in with the stuff we need for
Debian. Also when building a fixed (#509381) debirf is needed which has
just been uploded to unstable.
Cheers,
 -- Guido
>From c2fbd2f953147c4320a158878955f099af45e409 Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Guido=20G=C3=BCnther?= <agx sigxcpu org>
Date: Mon, 15 Jun 2009 20:27:52 +0200
Subject: [PATCH 1/3] check for Debian tools

---
 configure.ac |   46 ++++++++++++++++++++++++++++------------------
 1 files changed, 28 insertions(+), 18 deletions(-)

diff --git a/configure.ac b/configure.ac
index 440a2b6..47fc813 100644
--- a/configure.ac
+++ b/configure.ac
@@ -105,38 +105,37 @@ fi
 dnl Check for febootstrap etc.
 AC_CHECK_PROG([FEBOOTSTRAP],
 	[febootstrap],[febootstrap],[no])
-test "x$FEBOOTSTRAP" = "xno" && \
-     AC_MSG_ERROR([febootstrap must be installed])
-AC_CHECK_PROG([FEBOOTSTRAP_RUN],
+if test "x$FEBOOTSTRAP" != "xno"; then
+  AC_CHECK_PROG([FEBOOTSTRAP_RUN],
 	[febootstrap-run],[febootstrap-run],[no])
-test "x$FEBOOTSTRAP_RUN" = "xno" && \
+  test "x$FEBOOTSTRAP_RUN" = "xno" && \
      AC_MSG_ERROR([febootstrap-run must be installed])
-AC_CHECK_PROG([FEBOOTSTRAP_INSTALL],
+  AC_CHECK_PROG([FEBOOTSTRAP_INSTALL],
 	[febootstrap-install],[febootstrap-install],[no])
-test "x$FEBOOTSTRAP_INSTALL" = "xno" && \
+  test "x$FEBOOTSTRAP_INSTALL" = "xno" && \
      AC_MSG_ERROR([febootstrap-install must be installed])
-AC_CHECK_PROG([FEBOOTSTRAP_MINIMIZE],
+  AC_CHECK_PROG([FEBOOTSTRAP_MINIMIZE],
 	[febootstrap-minimize],[febootstrap-minimize],[no])
-test "x$FEBOOTSTRAP_MINIMIZE" = "xno" && \
+  test "x$FEBOOTSTRAP_MINIMIZE" = "xno" && \
      AC_MSG_ERROR([febootstrap-minimize must be installed])
-AC_CHECK_PROG([FEBOOTSTRAP_TO_INITRAMFS],
+  AC_CHECK_PROG([FEBOOTSTRAP_TO_INITRAMFS],
 	[febootstrap-to-initramfs],[febootstrap-to-initramfs],[no])
-test "x$FEBOOTSTRAP_TO_INITRAMFS" = "xno" && \
+  test "x$FEBOOTSTRAP_TO_INITRAMFS" = "xno" && \
      AC_MSG_ERROR([febootstrap-to-initramfs must be installed])
 
-dnl Check we have fakechroot >= 2.9 (it's an indirect requirement
-dnl of febootstrap, but old versions will fail with yum).
-AC_CHECK_PROG([FAKECHROOT],
+  dnl Check we have fakechroot >= 2.9 (it's an indirect requirement
+  dnl of febootstrap, but old versions will fail with yum).
+  AC_CHECK_PROG([FAKECHROOT],
 	[fakechroot],[fakechroot],[no])
-test "x$FAKECHROOT" = "xno" && \
+  test "x$FAKECHROOT" = "xno" && \
     AC_MSG_ERROR([fakechroot must be installed])
 
-AC_MSG_CHECKING([fakechroot version])
-fakechroot_version=`$FAKECHROOT --version | awk '{print $3}'`
-if test -z "$fakechroot_version"; then
+  AC_MSG_CHECKING([fakechroot version])
+  fakechroot_version=`$FAKECHROOT --version | awk '{print $3}'`
+  if test -z "$fakechroot_version"; then
     AC_MSG_RESULT([failed])
     AC_MSG_WARN([fakechroot --version command failed, proceeding anyway])
-else
+  else
     AC_MSG_RESULT([$fakechroot_version])
     fakechroot_major=`echo $fakechroot_version | awk -F. '{print $1}'`
     fakechroot_minor=`echo $fakechroot_version | awk -F. '{print $2}'`
@@ -144,8 +143,19 @@ else
             \( "$fakechroot_major" -eq 2 -a "$fakechroot_minor" -lt 9 \); then
         AC_MSG_ERROR([fakechroot version must be >= 2.9])
     fi
+  fi
+else
+  # check for debootstrap and debirf
+  AC_CHECK_PROG([DEBOOTSTRAP],
+	[debootstrap],[debootstrap],[no])
+  test "x$DEBOOTSTRAP" = "xno" && \
+	AC_MSG_ERROR([Either febootstrap or debootstrap must be installed])
+  AC_CHECK_PROG([DEBIRF],[debirf],[debirf],[no])
+  test "x$DEBIRF" = "xno" &&
+        AC_MSG_ERROR([debirf must be installed])
 fi
 
+
 dnl --with-repo to specify a Fedora repository.
 AC_ARG_WITH([repo],
 	[AS_HELP_STRING([--with-repo],
-- 
1.6.3.1

>From 1b3c0224bd33c394bf1ae9144ae8c0c8bcff51e7 Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Guido=20G=C3=BCnther?= <agx sigxcpu org>
Date: Tue, 16 Jun 2009 23:47:36 +0200
Subject: [PATCH 2/3] add debirf files

---
 appliance/debian/debirf.conf.in              |    5 ++
 appliance/debian/modules/a0_motd             |    1 +
 appliance/debian/modules/a0_prep-root        |    1 +
 appliance/debian/modules/install_kernel      |   68 ++++++++++++++++++++++++++
 appliance/debian/modules/network             |    1 +
 appliance/debian/modules/root-bashrc         |    1 +
 appliance/debian/modules/serial-terminal     |    1 +
 appliance/debian/modules/y0_install-guestfsd |   56 +++++++++++++++++++++
 appliance/debian/modules/z0_remove-aptitude  |    1 +
 appliance/debian/modules/z0_remove-locales   |    1 +
 appliance/debian/modules/z1_clean-root       |    1 +
 configure.ac                                 |    2 +-
 12 files changed, 138 insertions(+), 1 deletions(-)
 create mode 100644 appliance/debian/debirf.conf.in
 create mode 120000 appliance/debian/modules/a0_motd
 create mode 120000 appliance/debian/modules/a0_prep-root
 create mode 100755 appliance/debian/modules/install_kernel
 create mode 120000 appliance/debian/modules/network
 create mode 120000 appliance/debian/modules/root-bashrc
 create mode 120000 appliance/debian/modules/serial-terminal
 create mode 100755 appliance/debian/modules/y0_install-guestfsd
 create mode 120000 appliance/debian/modules/z0_remove-aptitude
 create mode 120000 appliance/debian/modules/z0_remove-locales
 create mode 120000 appliance/debian/modules/z1_clean-root

diff --git a/appliance/debian/debirf.conf.in b/appliance/debian/debirf.conf.in
new file mode 100644
index 0000000..a3dc16f
--- /dev/null
+++ b/appliance/debian/debirf.conf.in
@@ -0,0 +1,5 @@
+DEBIRF_LABEL="debirf-libguestfs"
+DEBIRF_SUITE= REPO@
+DEBIRF_MIRROR= MIRROR@/${DEBIRF_DISTRO}
+DEBIRF_KERNEL_ARCH=486
+
diff --git a/appliance/debian/modules/a0_motd b/appliance/debian/modules/a0_motd
new file mode 120000
index 0000000..8e3ad2f
--- /dev/null
+++ b/appliance/debian/modules/a0_motd
@@ -0,0 +1 @@
+/usr/share/debirf/modules/a0_motd
\ No newline at end of file
diff --git a/appliance/debian/modules/a0_prep-root b/appliance/debian/modules/a0_prep-root
new file mode 120000
index 0000000..654bc70
--- /dev/null
+++ b/appliance/debian/modules/a0_prep-root
@@ -0,0 +1 @@
+/usr/share/debirf/modules/a0_prep-root
\ No newline at end of file
diff --git a/appliance/debian/modules/install_kernel b/appliance/debian/modules/install_kernel
new file mode 100755
index 0000000..c1076ce
--- /dev/null
+++ b/appliance/debian/modules/install_kernel
@@ -0,0 +1,68 @@
+#!/bin/bash -e
+
+# debirf module: install-kernel
+# install a kernel package, indicated by the expected environment
+# variables:
+#  DEBIRF_PATH
+#  DEBIRF_ROOT
+#  DEBIRF_KERNEL_PACKAGE
+#
+# *** REQUIRED MODULE ***
+# WARNING: this module is necessary for proper functioning of debirf.
+#
+# The debirf scripts were written by
+# Jameson Rollins <jrollins fifthhorseman net>
+# and
+# Daniel Kahn Gillmor <dkg-debian org fifthhorseman net>.
+#
+# They are Copyright 2007, and are all released under the GPL,
+# version 3 or later.
+
+# clear out old modules if they exist, to avoid confusion
+rm -rf "$DEBIRF_ROOT/lib/modules"
+
+# download/copy in kernel package
+if [ -z "$DEBIRF_KERNEL_PACKAGE" ] ; then
+    # determine kernel to install. assume arch of build host.
+
+    # determine kernel arch.  need everything after the kernel version
+    # and debian version
+    if [ -z "$DEBIRF_KERNEL_ARCH" ]; then
+	KARCH=$(uname -r | cut -d- -f3-)
+    else
+	KARCH="$DEBIRF_KERNEL_ARCH"
+    fi
+
+    # determine the full kernel version from the dependency of the
+    # generic 2.6-ARCH package in the debirf root (since it may be
+    # different than what is installed on the build host)
+    KNAME=$(debirf_exec apt-cache show linux-image-2.6-"$KARCH" | grep '^Depends: ' | sed 's/^Depends: //')
+
+    # download only the desired kernel package directly into the apt
+    # cache for dpkg extraction
+    debirf_exec sh -c "cd /var/cache/apt/archives/ && aptitude download \"$KNAME\""
+else
+    # install kernel deb if given at command line
+    debirf_exec sh -c "cd /var/cache/apt/archives/ && aptitude download \"$DEBIRF_KERNEL_PACKAGE\""
+fi
+
+KPKG=$(basename "$DEBIRF_ROOT"/var/cache/apt/archives/linux-image-2.6.*)
+
+echo "extracting kernel package $KPKG..."
+debirf_exec dpkg --extract /var/cache/apt/archives/"$KPKG" /
+
+# install the module init tools, since they are needed for depmod
+debirf_exec apt-get --assume-yes install module-init-tools
+
+# depmod to create module list
+KVERS=$(ls -1 -t "$DEBIRF_ROOT/lib/modules" | head -n1)
+echo "generating modules.dep..."
+debirf_exec depmod -a "$KVERS"
+
+# extract kernel and debian stock initrd from the build root:
+mv "$DEBIRF_ROOT"/boot/vmlinu* "$DEBIRF_BUILDD"
+
+# remove kernel symlinks
+if [ -L "$DEBIRF_ROOT"/vmlinuz ] ; then
+    rm "$DEBIRF_BUILDD"/vmlinuz
+fi
diff --git a/appliance/debian/modules/network b/appliance/debian/modules/network
new file mode 120000
index 0000000..979418d
--- /dev/null
+++ b/appliance/debian/modules/network
@@ -0,0 +1 @@
+/usr/share/debirf/modules/network
\ No newline at end of file
diff --git a/appliance/debian/modules/root-bashrc b/appliance/debian/modules/root-bashrc
new file mode 120000
index 0000000..651d030
--- /dev/null
+++ b/appliance/debian/modules/root-bashrc
@@ -0,0 +1 @@
+/usr/share/debirf/modules/root-bashrc
\ No newline at end of file
diff --git a/appliance/debian/modules/serial-terminal b/appliance/debian/modules/serial-terminal
new file mode 120000
index 0000000..a5376da
--- /dev/null
+++ b/appliance/debian/modules/serial-terminal
@@ -0,0 +1 @@
+/usr/share/debirf/modules/serial-terminal
\ No newline at end of file
diff --git a/appliance/debian/modules/y0_install-guestfsd b/appliance/debian/modules/y0_install-guestfsd
new file mode 100755
index 0000000..45ef7c9
--- /dev/null
+++ b/appliance/debian/modules/y0_install-guestfsd
@@ -0,0 +1,56 @@
+#!/bin/bash
+# install guestfsd specific stuff
+
+#(cd "$DEBIRF_ROOT" && find lib/modules/*/kernel \
+#  -name '*.ko' \
+#  -a ! -name 'virtio.ko' \
+#  -a ! -name 'virtio_net.ko' \
+#  -a ! -name 'virtio_pci.ko' \
+#  -a ! -name 'virtio_ring.ko' \
+#  -a ! -name 'ext2.ko' \
+#  -a ! -name 'ext4.ko' \
+#  -a ! -name 'crc16.ko' \
+#  -a ! -name 'jbd2.ko' \
+#  -a ! -name 'fuse.ko' \
+#  -a ! -name 'vfat.ko' \
+#  -a ! -name 'fat.ko' \
+#  -a ! -name 'udf.ko' \
+#  -a ! -name 'crc_itu_t.ko' \
+#  -a ! -name 'nls_utf8.ko' \
+#  -a ! -name 'dm-*.ko' \
+#  -a -exec rm "{}" \; )
+
+rm -rf "$DEBIRF_ROOT"/usr/share/doc
+rm -rf "$DEBIRF_ROOT"/usr/share/zoneinfo
+
+debirf_exec aptitude -R -y install libaugeas0 lvm2 binutils dosfstools grub iproute module-init-tools ntfs-3g strace util-linux zerofree bsdmainutils
+debirf_exec aptitude -y remove vim-tiny dhcp3-client
+
+debirf_exec mkdir -p --mode=0777 /sysroot
+
+echo $PWD
+install -o root -g root -m 0755 ../daemon/guestfsd "$DEBIRF_ROOT"/sbin/guestfsd
+
+rm -f "$DEBIRF_ROOT"/sbin/init
+cat > "$DEBIRF_ROOT"/sbin/init <<__EOF__
+#!/bin/sh
+export PATH=/sbin:/usr/sbin:$PATH
+cd /dev
+MAKEDEV hda hdb hdc hdd sda sdb sdc sdd sd
+cd /
+mount -t proc /proc /proc
+mount -t sysfs /sys /sys
+mount -t devpts -o gid=5,mode=620 /dev/pts /dev/pts
+modprobe virtio_pci
+modprobe virtio_net
+modprobe dm_mod ||:
+/sbin/ifconfig lo 127.0.0.1
+/sbin/ifconfig eth0 10.0.2.10
+/sbin/route add default gw 10.0.2.2
+lvm vgscan --ignorelockingfailure
+lvm vgchange -ay --ignorelockingfailure
+exec guestfsd -f
+__EOF__
+
+chmod a+x "$DEBIRF_ROOT"/sbin/init
+
diff --git a/appliance/debian/modules/z0_remove-aptitude b/appliance/debian/modules/z0_remove-aptitude
new file mode 120000
index 0000000..7c56260
--- /dev/null
+++ b/appliance/debian/modules/z0_remove-aptitude
@@ -0,0 +1 @@
+/usr/share/debirf/modules/z0_remove-aptitude
\ No newline at end of file
diff --git a/appliance/debian/modules/z0_remove-locales b/appliance/debian/modules/z0_remove-locales
new file mode 120000
index 0000000..80a82fa
--- /dev/null
+++ b/appliance/debian/modules/z0_remove-locales
@@ -0,0 +1 @@
+/usr/share/debirf/modules/z0_remove-locales
\ No newline at end of file
diff --git a/appliance/debian/modules/z1_clean-root b/appliance/debian/modules/z1_clean-root
new file mode 120000
index 0000000..f0d3aad
--- /dev/null
+++ b/appliance/debian/modules/z1_clean-root
@@ -0,0 +1 @@
+/usr/share/debirf/modules/z1_clean-root
\ No newline at end of file
diff --git a/configure.ac b/configure.ac
index 47fc813..b470f76 100644
--- a/configure.ac
+++ b/configure.ac
@@ -504,7 +504,7 @@ dnl Produce output files.
 AC_CONFIG_HEADERS([config.h])
 AC_CONFIG_FILES([Makefile
 		 src/Makefile fish/Makefile po/Makefile.in examples/Makefile
-		 appliance/Makefile
+		 appliance/Makefile appliance/debian/debirf.conf
 	         appliance/make.sh appliance/update.sh
 		 appliance/supermin-split.sh appliance/supermin-make.sh
 		 appliance/guestfs-supermin-helper
-- 
1.6.3.1

>From 3bb3206ea0843bbc54b10bc222e79f5288b2eac0 Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Guido=20G=C3=BCnther?= <agx sigxcpu org>
Date: Tue, 16 Jun 2009 23:47:14 +0200
Subject: [PATCH 3/3] Hack make.sh.in and update.sh.in to build Debian based initramfs

---
 appliance/make.sh.in   |  154 +-----------------------------------------------
 appliance/update.sh.in |   16 ++----
 2 files changed, 7 insertions(+), 163 deletions(-)

diff --git a/appliance/make.sh.in b/appliance/make.sh.in
index 9d77bea..bdc1d71 100755
--- a/appliance/make.sh.in
+++ b/appliance/make.sh.in
@@ -18,156 +18,6 @@
 
 # This is called from the Makefile to build the initramfs.
 
-unset CDPATH
+cd @top_builddir@/appliance
+debirf make -n debian
 
-set -e
-
-cd @top_builddir@
-
-modules="
--i augeas-libs
--i bash
--i binutils
--i coreutils
--i dosfstools
--i file
--i grub
--i iputils
--i kernel
--i lvm2
--i MAKEDEV
--i module-init-tools
--i net-tools
--i ntfs-3g
--i ntfsprogs
--i procps
--i strace
--i util-linux-ng
--i zerofree
-"
-
-# Decide on names for the final output.  These have to match Makefile.am.
-output=appliance/initramfs  REPO@  host_cpu@.img
-koutput=appliance/vmlinuz  REPO@  host_cpu@
-rm -f $output
-rm -f $koutput
-
-# Create the basic initramfs.
- FEBOOTSTRAP@ $modules -u @UPDATES@ @REPO@ initramfs @MIRROR@
-
-# /sysroot is where the guest root filesystem will be mounted.
- FEBOOTSTRAP_RUN@ initramfs -- mkdir -p --mode=0777 /sysroot
-
-# Create /tmp if it is missing.
- FEBOOTSTRAP_RUN@ initramfs -- mkdir -p --mode=0777 /tmp
-
-# Nuke some stuff.  The kernel pulls mkinitrd and plymouth which pulls in
-# all of Python.  Sheez.
-(cd initramfs && find -name '*plymouth*' -print0) |
-  xargs -0 @FEBOOTSTRAP_RUN@ initramfs -- rm -rf
-(cd initramfs && find -name '*python*' -print0) |
-  xargs -0 @FEBOOTSTRAP_RUN@ initramfs -- rm -rf
-
-# In Fedora >= 11, it pulls in all of Perl from somewhere.  Nuke from orbit.
- FEBOOTSTRAP_RUN@ initramfs -- rm -rf /usr/lib/perl5 /usr/lib64/perl5
-
-# Anaconda?  JPEG images?
- FEBOOTSTRAP_RUN@ initramfs -- rm -rf /usr/lib/anaconda-runtime
-
-# Don't need any firmware.
- FEBOOTSTRAP_RUN@ initramfs -- rm -rf /lib/firmware
-
-# Don't need any keyboard maps.
- FEBOOTSTRAP_RUN@ initramfs -- rm -rf /lib/kbd
-
-# Remove anything in home directory.  Because this is potentially
-# liable to monstrous fuck-ups, we don't put a slash before 'home'.
-(cd initramfs && echo home/*) |
-  xargs @FEBOOTSTRAP_RUN@ initramfs -- rm -rf
-
-# Remove /var/lib/yum stuff.
- FEBOOTSTRAP_RUN@ initramfs -- rm -rf /var/lib/yum
-
-# Kernel modules take up nearly half of the image.  Only include ones
-# which are on the whitelist.
-exec 5<appliance/kmod.whitelist
-whitelist=
-while read kmod 0<&5; do
-    whitelist="$whitelist -a -not -name $kmod"
-done
-exec 5<&-
-
-(cd initramfs && \
-  find lib/modules/*/kernel -name '*.ko' $whitelist -a -print0 ) |
-  xargs -0 febootstrap-run initramfs -- rm
-
-# Pull the kernel out into the current directory.  We don't want it in
-# the initramfs image.
-cp initramfs/boot/vmlinuz* $koutput
- FEBOOTSTRAP_RUN@ initramfs -- rm -rf boot
-
-# Minimize the image.
- FEBOOTSTRAP_MINIMIZE@ initramfs
-
-# Add some missing configuration files.
-if [ ! -f initramfs/etc/hosts ]; then
-    cat > hosts.new <<'__EOF__'
-127.0.0.1 guestfs localhost.localdomain localhost
-::1       localhost6.localdomain6 localhost6
-__EOF__
-    @FEBOOTSTRAP_INSTALL@ initramfs hosts.new /etc/hosts 0644 root.root
-    rm hosts.new
-fi
-
-if [ ! -f initramfs/etc/fstab ]; then
-    @FEBOOTSTRAP_RUN@ initramfs -- touch /etc/fstab
-fi
-
-echo nameserver 10.0.2.3 > resolv.conf.new
- FEBOOTSTRAP_INSTALL@ initramfs resolv.conf.new /etc/resolv.conf 0644 root.root
-rm resolv.conf.new
-
-# Create the init script.
-cat > init.new <<'__EOF__'
-#!/bin/sh
-echo Starting /init script ...
-PATH=/sbin:/usr/sbin:$PATH
-mount -t tmpfs none /dev
-mkdir /dev/pts /dev/shm /dev/mapper
-MAKEDEV mem null port zero core full ram tty console fd \
-  hda hdb hdc hdd sda sdb sdc sdd loop sd
-mknod /dev/ptmx c 5 2; chmod 0666 /dev/ptmx
-mknod /dev/random c 1 8;  chmod 0666 /dev/random
-mknod /dev/urandom c 1 9; chmod 0444 /dev/urandom
-mount -t proc /proc /proc
-mount -t sysfs /sys /sys
-mount -t devpts -o gid=5,mode=620 /dev/pts /dev/pts
-ln -sf /proc/self/fd/0 /dev/stdin
-ln -sf /proc/self/fd/1 /dev/stdout
-ln -sf /proc/self/fd/2 /dev/stderr
-modprobe virtio_pci
-modprobe virtio_net
-modprobe dm_mod ||:
-/sbin/ifconfig lo 127.0.0.1
-/sbin/ifconfig eth0 10.0.2.10
-/sbin/route add default gw 10.0.2.2
-lvm vgscan --ignorelockingfailure
-lvm vgchange -ay --ignorelockingfailure
-if grep -sq guestfs_rescue=1 /proc/cmdline; then
-  bash -i
-fi
-exec guestfsd -f
-__EOF__
-
- FEBOOTSTRAP_INSTALL@ initramfs init.new /init 0755 root.root
-rm init.new
-
-# Just in case the kernel isn't looking for /init, make /sbin/init
-# be our script, not the real init.
-# FEBOOTSTRAP_RUN@ initramfs -- ln -f /init /sbin/init
-
-ls -lh $koutput
-
-# Now directly run the update script to copy/update the daemon in the
-# initramfs.
-cd appliance && bash update.sh
diff --git a/appliance/update.sh.in b/appliance/update.sh.in
index 3b779f8..2140eab 100755
--- a/appliance/update.sh.in
+++ b/appliance/update.sh.in
@@ -19,18 +19,12 @@
 # Update the daemon inside an existing initramfs.  Avoids the
 # timeconsuming rebuild.
 
-unset CDPATH
-
 set -e
 
-cd @top_builddir@
-
-output=appliance/initramfs  REPO@  host_cpu@.img
+cd @top_builddir@/appliance
 
-# Copy the daemon into the filesystem.
- FEBOOTSTRAP_INSTALL@ initramfs daemon/guestfsd /sbin/guestfsd 0755 root.root
+output=initramfs  REPO@  host_cpu@.img
+vmlinuz=vmlinuz  REPO@  host_cpu@
 
-# Generate final image.
- FEBOOTSTRAP_TO_INITRAMFS@ initramfs > $output-t
-mv $output-t $output
-ls -lh $output
+ln -sf debian/debirf-libguestfs_ REPO@*.cgz $output
+ln -sf debian/vmlinuz-* $vmlinuz
-- 
1.6.3.1


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]