Re: [U-Boot-Users] help - u-boot header & compression

Hi Luigi
Thank you for your mail and comments. I should have explain why I want to compress u-boot. My target processor is Atmel AT91SAM9260. I am having a 64Mb Dataflash which is interfaced on SPI bus. The Atmel ARM9 copies the first 4kB to internal SRAM and then boots from there. So we need a loader of size <4kb which will be copied to SRAM. I have got this loader. This loader will invoke u-boot, and u-boot will invoke kernel. So I can compress loader and it will still work.
I'll compare nrv2b and lzma and then will be in a better position to comment. I chose nrv2b because I need a compression algo which can be as small as 600B (I have size restriction of 4kB).
Thanks Avinash
----- Original Message ---- From: Luigi 'Comio' Mantellini luigi.mantellini@idf-hit.com To: Avinash Vijayvergia avinashs36@yahoo.com Cc: u-boot-users@lists.sourceforge.net Sent: Wednesday, April 2, 2008 2:37:20 PM Subject: Re: [U-Boot-Users] help - u-boot header & compression
Hi Avinash,
see inline.
Il giorno mer, 02/04/2008 alle 14.26 -0700, Avinash Vijayvergia ha scritto: Hi LuigI
Thank you for your mail. I actually have two questions: What is the format of u-boot header? Can you refer me to some documentation? What do you intend for "u-boot header"? U-boot uses the uImage format for the kernels images. You can check the file include/image.h (row 175) to understand the (old) uImage format. See this link: http://www.denx.de/cgi-bin/gitweb.cgi?p=u-boot.git;a=blob;f=include/image.h;...
I want to compress u-boot. I have picked up nrv2b.c from Koders.com which is in use by many people :). I couldn't understand how it does encoding and decoding. I wanted to use this algo and do compression and decompression of my binaries. You can search google for nrv2b.c and you will get it from Koder.com. U-boot is the object code, the bootloader... how can you compress it? it is a non-sense for me. Anyway, if you need to compress the kernel image, you need to use the uImage format and the utility mkimage (see tools directory). I recently posted a patch to support the lzma compression algorithm (that works better than bzip2 and gzip): you can search in the mailing list archive to retrieve this patch.
Are you sure that nrv2b is better than powerful lzma or bzip2? Do you have benchmarks on this point? If you demonstrate me that nrv2b is a good choice I can consider to make the patch for the community... I have an application that has a very small flash memory... nrv2b should be a choice...
Best regards,
luigi
Thanks for your help Avinash
----- Original Message ---- From: Luigi 'Comio' Mantellini luigi.mantellini@idf-hit.com To: Avinash Vijayvergia avinashs36@yahoo.com Cc: u-boot-users@lists.sourceforge.net Sent: Wednesday, April 2, 2008 2:19:36 PM Subject: Re: [U-Boot-Users] help - u-boot header & compression
Hi Avinash,
I'm not undestanding if you want compress the U-Boot code or if you want compress the uImage image. Anyway, I don't know the nrv2b algorithm, can you give me any links?
thanks,
luigi
Il giorno mer, 02/04/2008 alle 13.54 -0700, Avinash Vijayvergia ha scritto: Hi All
I am working on AT91SAM9260 ARM9 core. I have very small flash memory and hence need to compress the u-boot. I have picked nrv2b algo for that. Can someone suggest me how to put the compression info in the u-boot header. I want to know the details of u-boot header too.
Thanks Avinash
You rock. That's why Blockbuster's offering you one month of Blockbuster Total Access, No Cost. ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace _______________________________________________ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users Ing. Luigi Mantellini Industrie Dial Face S.p.A. Via Canzo, 4 20068 Peschiera Borromeo (MI) Tel.: +39 02 5167 2813 Fax: +39 02 5167 2459 E-mail: luigi.mantellini@idf-hit.com
You rock. That's why Blockbuster's offering you one month of Blockbuster Total Access, No Cost. Ing. Luigi Mantellini Industrie Dial Face S.p.A. Via Canzo, 4 20068 Peschiera Borromeo (MI) Tel.: +39 02 5167 2813 Fax: +39 02 5167 2459 E-mail: luigi.mantellini@idf-hit.com
____________________________________________________________________________________ You rock. That's why Blockbuster's offering you one month of Blockbuster Total Access, No Cost. http://tc.deals.yahoo.com/tc/blockbuster/text5.com

Il giorno mer, 02/04/2008 alle 14.57 -0700, Avinash Vijayvergia ha scritto:
Hi Luigi
Thank you for your mail and comments. I should have explain why I want to compress u-boot. My target processor is Atmel AT91SAM9260. I am having a 64Mb Dataflash which is interfaced on SPI bus. The Atmel ARM9 copies the first 4kB to internal SRAM and then boots from there. So we need a loader of size <4kb which will be copied to SRAM. I have got this loader. This loader will invoke u-boot, and u-boot will invoke kernel. So I can compress loader and it will still work.
I'll compare nrv2b and lzma and then will be in a better position to comment. I chose nrv2b because I need a compression algo which can be as small as 600B (I have size restriction of 4kB).
Ok. Now I understand the problem. U-boot is a pure binary file, you need to compile it fixing the TEXT_BASE address in order to fit your RAM. Your "pre-bootloader" should setup the ram and the dataflash in order to decompress/copy u-boot (vetctors+text+data) from the dataflash space addresses to the ram addresses. After the copy/decompress just jump to u-boot address. To achieve this you needn't to know the u-boot header structure. You should analyze the board/atmel/at91rm9200dk/u-boot.lds and cpu/arm920t/start.S files to understand how u-boot works (at initialization time).
Best regards,
luigi
Thanks Avinash
----- Original Message ---- From: Luigi 'Comio' Mantellini luigi.mantellini@idf-hit.com To: Avinash Vijayvergia avinashs36@yahoo.com Cc: u-boot-users@lists.sourceforge.net Sent: Wednesday, April 2, 2008 2:37:20 PM Subject: Re: [U-Boot-Users] help - u-boot header & compression
Hi Avinash,
see inline.
Il giorno mer, 02/04/2008 alle 14.26 -0700, Avinash Vijayvergia ha scritto:
Hi LuigI
Thank you for your mail. I actually have two questions: 1. What is the format of u-boot header? Can you refer me to some documentation?
What do you intend for "u-boot header"? U-boot uses the uImage format for the kernels images. You can check the file include/image.h (row 175) to understand the (old) uImage format. See this link: http://www.denx.de/cgi-bin/gitweb.cgi?p=u-boot.git;a=blob;f=include/image.h;...
1. I want to compress u-boot. I have picked up nrv2b.c from Koders.com which is in use by many people :). I couldn't understand how it does encoding and decoding. I wanted to use this algo and do compression and decompression of my binaries. You can search google for nrv2b.c and you will get it from Koder.com.
U-boot is the object code, the bootloader... how can you compress it? it is a non-sense for me. Anyway, if you need to compress the kernel image, you need to use the uImage format and the utility mkimage (see tools directory). I recently posted a patch to support the lzma compression algorithm (that works better than bzip2 and gzip): you can search in the mailing list archive to retrieve this patch.
Are you sure that nrv2b is better than powerful lzma or bzip2? Do you have benchmarks on this point? If you demonstrate me that nrv2b is a good choice I can consider to make the patch for the community... I have an application that has a very small flash memory... nrv2b should be a choice...
Best regards,
luigi
Thanks for your help Avinash
----- Original Message ---- From: Luigi 'Comio' Mantellini luigi.mantellini@idf-hit.com To: Avinash Vijayvergia avinashs36@yahoo.com Cc: u-boot-users@lists.sourceforge.net Sent: Wednesday, April 2, 2008 2:19:36 PM Subject: Re: [U-Boot-Users] help - u-boot header & compression
Hi Avinash,
I'm not undestanding if you want compress the U-Boot code or if you want compress the uImage image. Anyway, I don't know the nrv2b algorithm, can you give me any links?
thanks,
luigi
Il giorno mer, 02/04/2008 alle 13.54 -0700, Avinash Vijayvergia ha scritto:
Hi All
I am working on AT91SAM9260 ARM9 core. I have very small flash memory and hence need to compress the u-boot. I have picked nrv2b algo for that. Can someone suggest me how to put the compression info in the u-boot header. I want to know the details of u-boot header too.
Thanks Avinash
You rock. That's why Blockbuster's offering you one month of Blockbuster Total Access, No Cost.
Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace _______________________________________________ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
Ing. Luigi Mantellini Industrie Dial Face S.p.A. Via Canzo, 4 20068 Peschiera Borromeo (MI) Tel.: +39 02 5167 2813 Fax: +39 02 5167 2459 E-mail: luigi.mantellini@idf-hit.com
You rock. That's why Blockbuster's offering you one month of Blockbuster Total Access, No Cost.
Ing. Luigi Mantellini Industrie Dial Face S.p.A. Via Canzo, 4 20068 Peschiera Borromeo (MI) Tel.: +39 02 5167 2813 Fax: +39 02 5167 2459 E-mail: luigi.mantellini@idf-hit.com
You rock. That's why Blockbuster's offering you one month of Blockbuster Total Access, No Cost.
Ing. Luigi Mantellini Industrie Dial Face S.p.A. Via Canzo, 4 20068 Peschiera Borromeo (MI) Tel.: +39 02 5167 2813 Fax: +39 02 5167 2459 E-mail: luigi.mantellini@idf-hit.com
participants (2)
-
Avinash Vijayvergia
-
Luigi 'Comio' Mantellini