Configurando o tamanho da DRAM ao compilar um kernel ARM (linux-sunxi) para um tablet allwinner a10

0

Eu tenho um tablet a103 goclever ( link ) e eu quero instalar o linux nele para inicializá-lo a partir de um cartão SD.

A primeira coisa que eu encontrei on-line foram imagens de cartão SD para um tablet muito semelhante com 1GB de RAM em vez de 512MB: pengpod a1000 ( link )

Todas essas imagens funcionam bem (até mesmo a tela sensível ao toque que normalmente não funciona na maioria das imagens pré-compiladas de cartão SD que contam com a porta HDMI para fornecer uma tela), mas há um problema com a alocação de memória que mantém trazendo falhas de segmentação: O kernel foi configurado para usar 1GB de memória física em vez de 512MB.

Usando o sunxi-tools, eu editei o script.bin da partição de inicialização e configurei a opção de memória disponível para 512MB, mas isso não resolveu o problema: top ou free ainda mostram 1GB de memória física quando há apenas 512MB e os segfaults ainda estão lá. Eu até tentei copiar toda a partição de inicialização da partição de inicialização do Android localizada na memória flash interna do tablet (nanda), com os mesmos resultados.

Eu descobri que teria que recompilar o kernel com as opções adequadas em relação à memória física disponível, então eu clonei o repositório linux-sunxi do pengpod ( link ) e agora quero ajustar e compilar minha própria imagem do kernel, mas como não sei exatamente o que há de errado com as imagens pré-compiladas que experimentei até agora, não sei como para corrigir o problema de configurações da memória física.

Eu tentei pesquisar a documentação, mas está tudo um pouco acima da minha cabeça, e não encontrei tutoriais passo a passo, que é o que preciso agora. Alguma sugestão?

TL; DR: Eu quero compilar um kernel linux-sunxi mas primeiro tenho que editar as opções para um dispositivo com 512MB de RAM ao invés de 1GB, mas não sei onde estão essas configurações. Ajuda, por favor.

    
por NotGaeL 19.07.2013 / 17:29

1 resposta

2

Eu tive um problema semelhante com um Guruplug - antes de consertar o u-boot, ele achava que tinha mais de 512MB de RAM e falhava aleatoriamente.

Existe algum tipo de bootloader ou algo em que você possa especificar opções de linha de comando para o kernel? Tente adicionar mem=512m às opções de linha de comando do kernel - isto irá dizer ao kernel para não usar qualquer memória maior que 512MB.

    
por 19.07.2013 / 17:56