Booting Linux bzImage on x86_64

Viktor Stark abraar at gmx.net
Wed Oct 28 13:50:06 PDT 2015


Hi,

I recently discovered barebox and I am trying to boot a Linux bzImage on an x86_64 embedded platform.

Some background: My project involves an x86_64 embedded device for which I am building a bzImage and a root filesystem with buildroot. The idea is to have multiple combinations of these in order to serve different use cases, but also for fallback situations.

I went down both possible ways on x86, but cannot really find a way to boot a bzImage.

Both configurations are tested under QEMU with barebox 2015.10.0.

1. EFI - I have a working barebox.efi living inside an EF00 partition. The issue I am having is that I cannot really find any pointers as to how to boot a bzImage from these. I have found some earlier posts on the list indicating that it is not possible to boot a bzImage from EFI, but also a G+ post saying that it is possible.

2. Non-EFI - I have compiled barebox with the attached config file, but it seems to triple fault according to qemu. AFAICT (zero asm knowledge here), it seems to be in pmjump.S.
Triple fault
CPU Reset (CPU 0)
EAX=00000000 EBX=00000001 ECX=00000018 EDX=00000011
ESI=00007c9f EDI=00000030 EBP=00000000 ESP=000079fa
EIP=00024b42 EFL=00000006 [-----P-] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0000 00000000 0000ffff 00009300 DPL=0 DS16 [-WA]
CS =0010 00000000 ffffffff 00cf9b00 DPL=0 CS32 [-RA]
SS =0000 00000000 0000ffff 00009300 DPL=0 DS16 [-WA]
DS =0000 00000000 0000ffff 00009300 DPL=0 DS16 [-WA]
FS =0000 00000000 0000ffff 00009300 DPL=0 DS16 [-WA]
GS =ffff 000ffff0 0000ffff 00009300 DPL=0 DS16 [-WA]
LDT=0000 00000000 0000ffff 00008200 DPL=0 LDT
TR =0000 00000000 0000ffff 00008b00 DPL=0 TSS32-busy
GDT=     000081e0 00000037
IDT=     00000000 000003ff
CR0=00000011 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=ffff0ff0 DR7=00000400
CCS=0000002c CCD=00000011 CCO=LOGICB
EFER=0000000000000000
FCW=037f FSW=0000 [ST=0] FTW=00 MXCSR=00001f80
FPR0=0000000000000000 0000 FPR1=0000000000000000 0000
FPR2=0000000000000000 0000 FPR3=0000000000000000 0000
FPR4=0000000000000000 0000 FPR5=0000000000000000 0000
FPR6=0000000000000000 0000 FPR7=0000000000000000 0000
XMM00=00000000000000000000000000000000 XMM01=00000000000000000000000000000000
XMM02=00000000000000000000000000000000 XMM03=00000000000000000000000000000000
XMM04=00000000000000000000000000000000 XMM05=00000000000000000000000000000000
XMM06=00000000000000000000000000000000 XMM07=00000000000000000000000000000000

Any advice / pointer would be welcome as to booting a bzImage on x86.

Thanks.

--
Abraar
-------------- next part --------------
A non-text attachment was scrubbed...
Name: config-bb
Type: application/octet-stream
Size: 7283 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/barebox/attachments/20151028/30a612ef/attachment.obj>


More information about the barebox mailing list