[arch-releng] [PATCH] [configs/*] chroot to root-image for initramfs build

Gerardo Exequiel Pozzi vmlinuz386 at yahoo.com.ar
Thu Nov 24 00:51:50 EST 2011


Avoid issues with -b BASEDIR (*).
We became independent of the mkinitcpio version of the build environment.

(*) For example of a recent issue:
http://mailman.archlinux.org/pipermail/arch-projects/2011-November/002202.html
http://mailman.archlinux.org/pipermail/arch-projects/2011-November/002205.html

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386 at yahoo.com.ar>
---
 configs/baseline/build.sh |    8 +++-----
 configs/releng/build.sh   |    8 +++-----
 2 files changed, 6 insertions(+), 10 deletions(-)

diff --git a/configs/baseline/build.sh b/configs/baseline/build.sh
index ab7a88e..36cab15 100755
--- a/configs/baseline/build.sh
+++ b/configs/baseline/build.sh
@@ -24,6 +24,7 @@ make_setup_mkinitcpio() {
    if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then
         cp /lib/initcpio/hooks/archiso ${work_dir}/root-image/lib/initcpio/hooks
         cp /lib/initcpio/install/archiso ${work_dir}/root-image/lib/initcpio/install
+        cp ${script_path}/mkinitcpio.conf ${work_dir}/root-image/etc/mkinitcpio-archiso.conf
         : > ${work_dir}/build.${FUNCNAME}
    fi
 }
@@ -32,11 +33,8 @@ make_setup_mkinitcpio() {
 make_boot() {
     if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then
         mkdir -p ${work_dir}/iso/${install_dir}/boot/${arch}
-        mkinitcpio \
-            -c ${script_path}/mkinitcpio.conf \
-            -b ${work_dir}/root-image \
-            -k /boot/vmlinuz-linux \
-            -g ${work_dir}/iso/${install_dir}/boot/${arch}/archiso.img
+        mkarchroot -n -r "mkinitcpio -c /etc/mkinitcpio-archiso.conf -k /boot/vmlinuz-linux -g /boot/archiso.img" ${work_dir}/root-image
+        cp ${work_dir}/root-image/boot/archiso.img ${work_dir}/iso/${install_dir}/boot/${arch}/archiso.img
         cp ${work_dir}/root-image/boot/vmlinuz-linux ${work_dir}/iso/${install_dir}/boot/${arch}/vmlinuz
         : > ${work_dir}/build.${FUNCNAME}
     fi
diff --git a/configs/releng/build.sh b/configs/releng/build.sh
index ad5f822..325bca7 100755
--- a/configs/releng/build.sh
+++ b/configs/releng/build.sh
@@ -49,6 +49,7 @@ make_setup_mkinitcpio() {
         done
         cp /lib/initcpio/archiso_shutdown ${work_dir}/root-image/lib/initcpio
         cp /lib/initcpio/archiso_pxe_nbd ${work_dir}/root-image/lib/initcpio
+        cp ${script_path}/mkinitcpio.conf ${work_dir}/root-image/etc/mkinitcpio-archiso.conf
         : > ${work_dir}/build.${FUNCNAME}
    fi
 }
@@ -59,11 +60,8 @@ make_boot() {
         local _src=${work_dir}/root-image
         local _dst_boot=${work_dir}/iso/${install_dir}/boot
         mkdir -p ${_dst_boot}/${arch}
-        mkinitcpio \
-            -c ${script_path}/mkinitcpio.conf \
-            -b ${_src} \
-            -k /boot/vmlinuz-linux \
-            -g ${_dst_boot}/${arch}/archiso.img
+        mkarchroot -n -r "mkinitcpio -c /etc/mkinitcpio-archiso.conf -k /boot/vmlinuz-linux -g /boot/archiso.img" ${_src}
+        mv ${_src}/boot/archiso.img ${_dst_boot}/${arch}/archiso.img
         mv ${_src}/boot/vmlinuz-linux ${_dst_boot}/${arch}/vmlinuz
         cp ${_src}/boot/memtest86+/memtest.bin ${_dst_boot}/memtest
         cp ${_src}/usr/share/licenses/common/GPL2/license.txt ${_dst_boot}/memtest.COPYING
-- 
1.7.7.4



More information about the arch-releng mailing list