Skip to content

Loading kernel image with GRUB via ski-efi #12

@johnny-mnemonic

Description

@johnny-mnemonic

I think it might be best to handle that in an issue.

@phcoder :
So I tried the recent ski-efi addition with a GRUB image made natively (as per the README) from EPIC Slack's a/grub (2.12 based, sources).

ski-efi was made like so:

/usr/src/ski/ski-efi# time make CROSS_COMPILE=ia64-linux-
ia64-linux-gcc -nostdinc -Iinclude -mconstant-gp -Wa,-gdwarf-2   -c -o boot_head.o boot_head.S
ia64-linux-gcc -nostdinc -Iinclude -ffixed-r13 -mfixed-range=f12-f15,f32-f127 -mconstant-gp -g -falign-functions=32 -frename-registers -fno-optimize-sibling-calls -fno-builtin   -c -o bootloader.o bootloader.c
ia64-linux-gcc -nostdinc -Iinclude -ffixed-r13 -mfixed-range=f12-f15,f32-f127 -mconstant-gp -g -falign-functions=32 -frename-registers -fno-optimize-sibling-calls -fno-builtin   -c -o fw-emu.o fw-emu.c
ia64-linux-gcc -nostdinc -Iinclude -ffixed-r13 -mfixed-range=f12-f15,f32-f127 -mconstant-gp -g -falign-functions=32 -frename-registers -fno-optimize-sibling-calls -fno-builtin   -c -o memstr.o memstr.c
ia64-linux-ld boot_head.o bootloader.o fw-emu.o memstr.o -o ski-efi -static -T bootloader.lds
ia64-linux-ld: warning: ski-efi has a LOAD segment with RWX permissions

real	0m1.464s
user	0m0.102s
sys	0m0.050s
/usr/src/ski/ski-efi# echo $?
0

But unfortunately I can't get it to work yet, neither with @trofi 's unpacked vmlinux from https://slyfox.uni.cx/ia64/, nor with a recent v6.15-rc1 kernel image for Ski (which works with the ski-bootloader):

# bski -noconsole ./ski-efi ./grub.efi ./vmlinux
loading ./grub.efi...
starting kernel...
Unsupported open_protocol
Could not malloc memory to remember EFI allocation. Exiting GRUB won't free all memory.
Could not malloc memory to remember EFI allocation. Exiting GRUB won't free all memory.
# echo $?
128

# bski -noconsole ./ski-efi ./grub.efi /boot/vmlinux-6.15.0-rc1-082b1ff1562a-ia64-ski-00073-g082b1ff1562a root=/dev/sda simscsi=./sd simeth=enp1s0f0 init=/init PATH=/bin:/sbin:/usr/bin:/usr/sbin rw
loading ./grub.efi...
starting kernel...
Unsupported open_protocol
Could not malloc memory to remember EFI allocation. Exiting GRUB won't free all memory.
Could not malloc memory to remember EFI allocation. Exiting GRUB won't free all memory.
# echo $?
128

Do I maybe need a more recent (unreleased) GRUB version for this to work?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions