J'ai une carte intégrée avec 512 Mo de RAM exécutant Linux 2.6.29 et le chargeur de démarrage UBoot. Mais le noyau ne peut utiliser que 128 Mo de RAM.
J'ai essayé de changer la valeur de XCODE_MEMSIZE
, ce qui, je pense, détermine la quantité de RAM utilisée par le noyau.
Lorsque je le mets à 512, le noyau se bloque lors du démarrage. Y a-t-il un autre paramètre de configuration qui doit être modifié?
cat /proc/cmdline
vous dit sur votre planche?Réponses:
Sans une connaissance plus spécifique de votre carte embarquée, deux choses me viennent à l'esprit.
Essayez
mem=
le paramètre de démarrage du noyau . (Je pense que parfois la mémoire peut être disponible à partir d'une adresse non continue, vous devrez donc peut-être utiliser quelque chose comme ça, mais les adresses devront être vérifiées par vous mobo.mem = 512M @ 0 mem = 256M @ 0x80000000 mem = 256M = 0xc0000000
Avez-vous une carte graphique intégrée? Cela pourrait supprimer une partie de votre RAM disponible. Si vous pouvez accéder au bios ou équivalent, vérifiez cela.
@see Kernel paramters pour plus d'informations sur
mem=
la source
Je suppose que vous devriez augmenter la
RAM Disk
taille de votre noyau.la source
En plus des autres articles sur la spécificité, je suggère également de démonter
/dev/shm
s'il est monté. C'est un système de fichiers ramdisk et mange dans votre ram.Jetez également un œil à la
sysctl
commande sous linux. Faire quelque chose commesysctl -w kernel.shmmax="<some number>"
change le noyau pendant son exécution.la source