diff options
Diffstat (limited to 'backend/bundlers/installcd.php')
-rw-r--r-- | backend/bundlers/installcd.php | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/backend/bundlers/installcd.php b/backend/bundlers/installcd.php index 90d549d..49420b0 100644 --- a/backend/bundlers/installcd.php +++ b/backend/bundlers/installcd.php @@ -1,12 +1,18 @@ <?php function bundle_installcd($I, $W, &$opts) { - $profile=new sql_gentoo_profile($opts); + $profile=new sql_gentoo_profile($opts['profile']); $headers=$profile->get_headers(); if (strpos($headers['chost'], 'x86_64') === false) $minimaliso='/home/eitan/soc/install-x86-minimal-20090623.iso'; else $minimaliso='/home/eitan/soc/install-amd64-minimal-20090625.iso'; - execute_command('Mount minimal CD image', "mount -o loop -t iso9660 '$minimaliso' '$W/tmp'"); + makedir("$I/boot"); + execute_command('Extract kernel, initrd, and squashfs from CD image ', LIB."/bkisofs-cli '$minimaliso' extract /isolinux/gentoo '$I/boot/kernel' extract /isolinux/gentoo.igz '$I/boot/initrd' extract /image.squashfs '$W/'"); + file_put_contents("$W/unsquashfs-files", "/lib64/modules\n/lib/modules\n"); + execute_command('Copy kernel modules from SquashFS to image', "unsquashfs -i -d '$I' -e '$W/unsquashfs-files' '$W/image.squashfs'"); + execute_command('Compress finished image to tar/bzip2', "tar -p --same-owner -cjvf '$W/image.tar.bz2' -C '$I' ."); + execute_command('Create ISO image', LIB."/bkisofs-cli '$minimaliso' add / '$W/image.tar.bz2' write '$W/image.iso'"); +/* execute_command('Mount minimal CD image', "mount -o loop -t iso9660 '$minimaliso' '$W/tmp'"); execute_command('Copy CD image to writable temp directory', "cp -va '$W/tmp' '$W/cd'"); execute_command('Unmount CD image', "umount '$W/tmp'"); execute_command('Copy kernel and initrd from CD to image', "cp -va '$W/cd/isolinux/gentoo' '$W/cd/isolinux/gentoo.igz' '$I/boot/'"); @@ -16,6 +22,6 @@ function bundle_installcd($I, $W, &$opts) { // TODO port the rest of /usr/lib/catalyst/targets/support/create-iso.sh to support other bootloaders // ISOLINUX bootloader // mkisofs -J -R -l ${mkisofs_zisofs_opts} -V "${clst_iso_volume_id}" -o ${1} -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table ${clst_target_path} - execute_command('Create ISO image', "mkisofs -J -R -l -V 'Ingenue Build $build->id' -o '$W/image.iso' -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table '$W/cd'"); + execute_command('Create ISO image', "mkisofs -J -R -l -V 'Ingenue Build $build->id' -o '$W/image.iso' -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table '$W/cd'");*/ return "$W/image.iso"; } |