5.1. Arrancar o Instalador em 64-bit ARM

[Nota] Nota

Para informação sobre como arrancar o instalador gráfico, veja a Secção 5.1.6, “O Instalador Gráfico”.

5.1.1. Configuração da consola

O instalador gráfico não está ativo por defeito nas imagens debian-installer arm64 para stretch por isso é utilizada a consola série. O dispositivo de consola deve ser detetado automaticamente pelo firmware, mas se não for então quando arrancar o linux a partir do menu do GRUB irá ver a mensagem Booting Linux, e depois mais nada.

Se tiver este problema irá necessitar de definir uma configuração especifica de consola na linha de comandos do kernel. Carregue em e para Edit Kernel command-line no menu do GRUB, e altere

--- quiet

para

console=<device>,<speed>

e.g.

console=ttyAMA0,115200n8

. Quando terminar carregue em Control+x para continuar a arrancar com a nova definição.

5.1.2. Instalação do Juno

Juno tem UEFI por isso a instalação é pacífica. O método mais prático é instalar a partir de pen USB. Para funcionar necessitará de firmware atualizado para o arranque por USB funcionar. As compilações de http://releases.linaro.org/members/arm/platforms/latest/ após Março de 2015 foram testadas com sucesso. Consulte a documentação do Juno sobre a atualização de firmware.

Prepare uma imagem standard de CD/DVD arm64 numa pen USB. Insira-a numa das portas USB que estão atrás. Ligue o cabo série na porta série de 9 pinos do topo, atrás. Se necessitar de rede (imagem netboot) ligue o cabo de rede na porta na parte da frente da máquina.

Utilize uma consola série a 115200, 8bit sem paridade, e arranque o Juno. Deverá arrancar a partir da pen USB e ir para um menu do GRUB. A configuração da consola não é corretamente detetada no Juno por isso carregar simplesmente em Enter não irá mostrar a saída do kernel. Defina a consola para

console=ttyAMA0,115200n8

conforme é descrito em (Secção 5.1.1, “Configuração da consola”). Control+x para arrancar e deve mostrar-lhe os ecrãs do debian-installer e permitir proceder com a instalação standard.

5.1.3. Instalação do Applied Micro Mustang

Está disponível UEFI para esta máquina mas é normalmente lançado com U-Boot por isso irá necessitar de instalar primeiro o firmware UEFI e depois utilizar os métodos de arranque/instalação standard, ou utilizar os métodos de arranque por U-Boot. Terá de utilizar uma consola série para controlar a instalação pois o instalador gráfico não está ativo na arquitetura arm64.

O método de instalação recomendado é copiar o kernel e o initrd do debian-installer para o disco rígido, utilizando o sistema openembedded fornecido com a máquina, e depois arrancar daí e correr o instalador. Em alternativa, pode utilizar TFTP para obter o kernel/dtb/initrd e arrancar (Secção 5.1.4.1, “Arranque por TFTP em U-Boot”). Após a instalação, são necessárias alterações manuais para arrancar a partir da imagem instalada.

Corra uma consola série a 115200, 8bit sem paridade, e arranque a máquina. Reinicie a máquina e quando vir Hit any key to stop autoboot: carregue numa tecla para obter uma prompt Mustang#. Depois utilize os comandos U-Boot para carregar e iniciar o kernel, dtb e initrd.

5.1.4. Arrancar por TFTP

Arrancar pela rede requer que tenha uma ligação de rede e um servidor TFTP de arranque por rede (e provavelmente também um servidor de DHCP, RARP ou BOOTP para a configuração automática da rede).

A configuração do servidor para suportar arranque pela rede é descrita na Secção 4.4, “Preparar Ficheiros para Arrancar Através da Rede por TFTP”.

5.1.4.1. Arranque por TFTP em U-Boot

O arranque pela rede em sistemas que utilizam o firmware U-Boot consiste em três passos: a) configurar a rede, b) carregar as imagens (kernel/ramdisk inicial/dtb) para a memória e c) efetivamente executar o código carregado.

Primeiro tem de configurar a rede, quer automaticamente por DHCP ou correndo

setenv autoload no
dhcp

ou manualmente definindo várias variáveis de ambiente

setenv ipaddr <endereço ip do cliente>
setenv netmask <máscara de rede>
setenv serverip <endereço ip do servidor de tftp>
setenv dnsip <endereço ip do servidor de nomes (dns)>
setenv gatewayip <endereço ip da gateway predefinida>

saveenv

Depois tem de carregar as imagens (kernel/ramdisk inicial) para a memória. Isto é feito com o comando tftpboot, ao qual tem de ser passado o endereço a partir de onde é guardada na memória a imagem. Infelizmente o mapa de memória pode variar entre sistemas, por isso não há uma regra genérica com os endereços que possam ser utilizados para isto.

Em alguns sistemas, U-Boot predefine um conjunto de variáveis de ambiente com endereços de carregamento apropriados: kernel_addr_r, ramdisk_addr_r e fdt_addr_r. Pode verificar se estão definidos ao correr

printenv kernel_addr_r ramdisk_addr_r fdt_addr_r

Se não estiverem definidos, tem que verificar a documentação do seu sistema por valores apropriados e defini-los manualmente. Para sistemas baseados em SOCs Allwinner SunXi (e.g. o Allwinner A10, nome de arquitetura sun4i ou o Allwinner A20, nome de arquitetura sun7i), pode por exemplo utilizar os seguintes valores:

setenv kernel_addr_r 0x46000000
setenv fdt_addr_r 0x47000000
setenv ramdisk_addr_r 0x48000000

Quando estiverem definidos os endereços de carregamento, pode assim carregar as imagens para a memória a partir do servidor tftp anteriormente definido:

tftpboot ${kernel_addr_r} <nome de ficheiro da imagem do kernel>
tftpboot ${fdt_addr_r} <nome de ficheiro de dtb>
tftpboot ${ramdisk_addr_r} <nome de ficheiro da imagem inicial de ramdisk>

A terceira parte é definir a linha de comandos do kernel e executar o código carregado. U-boot passa o conteúdo da variável de ambiente bootargs como linha de comandos do kernel, por isso quaisquer parâmetros para o kernel e instalador - tais como dispositivo de consola (veja Secção 5.3.1, “Consola de arranque”) ou opções de preseeding (seja Secção 5.3.2, “Parâmetros de instalação Debian” e Apêndice B, Automatizar a instalação utilizando preseeding) - pode ser definido com um comando como

setenv bootargs console=ttyS0,115200 rootwait panic=10

O comando exato a executar o código carregado anteriormente depende do formato de imagem utilizado. Com uImage/uInitrd o comando é

bootm ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}

e com imagens nativas de Linux é

bootz ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r}

Nota: Quando arrancar imagens standard de linux, é importante carregar a imagem ramdisk inicial após o kernel e o dtb já que U-Boot define a variável de tamanho de ficheiro ao tamanho do último ficheiro carregado e o comando bootz necessita o tamanho da imagem ramdisk para funcionar corretamente. Em caso de arrancar um kernel específico da plataforma, i.e. um kernel sem device-tree, simplesmente omita o parâmetro ${fdt_addr_r}.

5.1.5. Arrancar a partir de pen USB com UEFI

Se o seu computador vai arrancar por USB, este será provavelmente o caminho mais fácil para a instalação. Assumindo que preparou tudo a partir da Secção 3.6.1, “Seleção de Dispositivo Para Arranque” e da Secção 4.3, “Preparar Ficheiros para iniciar a partir de pen USB”, basta ligar a sua pen USB numa porta USB livre e reiniciar o computador. O sistema deverá arrancar, e a menos que tenha utilizado o método flexível para compilar a pen e não a tenha ativado, deverá ser-lhe apresentado um menu gráfico (no hardware que o suportar). Aqui poderá selecionar várias opções do instalador, ou simplesmente carregar em Enter.

5.1.6. O Instalador Gráfico

A versão gráfica do instalador está disponível apenas para um número limitado de arquiteturas, incluindo 64-bit ARM. A funcionalidade do instalador gráfico é essencialmente a mesma do instalador em modo de texto já que utiliza basicamente os mesmos programas, mas com um frontend diferente.

Embora a funcionalidade seja idêntica, o instalador gráfico tem algumas vantagens significativas. A principal vantagem é que suporta mais linguagens, nomeadamente aqueles cujo conjunto de caracteres não pode ser mostrado no frontend de modo texto newt. Também tem algumas vantagens de acessibilidade tais como a opção de utilizar rato, e em alguns casos algumas questões podem ser mostradas num único ecrã.

Tal como com o instalador em modo de texto é possível acrescentar parâmetros de arranque ao iniciar o instalador gráfico.

[Nota] Nota

O instalador gráfico necessita de mais memória para correr do que o instalador em modo de texto: 640MB. Se não estiver disponível memória suficiente, irá automaticamente reverter para o frontend de modo de texto newt.

Se a quantidade de memória no seu sistema estiver abaixo de 260MB, o instalador gráfico poderá falhar o arranque. No entanto arrancar o instalador em modo de texto poderá ainda funcionar. É recomendado utilizar o instalador em modo de texto em sistemas com pouca memória.