Problem for making kernel for imx6DQ board

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Problem for making kernel for imx6DQ board

1,030 Views
qiancui
Contributor I

Dear all.

Because of the project requriement, I need to compile the kernel to replace the original one. Lacking of the Android compiling environment, so I decided to unpacking the original boot.img, and replace the kernel image and then pack it again through the tools mkbootimg

  1. I followed the User Guide to compile the kernel using make uImage, and then cp the uImage to the path where I wanted to pack boot.img, but it didn't work.
  2. Then I compared the uImage and orginal kernel image which I got from unpacking, and I found that the uImage owned an external header including some description of the kernel. My informatin is like this, 'Linux-3.0.35-06522-xxxxxxx' and other dump information
  3. So I suspected that maybe zImage should be the right one. After the test, I got that point.

So my question is what's the function of uImage. As the User Guide said, the uboot can only boot the image which is added by 'mkimage' tool. But the truth is not like that.

Here the text I extract from the User Guilde elaborating the function of mkimage

Any image that should be loaded by U-Boot must have an unique image head. For

example, data must be added at the head of the loaded image to tell U-Boot about the

image (i.e., it's a kernel, or ramfs, etc) and how to load the image (i.e., load/execute

address). Before you can load any image into RAM by U-Boot, you need a tool to add

this information and generate a new image which can be recognized by U-Boot. The tool

is delivered together with U-Boot. After you set up U-Boot using the steps outlined

above, you can find the tool (mkimage) under tools/. The process of using mkimage to

generate an image (for example, kernel image and ramfs image), which is to be loaded by

U-Boot, is outlined in the subsequent sections of this document.

Labels (3)
Tags (3)
0 Kudos
Reply
3 Replies

854 Views
alejandrolozan1
NXP Employee
NXP Employee

Hi,

As far as I know newer versions of U-boot are able to use a zImage.

Which error are you getting when tryin to use the uImage ?

Best Regards,

Alejandro

0 Kudos
Reply

854 Views
qiancui
Contributor I

Hi Alejandro

Thx for your reply, the problem is that when I used the uImage, the Uboot can't boot the kernel successfully because of the added header filled by the tool 'mkimage'. But based on the this condition, why the User Guilde still propose that the uImage should be generated for Uboot? I can't understand the function of uImage.

0 Kudos
Reply

854 Views
alejandrolozan1
NXP Employee
NXP Employee

Please check in the boot script and the environment variables that you are using the bootm command and not the bootz.

The bootz command is used for the zImage not the uImage.

0 Kudos
Reply