Have been trying some things, but something isn't working at least with
using
Virtual Box with EFI option. With it off, the cd boots as normal, and works, but
with EFI on, it has an error that flashes on screen, and then it drops to a
shell
prompt. I'm hoping it is just a dumb mistake I am making, and can be
resolved. Perhaps I've named the directories incorrectly, or there is a file
that
is missing or something simple??
Again, Thanks for the info on the list.
Process currently testing. Works if EFI option in virtualbox is off, but
drops to shell if using EFI?? Originally script used mkisofs, but run
into issues with it not excepting the efi modification, so switched to
switched using genisoimage option. Build works, and it runs with EFI off,
but fails when trying it, so something must be wrong?
Tried using EFI/BOOT directory, since that is what the Fedora23 CD seems
to have, and copied the syslinux.efi file from the efi32 directory. Also,
placed alls the efi32 version of the modules in the directory.
The was no ldlinux.c32, but was a ldlinux.e32??
Here is the testing script to build the boot.iso
#!/bin/sh
#
#
# USAGE: ./makecd DEVICE [blank]
# example: ./makecd ATAPI:1,0,0 blank
# first BLANKS a CD-RW and burns to ATAPI Writer on
# Secondary master.
#
#
#
#
#
echo "g4l, Frank Stephen 2004"
echo "g4l comes with ABSOLUTELY NO WARRANTY."
echo "This is free software, and you are welcome"
echo "to redistribute it freely."
echo
echo
sleep 3
#16384
#ramdisk_size=32768
ramdisk_size=65536
ramdisk_size=98304
ramdisk_size=131072
device=$1
option=$2
ver=$3
if [ "$ver" = "" ]; then
alphaver=""
else
alphaver=alpha$ver
fi
if [ "$device" = "" ]; then
echo "USAGE: $0 DEVICE OPTION"
echo "example: $0 ATAPI:1,0,0 blank"
echo "first BLANKS a CD-RW and burns to ATAPI Writer on"
echo "Secondary master."
echo
echo "example: $0 create"
echo "create ISO image only"
exit 1
fi
echo "Creating ramdisk"
dd if=/dev/zero of=bootcd/isolinux/ramdisk bs=1k count=$ramdisk_size
echo "Creating loop device"
losetup /dev/loop0 bootcd/isolinux/ramdisk
echo "Creating ext2 filesystem"
mke2fs -m 0 -b 1024 -N 8000 /dev/loop0
#mke2fs -m 0 -b 4096 -N 4000 /dev/loop0
echo "Mounting loop device in /mnt"
mount /dev/loop0 /mnt
echo "Deleting lost+found"
rm -R /mnt/lost+found
echo "Copy rootfs files to ramdisk in /mnt"
# Added -p to keep the file dates
cp -R --preserve=all bootcd/rootfs/* /mnt
# Added .bash_profile to run g4lmenu at start
cp -p bootcd/rootfs/.bash_profile /mnt
echo "Umounting /mnt"
umount /mnt
echo "Delete loop device"
losetup -d /dev/loop0
echo "Compressing ramdisk"
#gzip bootcd/isolinux/ramdisk
LZMA=`which lzma 2>/dev/null `
if [ $? = "0" ] ; then echo $LZMA
else
echo "makecd create script requires lzma package "
exit 1
fi
lzma -v bootcd/isolinux/ramdisk
echo "Creating ISO9660/Joliet/RockRidge filesystem"
#Previous command to build iso
#mkisofs -l -L -J -R -o boot.iso -b isolinux.bin -c boot.cat -no-emul-boot
-boot-load-size 4 -boot-info-table bootcd/isolinux/.
genisoimage \
-l -V "G4L 0.51$alphaver" \
-o boot.iso \
-c isolinux/boot.cat \
-b isolinux/isolinux.bin \
-no-emul-boot -boot-load-size 4 -boot-info-table \
-eltorito-alt-boot \
-e EFI/BOOT/syslinux.efi \
-no-emul-boot \
bootcd/isolinux/.
if [ "$device" != "create" ]; then
echo "Burning to device $device"
if [ "$option" = "" ]; then
cdrecord -v dev=$device boot.iso
fi
if [ "$option" = "blank" ]; then
cdrecord -v blank=fast dev=$device boot.iso
fi
echo "Deleting ISO image"
rm boot.iso
fi
echo "Deleting ramdisk"
#mv bootcd/isolinux/ramdisk.gz /home/msetzerii
mv bootcd/isolinux/ramdisk.lzma /home/msetzerii
echo "DONE..."
Rim tje script with the following option for testing.
./makecdrm create "" 45efi
The run this to modify?
./isohybrid --uefi boot.iso
Contents of the working bootcd/isolinux directory.
bootcd/isolinux/:
40_custom
bz3x12.57
bz3x12.57.config
bz3x14.65
bz3x14.65.config
bz3x18.29
bz3x18.29.config
bz4x1.20
bz4x1.20.config
bz4x3.6
bz4x3.6.config
bz4x4.6
bz4x4.6.config
bz4x5.0
bz4x5.0.config
cat.c32
COPYING
cpuid.c32
cpuidtest.c32
disclaim
display.c32
dmitest.c32
eltorito.sys
failsafe.cfg
hdt.c32
ldlinux.c32
libcom32.c32
libgpl.c32
libmenu.c32
libutil.c32
linux.c32
ls.c32
meminfo.c32
memtest
menu.c32
menu.lst
modules.pcimap
pci.ids
pcitest.c32
poweroff.c32
preimage
reboot.c32
startup
syslinux.cfg
syslinux.dir
test.png
vesainfo.c32
vesamenu.c32
vpdtest.c32
Added Directory
bootcd/isolinux/EFI:
BOOT
bootcd/isolinux/EFI/BOOT:
cat.c32
cpuid.c32
cpuidtest.c32
display.c32
dmi.c32
efiboot.img
hdt.c32
ldlinux.e32
libcom32.c32
libgpl.c32
libmenu.c32
libutil.c32
linux.c32
ls.c32
meminfo.c32
menu.c32
pcitest.c32
poweroff.c32
reboot.c32
syslinux.cfg
syslinux.efi
vesainfo.c32
vesamenu.c32
vpdtest.c32
bootcd/isolinux/isolinux:
isolinux.bin