zImage file too large

Paul
Hi guys,
I wanted to update to the latest kernel and root image found on this
website.
I downloaded them but when I go to load the zImage with supervivi, I'm told
that the zImage file is too big:

 Enter your selection: z
 USB host is connected. Waiting a download.
 Length of file is too big : 2517028 > 2097152
 Failed downloading file

Effectively its true, its 2.5 Mb as opposed to the kernel partition which
is only 2, so I tried to manually resize the partitions with supervivi's
"part" command. Although I create a 2.6 Mb partition, upon trying to load
the zImage, I still get the same error...
Can anyone help me?
thanks a mil
Paul

mindee
hi,

you have to update the bios in NOR flash first.

the latest bios is supervivi-0945

regards

mindee

Paul
Hi,
sorry but this doesn't work.
I've downloaded the supervivi_20091110 from the download section and
j-tagged the 128 onto my mini2440.
When I connect I see

[i] Version: 0945-2K

But when I upload the latest zImage file I still get the same error

Enter your selection: z
USB host is connected. Waiting a download.
Length of file is too big : 2517028 > 2097152
Failed downloading file

Is there a different version of supervivi somewhere I'm missing?
Or is the -2k on the name an indication of the kernel partition size?
Thanks a lot
Paul

Vikas
Paul,

Is it ok for you to use SD CARD for booting?  Installing u-boot and loading
uImage from SD CARD has worked for me.  My kernel is also hugh becoz i have
added, ext3, ACM, SYSFS, NTFS etc?

Though I have not tried putting uImage in flash, I dont think that will be
a big problem.  With you boot you can easily change your environment and
partitions.

Regards,

Vikas

Paul
Actually I guess I can...
But I need the full functionality of the new kernel + camera modules etc.
In other words I would love to run the default os + fs of the sd.
I've converted the new kernel image to uImage from zImage, that was ok.
Now I need to get the fs onto the sd card.
How can I access the files inside the img file?
Can anyone suggest a solution?
Thanks
Paul

nils
unyaffs for yaffs(2) images. Otherwise mount it with -o loop.

Booting a root-fs from SD-Card is very very slow... A full blown gentoo
needs about 4 minutes from power up to login. A Debian takes about 3.5
Minutes...

skip2816
Hi Paul,

try first to shrink the kernels size. In the default configuration are good
reserves. What you can drop: nfs, chinese code page, if you do not use
modules uncheck this too. These things bring good savings in kernel size.
If you drop chinese code page you have to change the default for vfat file
system.

skip

Honeybee
Hi Paul,

I've been struggling with the same error in the past few days too. But I
solved it. Looks like you are going toward the right direction by resizing
flash's partition. Try to give larger trunk to the kernel using part
command. And make sure YOU SAVE IT by "part save"!

This is how my partition looks like:

Supervivi> part show
Number of partitions: 4                                                    
    
name            :       offset          size            flag               
    
------------------------------------------------------------               
    
vivi            :       0x00000000      0x00040000      0                  
    
param           :       0x00040000      0x00020000      0                  
    
kernel          :       0x00060000      0x00500000      0                  
    
root            :       0x00560000      0x40000000      0        

You make encounter other errors like "Failed to execute /linuxrc ...". If
so, drop a post or give me a buzz!

Paul
Hi Honeybee
That's exactly what I did :)
When I resized (I resized to 600000 which should be enough) I then offset
the root partition by 100000 and save it alright.
When trying to upload it complained again about the partitions.
I'm not sure why... if anyone has done this successfully, can they let me
know?
Thanks
Paul

Paul
Nils,
sorry but I can't mount it, is says fs type not recognised, also unyaffs
doesn't work for me, says its not a recognised image.
I've been trying to compile the latest source for qtopia2.2.0 from this
website but it fails when compiling tslib for qt2
I'm exhausted by all this :P Been working on it for ages, just wish I could
get a working updated fs...
Please help!!
Thanks
Paul

Honeybee
Hi Paul,

With my partitions as what I posted, I successfully burnt the kernel image
into the Flash (kernel partition). So I'd recommend you to try exactly my
partition layout and see what's happening.

I think this is related to the kernel's MTD driver. I'm still looking into
this. But if you like, take a look at the this file:
.../linux-2.6.32.2/arch/arm/mach-s3c2440/mach-mini2440.c. 

You can tell that I partition exactly as friendly_arm_default_nand_part[]
in this file. I don't know how they are co-related at the moment, but for
me it's working ...

Paul
Hey Honeybee,
so your partshow is as it is above?
Do you still use DWN to upload the files or have you put u-boot in its
place?
Thanks
Paul

Honeybee
Yes, the above partitions are from "part show" command.

I use DNW to download the image (and bootloader and rootfs). I'm still
using supervivi from NOR for all the operations.

Paul
God I'm such an idiot!!
I got it working... rather than chose the option "upload zImage" on DWN I
should have been selecting "upload kernel file" 
damn!!!
Thanks a lot Honeybee, case closed.
Back to Qt now :P
Paul

Irinel
Hi

I have the same error: Length of file is too big : 2517028 > 2097152

How did you do for working ? Did you resize the partition ? Which is the
part command ?

Thanks

Kevin
WOW u guys are so intelligent, i dint get one thing. one post above PAUL
said -
  "I got it working... rather than chose the option "upload zImage" on DWN
I should have been selecting "upload kernel file" 
damn!!!


Now where is this "upload zImage" or "upload kernel file" option in DWN
i only have these tabs at the top-> 

1.)serial port -connect
               -transmit

2.)USB port   - Transmit/Restore
              -backup nand flash
               -status
3.)configuration -option
4.) Help

HELP!

Andreas Watterott
This is a option from supervivi (FriendlyARM BIOS).
Read the download manual:
http://www.friendlyarm.net/dl.php?file=download.pdf

Kevin
okay done.i dont need to have those options.actually  i didnt save part
save so the problem..sorry

Aaron
Honeybee, you said:

"You make encounter other errors like "Failed to execute /linuxrc ...". If
so, drop a post or give me a buzz!"

I am getting this error after taking these steps:

1)delete kernel and root partitions
2)add kernel partition with size ~3meg
3)add root partition
4)load a customized kernel of mine (~2.4meg)
4)load the friendlyarm-provided qtopia filesystem

The kernel loads fine, then I get the error you mention. Any ideas?

unknowN
Honeybee,

I parted with the same way you said:

name            :       offset          size            flag               
    
------------------------------------------------------------               
    
vivi            :       0x00000000      0x00040000      0                  
    
param           :       0x00040000      0x00020000      0                  
    
kernel          :       0x00060000      0x00500000      0                  
    
root            :       0x00560000      0x40000000      0  



But when i power on my mini my screen was stopped!

unknowN
Honeybee,

I found this error "Failed to execute /linuxrc ..." like you said. So ,
what do i do now ?

Thanks

unknowN
Hi all,

Now the problem is solved.

On DNW do (after to parted flash like the Honeybee said):

[q]

1) Supervivi>param show

2) Supervivi>param set linux_cmd_line "noinitrd root=/dev/mtdblock3
init=/linuxrc console=ttySAC0"

3) Supervivi>param save

i hope help all

Andreo
I have the param right (noinitrd root=/dev/mtdblock3 init=/linuxrc
console=ttySAC0) but still get 

Failed to execute /linuxrc ... error

does anybody has an idea?

Snooter
I would like to know if there is a max size of zImage. I've compiled this
kernel with the original configuration and it work's fine! But when I added
more support into the kernel (bluetooth and wireless drivers for example)
and his size increases of 2,16Mbytes for 2,38Mbytes, I can't write the
zImage into the mini2440. Someone know why?
Error:
Now, Downloading [ADDRESS:30000000h,TOTAL:2480730]
RECEIVED FILE SIZE: 2480730 (605KB/S, 4S)
Downloaded file at 0x30000000, size = 2480720 bytes
Found block size = 0x00260000
Erasing...    ... failed

There is no message "Length of file is too big"
My flash memory have 256Mbytes and I'm using supervivi.

Supervivi> part show
Number of partitions: 4
name            :  offset    size    flag
------------------------------------------------------------
vivi            :  0x00000000  0x00040000  0
param           :  0x00040000  0x00020000  0
kernel          :  0x00060000  0x00500000  0
root            :  0x00560000  0x3fa80000  0

Snooter
Someone know why?

jrh_engineering
In the past I was able to download using supervivi and dnw without any
problems.  But lately I tried to change the output port of my debug console
from ttySAC0 to ttySAC1 using the supervivi options as follows:

[s] Set the boot parameters
[s] Set parameter
Enter the parameter's name(mach_type, media_type, linux_cmd_line, etc):
linux_cmd_line

Enter the parameter's value: 
"noinitrd root=/dev/mtdblock2 init=/linuxrc console=ttySAC1"

After saving my changes I got the same error as Andreo.


Warning: unable to open an initial console.
Failed to execute /linuxrc.  Attempting defaults...
Kernel panic - not syncing: No init found.  Try passing init= option to
kernel.
Backtrace: 
[<c0035270>] (dump_backtrace+0x0/0x10c) from [<c03958f0>]
(dump_stack+0x18/0x1c)
 r7:00000000 r6:c0503ed0 r5:c0503660 r4:c04c61a0
[<c03958d8>] (dump_stack+0x0/0x1c) from [<c0395940>] (panic+0x4c/0x134)
[<c03958f4>] (panic+0x0/0x134) from [<c00305a4>] (init_post+0xec/0x178)
 r3:00000000 r2:c3954200 r1:c0539000 r0:c045348c
[<c00304b8>] (init_post+0x0/0x178) from [<c00084c4>]
(kernel_init+0xf4/0x124)
 r5:c00205d4 r4:c00205d4
[<c00083d0>] (kernel_init+0x0/0x124) from [<c004d1a4>] (do_exit+0x0/0x62c)
 r7:00000000 r6:00000000 r5:00000000 r4:00000000

I thought I would reflash the device to get rid of this error.  This is
when I started getting the:

Length of file is too big : 2517028 > 2097152

error.  I suspect these two problems may be related.

I have a backup of my binary image, so I will attempt to restore that next.

So basically, it seems that the solution given by unknowN is what creates
this problem in the first place.

James

jrh_engineering
After redownloading my original .bin backup file, the board boot fine. 
This tells me there is nothing wrong with the board itself, or its flash.

However, I still cannot download my zImage file.

My technique is as follows:

1. Open dnw.exe
2. Place s2 into Nor position.
3. Power up board (with cables attached)
4. In dnw serialport->connect (Hyperterminal works just as well)
5. Configuration->Options baud 115200 Download address: 0x30000000
6. x to format
7. v to download supervivi - file: supervivi-128M
8. k to download linux kernel
I have the 3.5" TFT screen so I will try the zImage_N35 file (they are all
the same size).

USB host is connected. Waiting a download.
Length of file is too big : 2517028 > 2097152
Failed downloading file

This seems to contradict my previous statement that the problem was related
to my prior attempt to change the console port, but still does not explain
the fact that the procedure worked perfectly in the past.

James

embeddedsms
hi All,
I followed all the steps listed above but still i am not able to flash
2.6.32 kernel onto my S3c2440 :(. I made the partitions as suggested above
(as suggested by honeybee) and below is the snap shot of it. I did a try
both in windows and linux to download the zImage but no luck. Vivi Throws
the same error "Length of file is too big : 2288308 > 2097152 
Failed downloading file"
My part show snap shot:
##### FriendlyARM BIOS 2.0 for 2440 #####

[x] format NAND FLASH for Linux

[v] Download vivi 

[k] Download linux kernel 

[y] Download root_yaffs image 

[a] Absolute User Application

[n] Download Nboot for WinCE 

[l] Download WinCE boot-logo

[w] Download WinCE NK.bin 

[d] Download & Run 

[z] Download zImage into RAM 

[g] Boot linux from RAM 

[f] Format the nand flash 

[b] Boot the system 

[s] Set the boot parameters 

[u] Backup NAND Flash to HOST through USB(upload) 

[r] Restore NAND Flash from HOST through USB 

[q] Goto shell of vivi 

Enter your selection: q
Supervivi> part show
Number of partitions: 4
name            :  offset    size    flag
------------------------------------------------------------
vivi            :  0x00000000  0x00040000  0
param           :  0x00040000  0x00020000  0
kernel          :  0x00060000  0x00500000  0
root            :  0x00560000  0x40000000  0
Supervivi> 

Please let me know if i am missing some thing.

embeddedsms
hi All,
BY deleting some partitions and re-trying again i am able to make my
S3c2440 to boot with the latest 2.6.32 Kernel (which i have downloaded form
this site). Thanks for this support.

I had another s3c2440 with 64MB flash and to run it on the latest kernel i
used a HJTAG. I got a detail info from the link
http://www.andahammer.com/faq/

Thanks &Regards
emebddedsms