Can't generate a imx28_ivt_uboot.sb

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

Can't generate a imx28_ivt_uboot.sb

3,595 Views
munoz0raul
Contributor II

Hello,

I have a ltib linux that work fine with imx28_ivt_linux.sb file and rootfs that I compiled with commands:

./ltib
and
./ltib -p boot_stream.spec -f

But this linux just show in console the Kernel and rootfs.

Now I need to create a linux that use U-boot and my ltib configurations.

The doccument "i.MX28_Linux_BSP_UG.pdf" show that the command "./ltib -p boot_stream.spec -f" generate the "imx28_ivt_linux.sb" file "and imx28_ivt_uboot.sb"!

"-------------------------------------------------------------------------------------------------------------------------"
4.2 Building the boot stream image
In LTIB, to build a new Linux Kernel and U-Boot boot stream image, give the command:
$ ./ltib -p boot_stream.spec -f

The output boot stream images are available in rootfs/boot/ directory, named
imx28_linux.sb and imx28_uboot.sb for HAB-disabled images, and imx28_ivt_linux.sb
and imx28_ivt_uboot.sb for HAB-enabled images. The i.MX28 EVK is shipped with HAB
enabled by default."
"-------------------------------------------------------------------------------------------------------------------------"

But when I look in the "rootfs/boot" directory I can just see the "imx28_ivt_linux.sb" file.

My question is, what I need to do to create a "imx28_ivt_uboot.sb" file!

Thanks For all Help!

Labels (1)
7 Replies

1,283 Views
munoz0raul
Contributor II

You Are correct!

Some one have commented this part of the makefile.

Another questions that I have....

The Files "imx28_ivt_linux.sb" and "imx28_ivt_uboot.sb" are the boot steam for Kernel Image and the boot steam for uBoot Image Correct?

But if I want to use another zImage or u-Boot, from another dist that supporte imx28!

How I create the boot steam?

or

What the command "./ltib -p boot_steam.spec -f" do before the makefile part that you show me?

Thanks For all Help!


Rodrigue said:

You are obvisouly using an old Makefile in imx-bootlets-src-10.12.01

As many of the commented out lines in mine or not in yours, and you are missing the elftosb instruction to generate the uboot boot stream.

Please modify your Makefile (in imx-bootlets-src-):

This is what you execute to generate the mx28_ivt_linux.sb ->

ifeq "$(DFT_IMAGE)" "$(wildcard $(DFT_IMAGE))"
    @echo "by using the rootfs/boot/zImage"
    sed -i 's,[^ *]zImage.*;,\tzImage="$(DFT_IMAGE)";,' linux.bd
    sed -i 's,[^ *]zImage.*;,\tzImage="$(DFT_IMAGE)";,' linux_ivt.bd
    elftosb -z -c ./linux.bd -o i$(ARCH)_linux.sb
    elftosb -z -f imx28 -c ./linux_ivt.bd -o i$(ARCH)_ivt_linux.sb

-> this part is obviously not executed as the text below is not being displayed:
    @echo "by using the rootfs/boot/u-boot"
    sed -i 's,[^ *]u_boot.*;,\tu_boot="$(DFT_UBOOT)";,' uboot.bd
    sed -i 's,[^ *]u_boot.*;,\tu_boot="$(DFT_UBOOT)";,' uboot_ivt.bd
    elftosb -z -c ./uboot.bd -o i$(ARCH)_uboot.sb
    elftosb -z -f imx28 -c ./uboot_ivt.bd -o i$(ARCH)_ivt_uboot.sb

Therefore add these above lines in the first branch of the ifeq.

0 Kudos

1,283 Views
linhdong24
Contributor I

hi everybody, i'm using i.MX28evk  and LTIB, imx-bootlets-src version 10.08.00, i need imx28_ivt_linux.sb but LTIB can only create imx28_linux.sb .so,how to create a ivt sb from this LTIB.thansks!

0 Kudos

1,283 Views
Rodrigue
NXP Employee
NXP Employee

You are obvisouly using an old Makefile in imx-bootlets-src-10.12.01

As many of the commented out lines in mine or not in yours, and you are missing the elftosb instruction to generate the uboot boot stream.

Please modify your Makefile (in imx-bootlets-src-):

This is what you execute to generate the mx28_ivt_linux.sb ->

ifeq "$(DFT_IMAGE)" "$(wildcard $(DFT_IMAGE))"
    @echo "by using the rootfs/boot/zImage"
    sed -i 's,[^ *]zImage.*;,\tzImage="$(DFT_IMAGE)";,' linux.bd
    sed -i 's,[^ *]zImage.*;,\tzImage="$(DFT_IMAGE)";,' linux_ivt.bd
    elftosb -z -c ./linux.bd -o i$(ARCH)_linux.sb
    elftosb -z -f imx28 -c ./linux_ivt.bd -o i$(ARCH)_ivt_linux.sb

-> this part is obviously not executed as the text below is not being displayed:
    @echo "by using the rootfs/boot/u-boot"
    sed -i 's,[^ *]u_boot.*;,\tu_boot="$(DFT_UBOOT)";,' uboot.bd
    sed -i 's,[^ *]u_boot.*;,\tu_boot="$(DFT_UBOOT)";,' uboot_ivt.bd
    elftosb -z -c ./uboot.bd -o i$(ARCH)_uboot.sb
    elftosb -z -f imx28 -c ./uboot_ivt.bd -o i$(ARCH)_ivt_uboot.sb

Therefore add these above lines in the first branch of the ifeq.

0 Kudos

1,283 Views
munoz0raul
Contributor II

I did what did you tell me but I cant do see ivt_uboot!!!

Im sending a file with console!

0 Kudos

1,283 Views
Rodrigue
NXP Employee
NXP Employee

try by removing in rpm/RPMS/arm the imx-bootlet

then launch again ./ltib

then you see those lines being executed:

generating linux kernel boot stream image
by using the rootfs/boot/zImage
sed -i 's,[^ *]zImage.*;,\tzImage="/home/imx/mx28/L2.6.35_10.12.01_ER_source/ltib/rootfs/boot/zImage";,' linux.bd
sed -i 's,[^ *]zImage.*;,\tzImage="/home/imx/mx28/L2.6.35_10.12.01_ER_source/ltib/rootfs/boot/zImage";,' linux_ivt.bd
elftosb -z -c ./linux.bd -o imx28_linux.sb
elftosb -z -f imx28 -c ./linux_ivt.bd -o imx28_ivt_linux.sb
by using the rootfs/boot/u-boot
sed -i 's,[^ *]u_boot.*;,\tu_boot="/home/imx/mx28/L2.6.35_10.12.01_ER_source/ltib/rootfs/boot/u-boot";,' uboot.bd
sed -i 's,[^ *]u_boot.*;,\tu_boot="/home/imx/mx28/L2.6.35_10.12.01_ER_source/ltib/rootfs/boot/u-boot";,' uboot_ivt.bd
elftosb -z -c ./uboot.bd -o imx28_uboot.sb
elftosb -z -f imx28 -c ./uboot_ivt.bd -o imx28_ivt_uboot.sb

what do you have in your compilation log?

regards

0 Kudos

1,283 Views
munoz0raul
Contributor II

I selected in
$./ltib –m config
Choose your bootloader:
->uboot

And when I run ./ltib, I can see in rootfs/boot, the u-boot

aton@linux-b4iv:~/imx28/ltib> ll rootfs/boot/
total 14324
lrwxrwxrwx 1 root root       6 2012-08-01 13:21 bootable_kernel -> uImage
-rwxr-xr-x 1 root root   52759 2012-08-01 13:23 boot_prep
-rwxr-xr-x 1 root root     803 2012-08-01 13:23 create_updater.sh
-rw-r--r-- 1 root root 1844720 2012-08-01 13:23 imx28_ivt_linux.sb
-rw-r--r-- 1 root root 1844528 2012-08-01 13:23 imx28_linux.sb
-rw-r--r-- 1 root root   40905 2012-08-01 13:21 linux.config
-rwxr-xr-x 1 root root   14787 2012-08-01 13:23 linux_prep
-rwxr-xr-x 1 root root   59657 2012-08-01 13:23 power_prep
-rw-r--r-- 1 root root  998247 2012-08-01 13:21 System.map
-rwxr-xr-x 1 root root  520929 2012-06-06 20:15 u-boot
-rwxr-xr-x 1 root root  127396 2012-06-06 20:15 u-boot.bin
-rw-r--r-- 1 root root 1821656 2012-08-01 13:21 uImage
-rw-r--r-- 1 root root    1236 2012-08-01 13:23 updater.bd
-rw-r--r-- 1 root root    1421 2012-08-01 13:23 updater_ivt.bd
-rwxr-xr-x 1 root root 5484786 2012-08-01 13:21 vmlinux
-rwxr-xr-x 1 root root 1821592 2012-08-01 13:21 zImage
aton@linux-b4iv:~/imx28/ltib>


I'm sending the platform/imx/defconfig.d File.

Any sugestion?

0 Kudos

1,283 Views
Rodrigue
NXP Employee
NXP Employee

Hi Raul,

It can only create the uboot boot stream if u-boot has been compiled before.

If you look ate the Makefile, it uses the generated binary to generate the sb (bootstream file.

Is u-boot being selected in your config file and compiled?

check here platform/imx/defconfig.dev

br,

Rod

0 Kudos