Je compris mes rootfs (CONFIG_INITRAMFS_SOURCE
) dans mon noyau, de sorte que le noyau a maintenant une taille de 17Mb:Linux Kernel - ERREUR: Impossible d'allouer octets de 0x6b3c ci-dessous 0x1000000
$ ls -la uImage
-rw-r--r-- 1 kkr kkr 17669274 Dec 1 18:59 uImage
$ d2h 17669274
0x10D9C9A
Comme il est compressé, il serait occupé 39MB non compressé:
$ dd if=uImage of=uImage-x.gz bs=64 skip=1
$ file uImage-x.gz
uImage-x.gz: gzip compressed data, max compression, from Unix
$ gunzip uImage-x.gz
$ ls -la uImage-x
-rw-r--r-- 1 kkr kkr 39852288 Dec 1 19:18 uImage-x
$ d2h 39852288
0x2601900
Pourquoi ne puis-je commencer mon noyau via uBoot avec cette commande?
=> setenv bootargs console=$consoledev,$baudrate $othbootargs
=> tftp 0x3000000 $bootfile
Speed: 100, half duplex
Using eTSEC1 device
TFTP from server 192.168.32.3; our IP address is 192.168.32.32
Filename 'uImage-powerpc'.
Load address: 0x3000000
Loading: #####################################################
done
Bytes transferred = 17669274 (10d9c9a hex)
=> tftp 0x2700000 $fdtfile;
Speed: 100, half duplex
Using eTSEC1 device
TFTP from server 192.168.32.3; our IP address is 192.168.32.32
Filename 'sat_92107.100.00C_p2020.dtb'.
Load address: 0x2700000
Loading: ##
done
Bytes transferred = 15164 (3b3c hex)
=> bootm 0x3000000 - 0x2700000
## Booting kernel from Legacy Image at 03000000 ...
Image Name: Linux-4.0.0-AOA00.01-00662-g07ae
Created: 2015-12-01 17:59:21 UTC
Image Type: PowerPC Linux Kernel Image (gzip compressed)
Data Size: 17669210 Bytes = 16.9 MiB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
## Flattened Device Tree blob at 02700000
Booting using the fdt blob at 0x02700000
Uncompressing Kernel Image ... OK
ERROR: Failed to allocate 0x6b3c bytes below 0x1000000.
device tree - allocation error
Depuis le noyau lui-même a besoin 0x10d9c9a
octets (compressé) ou 0x2601900
octets (non compressé) il n'y a aucune chance de placer le devicetree ci-dessous 0x1000000
. Cette valeur (16 Mo) est-elle configurable? Est-ce que mon noyau extrait a moins de 16Mo?
De quel carton s'agit-il? – stdcall
"Embedded Modul TQMP2020" avec 512 Mo de RAM - devrait suffire pour charger un Ramdisk de 40Mb: o) J'irai analyser uboot, peut-être que je trouverai quel est le problème ... – Charly
Avez-vous validé vos méthodes en démarrant avec un fichier uImage plus petit , contenant un initramfs minimal? * "devrait être suffisant pour charger un Ramdisk de 40 Mo" * - Initramfs utilise des ramfs, ce qui n'est pas la même chose que le disque virtuel. – sawdust