[U-Boot] Help needed: Boot signed RTOS
Christopher Preschern
christopher.preschern at tugraz.at
Wed Nov 20 18:49:45 CET 2013
Hi,
I try to boot a signed RTOS as FIT Image with the bootm command and I'm
kind of stuck here - any help well appreciated. When booting, U-Boot
shows the following error message:
“No Linux ARM Kernel Image Image
ERROR: can't get kernel image!”
My questions:
- Is it possible to boot a signed RTOS with U-Boot?
- Is there something I do wrong (I'm rather new to U-Boot)?
I use the following setup:
- U-Boot 2013.07
- i.MX28 board
- safeRTOS which I can boot with the bootelf command
The following mkimage command (which does not yet create a signature)
works and produces a with bootm bootable "u-rtos" file:
mkimage -A arm -C none -O qnx -T kernel_noload -d safeRTOS u-rtos
I tried to re-build the above parameters in my .its File (which I need
to use the signing features of mkimage):
/dts-v1/;
/ {
description = "MY-RTOS";
#address-cells = <1>;
images {
kernel at 1 {
description = "MY-RTOS";
data = /incbin/("./my-rtos-image");
type = "kernel_noload";
arch = "arm";
os = "qnx";
compression = "none";
signature at 1 {
algo = "sha1,rsa2048";
key-name-hint = "dev";
};
};
};
configurations {
default = "conf at 1";
conf at 1 {
kernel = "kernel at 1";
hash at 1 {
algo = "sha1";
};
};
};
};
I run the following command to get my FIT-file:
mkimage -f rtos.its -k <path-to-my-keys> rtos.fit
When booting the FIT file with bootm, I get the following output:
=> bootm 0x42000000
## Loading kernel from FIT Image at 42000000 ...
Using 'conf at 1' configuration
Verifying Hash Integrity ... OK
Trying 'kernel at 1' kernel subimage
Description: safeRTOS Kernel
Type: Kernel Image (no loading done)
Compression: uncompressed
Data Start: 0x420000b8
Data Size: 1543860 Bytes = 1.5 MiB
Sign algo: sha1,rsa2048:dev
Sign value: 45bd54112.........99d0d710
Verifying Hash Integrity ... sha1,rsa2048:dev+ OK
No Linux ARM Kernel Image Image
ERROR: can't get kernel image!
It seems that the whole signature-checking works. However U-Boot
apparently expects a kernel and instead gets my RTOS to boot. How can I
tell U-Boot that I want to run my bootelf-runable RTOS?
I'm really stuck here - any help is very much appreciated!
thank you & best regards,
Christopher
--
------------------------------------------------------------------
| Christopher Preschern
| Institute for Technical Informatics - TU Graz
| Tel: +43 (316) 873 - 6404
| EMail: christopher.preschern at tugraz.at
More information about the U-Boot
mailing list