UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Observer jonesyx
Observer
6,006 Views
Registered: ‎07-23-2009

Uncompressed Kernel image

From what I understand, using the Xilinx linux kernel and running "make simpleimage....." creates a bzip compressed executable that decompresses itself and runs?

 

What i am interested in finding out is how to create an uncompressed simpleimage that bypasses the lengthy decompress stage?

 

Ive attempted to find the information using the web but cant find anything that is useful.

 

Also, has anyone tried XIP on one of the Xilinx boards?

 

Many Thanks

Michael.

0 Kudos
4 Replies
Anonymous
Not applicable
6,005 Views

Re: Uncompressed Kernel image

Documentation/powerpc/bootwrapper.txt may be of some help, but I'm not sure if it has exactly what you're looking for.

 

Can you provide more details regarding XIP? What are you trying to do?

 

Terry

 

0 Kudos
Observer jonesyx
Observer
5,994 Views
Registered: ‎07-23-2009

Re: Uncompressed Kernel image

Thanks, that answers some of my questions.

 

My general aim here is to increase the boot time. My observations is that a large amount of time is spent uncompressing (gunzipping) the kernel image, so what i was looking at doing is attempting to store the kernel uncompressed to save time.

 

At the moment my kernel image is stored in linear flash and is loaded using a BRAM bootloader.

 

My longer term goal (time permitting) was to try execute in place from flash although im taking it little steps at a time. The aim would be to store the image uncompressed and run it directly without copying to ram first.  At the moment however im just trying to see if there would be a performance gain by storing the kernel uncompressed.

 

Many Thanks

Michael

 

0 Kudos
Explorer
Explorer
5,784 Views
Registered: ‎08-14-2007

Re: Uncompressed Kernel image

If you follow the image creation, the kernel image is already available to you in an uncompressed form. The first part is the vmlinux. This is the ACTUAL kernel in an uncompressed form. The next piece you'll need to worry about is supplying the device tree blob (dtb) as well as the initial ramdisk image.

 

So if you wanted to just generate your kernel, do a

"make vmlinux" and badda boom badda bing, you'll have just the raw kernel.

 

There's source for an app called addRamDisk (addRamDisk.c) which looks to take the vmlinux and add a ramdisk image to the file, so that may help you on your way a little bit.

 

Also, you'll want to look at simpleBoot.c since this provides the dtb to the kernel for device loading.

 

HTH,

-- Mike

0 Kudos
Highlighted
Explorer
Explorer
5,783 Views
Registered: ‎08-14-2007

Re: Uncompressed Kernel image

BTW, here's a little tidbit for you. On a previous embedded system, I did some timing on running out of flash vs RAM, and you'd be surprised at how much faster it is. When you RAM operates at x00MHz and your FLASH is just barely squeaking by in the ten's of MHz, there is a HUGE impact on the runtime performance. This is especially compounded when your RAM is cacheable and your FLASH isn't.

 

Just some things to chew on while you do your testing.

0 Kudos