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