Hi Stella,

the failure seems more Mini2440 platform related than PTXdist related. So, our 
OSELAS community mailing list would be a better location to discuss this 
issue.

On Tuesday 29 April 2014 17:43:15 Stella GZ wrote:
> I'm working with the following configuration:
> OSELAS.Toolchain-2013.12.1
> ptxdist-2014.04.0
> OSELAS.BSP-Pengutronix-Mini2440-HEAD-ada838e
>
> I can create the kernel and filesystem images correctly, but when I try to
> update my mini2440 (update -t kernel -d nand), I get the following error:
>
> erasing partition /dev/nand0.kernel.bb
>
> flashing uImage-mini2440 to /dev/nand0.kernel.bb
>
> TFTP from server 192.168.0.136 ('uImage-mini2440' ->
> '/dev/nand0.kernel.bb')
> #################################################################
> #################################################################
> #################################################################
> #################################################################
> #################################################################
> #################################################################
> ###################write: No space left on device

Ohh, yes. I just start my kernels via TFTP and NFS. Longer time not tested if 
they still fit into the NAND partition.... :(

[jbe@thebe]> ll platform-mini2440/images/linuximage
-rw-r--r-- 1 jbe ptx 2155440 Apr 30 08:54 platform-mini2440/images/linuximage

[jbe@thebe]> cat configs/platform-friendlyarm-mini2440/barebox-128m-env/config
#!/bin/sh

machine=mini2440
[...]
# partition definition in the NAND
nand_parts="512k(barebox),384k(bareboxenv),2048k(kernel),-(root)"
[...]

The "2048k(kernel)" part defines a 2097152 space in the NAND for the kernel, 
but the kernel file itself is of 2155440 bytes in size. *BANG*

Yes. The current 3.14 Linux kernel is too large for this small NAND partition. 
You now have the choice (as Alexander already pointed out):

 - enlarge the kernel partition by modifying Barebox's default configuration
   in "configs/platform-friendlyarm-mini2440/barebox-128m-env/config" or at
   runtime with the (same) file in "/env/config"

 - or shrink the kernel. By accident I have left the symbol inclusion enabled
   in the current kernel config.

Without these symbols the kernel is smaller and should fit again into the 
existing NAND partition.

[jbe@thebe]> ll platform-mini2440/images/linuximage
-rw-r--r-- 1 jbe ptx 1908320 Apr 30 09:05 platform-mini2440/images/linuximage

To disable the symbols, run:

$ ptxdist menuconfig kernel
   General setup  --->
     -*- Configure standard kernel features (expert users)  --->
       [ ]   Load all symbols for debugging/ksymoops <------------ disable it

These symbols are required for debugging purposes only.

This also reminds me: the 3.14 kernel config is a copy of the 3.13 config, 
which is a copy of the 3.12 config, which is a copy of the 3.11 config...
All these kernel images will not fit into the NAND kernel partition due to 
enabled debug symbols. m( ...I'm going to change it.

Regards,
Juergen

-- 
Pengutronix e.K.                              | Juergen Borleis             |
Linux Solutions for Science and Industry      | http://www.pengutronix.de/  |

Reply via email to