[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [microblaze-uclinux] Problem in PetaLinux booting



Hello,

 

I found that the file ‘image.bin’ contains ‘linux.bin’ and ‘romfs.img’. I see that in compilation log file (line  2977 of my March 18 attachments message):

__________________________________________________________________

cat /home/thierry/petalinux-v0.30-rc1/software/petalinux-dist/images/linux.bin /home/thierry/petalinux-v0.30-rc1/software/petalinux-dist/images/romfs.img > /home/thierry/petalinux-v0.30-rc1/software/petalinux-dist/images/image.bin

__________________________________________________________________

 

On the other hand, the files ‘image.bin’ and ‘image.ub’ are almost identical. Only their headers are different.

I tried to send in FPGA these two files separately, so I can know the address of  ‘linux’ and ‘romfs’ but the ‘imi’ not recognize any image.

 

I have two new questions:

 

1] How can I create the files ‘linux.ub’ and ‘romfs.ub’ (recognized by U-boat) from ‘linux.bin’ and ‘romfs.img’ manually with the command line.

 

2] If I send the files separately, it must send something in addition to ‘linux’ and ‘romfs’ so that the image is complete.

 

But if I will start petaLinux this way, I’m doesn’t agree with these bad manipulations…

My problem is that the U-boot doesn’t know ‘romfs’ address which is in ‘image.ub’. Then the most important question is the next:

 

 3] How do I know the address of ‘romfs’ in ‘image.ub’.

 

John: you had you the time to look at the file ‘.config’ I sent in my message of March 18 ? Is that everything seems normal ?

 

Regards

Thierry



2009/3/19 Thierry BESSIERE <t.bessiere@xxxxxxxxxxxxxxxxxxxxx>

Hi,

 

It's always about my problem boot petaLinux

 

I used the 'printenv' command in the U-boot after sending 'image.ub.
Here are the commands that are executed during the petalinux booting:

_________________________________________________________________

U-Boot> printenv               

baudrate=115200              

autoload=no          

ethaddr=00:0a:35:00:22:01                        

ipaddr=192.168.0.10                  

serverip=192.168.0.1                   

netkargs=macaddr=00:0a:35:00:22:01                                  

mtdparts=physmap-flash.0:256K(boot),256K(bootenv),256K(config),1M(image),1M(spar                                                                               

e) 

mtdkargs=mtdparts=physmap-flash.0:256K(boot),256K(bootenv),256K(config),1M(image                                                                               

),1M(spare)          

clobstart=0x8c000000                   

bootsize=0x40000

bootstart=0x88c00000

bootenvsize=0x40000

bootenvstart=0x88c40000

eraseenv=protect off $(bootenvstart) +$(bootenvsize); erase $(bootenvstart) +$(b

ootenvsize)

kernsize=0x180000

kernstart=0x88cc0000

bootargs=mtdparts=physmap-flash.0:256K(boot),256K(bootenv),256K(config),1M(image

),1M(spare) macaddr=00:0a:35:00:22:01

bootcmd=bootm 0x88cc0000

bootdelay=4

load_kernel=tftp $(clobstart) image.ub

install_kernel=protect off $(kernstart) +$(kernsize);erase $(kernstart) +$(kerns

ize); cp.b $(fileaddr) $(kernstart) $(filesize)

update_kernel=run load_kernel install_kernel

load_uboot=tftp $(clobstart) u-boot-s.bin

install_uboot=protect off $(bootstart) +$(bootsize);erase $(bootstart) +$(bootsi

ze);cp.b $(clobstart) $(bootstart) $(filesize)

update_uboot=run load_uboot install_uboot

filesize=27C060

 

Environment size: 1133/262140 bytes

U-Boot>

_____________________________________________________________

 

Everything seems normal in this scripte ?

 

I am confident that the U-boot can not find ‘romfs’ because it is from this step that nothing appears in the hyper terminal. I have some questions about the File System:

 

1] The ‘image.ub’ file contains ‘romfs’?

 

2] If it does not contains ‘romfs’, what image file (.elf, .bin or .srec) contains the file system?

 

3] If it contains, why the 'bootm 0x8C000100' does not start properly petaLinux?

 

4] In the information given by 'printenv' command there is no reference to ‘romfs’ address (see script above). How can I find the address of ‘romfs’ in image file?

 

5] If I know this address, I must use ‘bootm 0x8C000100 - [AddressRomfs]’ command or an other command exist to explain at U-boot where is localised ‘romfs’ ?

 

6] I send ‘image.ub’ in DDR and I boot from DDR directly. Is it obligatory to copy this file in Flash, as in the tutorial (http://developer.petalogix.com/wiki/BoardGuides/Custom/Tutorial):

 

U-Boot> protect off $(kernstart) +$(kernsize)
U-Boot> erase $(kernstart) +$(kernsize)
U-Boot> cp.b $(fileaddr) $(kernstart) $(filesize)
I don’t use these 3 commands.

 

Please, even if you do not know the origin of my problem, can you answer at my 6 questions?

 

Regards

Thierry



2009/3/18 Thierry BESSIERE <t.bessiere@xxxxxxxxxxxxxxxxxxxxx>

Hi John, thank you for your help.

 

I give you my config file and the result of the compilation (log1.txt) in attachment.

 

You ask me: “Why are you doing this? It should not be necessary at all.”

I copy ‘built-in.o’ of “PETALINUX/software/linux-2.6.x-petalogix/user” directory in “PETALINUX/software/linux2.6.X-petaligix/arch/microblaze/platform/common” directory because I had the following error when compiling:

__________________________________________________________________

cannot open arch/microblaze/platform/common/built-in.o: No such file or directory
make[2]: *** [arch/microblaze/platform/built-in.o] Error 1
make[1]: *** [arch/microblaze/platform] Error 2
make[1]: Leaving directory

__________________________________________________________________

 

But I don’t know if this manipulation is correct… I think ‘built-in.o’ has an influence for the UART. Maybe I don’t get echo in the hyper terminal during petaLinux boot because of this...

But I don’t want to influence your prognosis then I stop my assumptions.

 

Regards

Thierry



2009/3/18 John Williams <john.williams@xxxxxxxxxxxxx>

Hello Thierry,

On Wed, Mar 18, 2009 at 7:47 PM, Thierry BESSIERE <t.bessiere@xxxxxxxxxxxxxxxxxxxxx> wrote:

Hello petaLinux Team,

I have a problem during the petaLinux booting in a Virtex 4.
I don’t program the flash memory, I send the files ‘u-boot.srec ‘and ‘image.ub’ directly in the DDR, but I don’t think my problem comes from that.

[snip]

After that, I doesn’t get new others lines in hyper terminal. I think that U-boot can not find ‘romfs’. I tried to send the ‘image.ub’ has an address higher but the problem persists.


A romfs problem willl normally generate some kernel output before failing, I doubt this is the problem.
 
 

11] I copy ‘built-in.o’ file of “PETALINUX/software/linux-2.6.x-petalogix/user” directory in “PETALINUX/software/linux2.6.X-petaligix/arch/microblaze/platform/common” directory.


Why are you doing this? It should not be necessary at all.
 
 

After that, nada… ;(

 

You think I forgot an important step in connection with the File System?


Can you please send the kernel config file - petalinux-dist/linux-2.6.x/.config ?

Regards,

John
--
John Williams, PhD, B.Eng, B.IT
PetaLogix - Linux Solutions for a Reconfigurable World
w: www.petalogix.com  p: +61-7-30090663  f: +61-7-30090663