iso correctly booting kernel and initrd
also enabled all isolinux extensions and the rosh
This commit is contained in:
parent
53cb23a2c5
commit
c292c13b2f
74
zlibs/iso
74
zlibs/iso
|
|
@ -42,18 +42,73 @@ iso_prepare() {
|
||||||
[[ -r /usr/lib/ISOLINUX/isohdpfx.bin ]] || {
|
[[ -r /usr/lib/ISOLINUX/isohdpfx.bin ]] || {
|
||||||
error "Isolinux binary not found"
|
error "Isolinux binary not found"
|
||||||
zerr; zshexit }
|
zerr; zshexit }
|
||||||
cp /usr/lib/ISOLINUX/isolinux.bin $isodir
|
|
||||||
|
mkdir -p $isodir/isolinux
|
||||||
|
cp /usr/lib/ISOLINUX/isolinux.bin $isodir/isolinux
|
||||||
|
cp /usr/lib/syslinux/modules/bios/*.c32 $isodir/isolinux
|
||||||
|
# cp /usr/lib/syslinux/modules/bios/pwd.c32 $isodir/isolinux
|
||||||
|
# cp /usr/lib/syslinux/modules/bios/sysdump.c32 $isodir/isolinux
|
||||||
|
# cp /usr/lib/syslinux/modules/bios/meminfo.c32 $isodir/isolinux
|
||||||
|
# cp /usr/lib/syslinux/modules/bios/chain.c32 $isodir/isolinux
|
||||||
|
# cp /usr/lib/syslinux/modules/bios/ldlinux.c32 $isodir/isolinux
|
||||||
|
# cp /usr/lib/syslinux/modules/bios/libcom32.c32 $isodir/isolinux
|
||||||
|
# cp /usr/lib/syslinux/modules/bios/libutil.c32 $isodir/isolinux
|
||||||
|
# cp /usr/lib/syslinux/modules/bios/vesamenu.c32 $isodir/isolinux
|
||||||
|
cat <<EOF > $isodir/isolinux/isolinux.cfg
|
||||||
|
path
|
||||||
|
include menu.cfg
|
||||||
|
default vesamenu.c32
|
||||||
|
prompt 0
|
||||||
|
timeout 0
|
||||||
|
label Shell
|
||||||
|
com32 rosh.c32
|
||||||
|
EOF
|
||||||
|
cat <<EOF > $isodir/isolinux/menu.cfg
|
||||||
|
menu hshift 7
|
||||||
|
menu width 61
|
||||||
|
|
||||||
|
menu title Devuan GNU+Linux
|
||||||
|
|
||||||
|
include stdmenu.cfg
|
||||||
|
include txt.cfg
|
||||||
|
EOF
|
||||||
|
cat <<EOF > $isodir/isolinux/stdmenu.cfg
|
||||||
|
menu color title * #FFFFFFFF *
|
||||||
|
menu color border * #00000000 #00000000 none
|
||||||
|
menu color sel * #ffffffff #76a1d0ff *
|
||||||
|
menu color hotsel 1;7;37;40 #ffffffff #76a1d0ff *
|
||||||
|
menu color tabmsg * #ffffffff #00000000 *
|
||||||
|
menu color help 37;40 #ffdddd00 #00000000 none
|
||||||
|
# XXX When adjusting vshift, take care that rows is set to a small
|
||||||
|
# enough value so any possible menu will fit on the screen,
|
||||||
|
# rather than falling off the bottom.
|
||||||
|
menu vshift 12
|
||||||
|
menu rows 10
|
||||||
|
menu helpmsgrow 15
|
||||||
|
# The command line must be at least one line from the bottom.
|
||||||
|
menu cmdlinerow 16
|
||||||
|
menu timeoutrow 16
|
||||||
|
menu tabmsgrow 18
|
||||||
|
menu tabmsg Press ENTER to boot or TAB to edit a menu entry
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat <<EOF > $isodir/isolinux/txt.cfg
|
||||||
|
label default
|
||||||
|
menu label ^Boot Devuan $release $version $arch
|
||||||
|
kernel linux
|
||||||
|
append vga=788 initrd=initrd.img
|
||||||
|
EOF
|
||||||
}
|
}
|
||||||
|
|
||||||
iso_mkinitrd() {
|
iso_mkinitrd() {
|
||||||
fn iso_mkinitrd $@
|
fn iso_mkinitrd $@
|
||||||
req=(iso isodir arch)
|
req=(iso isodir arch)
|
||||||
freq=($isodir/isolinux.bin)
|
freq=($isodir/isolinux/isolinux.bin)
|
||||||
ckreq || return 1
|
ckreq || return 1
|
||||||
|
|
||||||
escalate root "chroot $strapdir update-initramfs -c -k all"
|
escalate root "chroot $strapdir update-initramfs -c -k all"
|
||||||
cp -v $strapdir/initrd.img $isodir/
|
cp -v $strapdir/initrd.img $isodir/isolinux/
|
||||||
cp -v $strapdir/vmlinuz $isodir/
|
cp -v $strapdir/vmlinuz $isodir/isolinux/linux
|
||||||
}
|
}
|
||||||
|
|
||||||
iso_mkusr() {
|
iso_mkusr() {
|
||||||
|
|
@ -63,16 +118,17 @@ iso_mkusr() {
|
||||||
iso_make() {
|
iso_make() {
|
||||||
fn iso_make $@
|
fn iso_make $@
|
||||||
req=(iso isodir outdir)
|
req=(iso isodir outdir)
|
||||||
freq=($isodir/isolinux.bin)
|
freq=($isodir/isolinux/isolinux.bin)
|
||||||
ckreq || return 1
|
ckreq || return 1
|
||||||
|
|
||||||
mkdir -p $outdir
|
mkdir -p $outdir
|
||||||
|
|
||||||
escalate root "
|
escalate root "
|
||||||
xorriso -as mkisofs -output $outdir/$iso \
|
xorriso -as mkisofs -r -J -joliet-long -isohybrid-mbr /usr/lib/ISOLINUX/isohdpfx.bin
|
||||||
-iso-level 3 -full-iso9660-filenames -r -J -no-emul-boot -boot-load-size 4 \
|
-partition_offset 16 -V DEVUAN
|
||||||
-isohybrid-mbr /usr/lib/ISOLINUX/isohdpfx.bin -partition_offset 16 \
|
-b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4
|
||||||
-boot-info-table -b isolinux.bin -c boot.cat $isodir"
|
-boot-info-table -o $outdir/$iso $isodir
|
||||||
|
"
|
||||||
|
|
||||||
notice "$iso ready"
|
notice "$iso ready"
|
||||||
ls -lh $outdir/$iso
|
ls -lh $outdir/$iso
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue