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
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