Phileas Fogg wrote:

Hi,

i'm using OpenWRT petitboot bootloader on my PS3 to boot FreeBSD loader which 
is a simple PPC32 ELF file.
I haven't had any issues with it and OpenWRT based on Linux 3.3.8.
Recently i built an OpenWRT image with Linux 3.7, i have no issues at all with 
kexec and any Linux kernels starting with 2.6 but
FreeBSD loader won't boot and just hangs. The same issue with OpenWRT based on 
Linux 3.6 kernel.
So, i started to analyze this problem and found out where it hangs.

It seems that the purgatory code from kexec-tools loops endlessly if SHA256 
verification of the loaded segments
fails.

See
   
http://git.kernel.org/?p=utils/kernel/kexec/kexec-tools.git;a=blob_plain;f=purgatory/purgatory.c;hb=566ca8a12145196b00ad37939cfd58a97f96ba89

Because the function _verify_sha256_digest fails, the function _purgatory_ 
loops endlessly.
This problem occurs only with Linux 3.6 or Linux 3.7 and FreeBSD loader.
I killed the endless loop and could boot the FreeBSD loader on Linux 3.7 too.

Any idea what could cause this problem ?

Thanks.
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


Found another strange problem. I'm not able to boot FreeBSD LiveCD with
OpenWRT + Linux 3.8 (or Linux 3.7), the same CD which boots on
OpenWRT + Linux 3.3.8.

The LiveCD just panics and the PS3 console shuts down. Very odd.
The problem is probably connected with the kexec issue i'm having
and happens only with the recent Linux kernels.

regards
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to