Linux foi executado no console de jogos Atari Jaguar


1

Desenvolvedor cakehonolulu portou o Linux para o console de jogos Atari Jaguar de 1993. No console, foi possível carregar o núcleo do Linux 7.2.0-rc1+ e um ambiente de usuário mínimo baseado no BusyBox, sendo que não se trata apenas de um emulador, mas da execução em hardware real via cartucho.

A tarefa não foi trivial devido à arquitetura Jaguar. O console possui apenas 2 MB de RAM, até 6 MB de ROM no cartucho e um processador principal Motorola 68000 sem MMU. Para esse tipo de hardware, o esquema normal de inicialização do Linux não é adequado, portanto o desenvolvedor utilizou modo NOMMU para m68k/uClinux e um modelo de memória plana.

Para que o núcleo se encaixasse nas limitações do console, ele foi dividido entre a memória e o cartucho: seções imutáveis como .text e .rodata são executadas diretamente da ROM pelo esquema XIP, enquanto as seções mutáveis .data e .bss são alocadas na RAM. Para uma saída de mensagens inicial, foi utilizado o chip DSP Jerry, que possui linhas seriais TXD/RXD e temporizadores, e mais tarde o desenvolvedor adicionou um driver de console simples para o chip Tom, para que a saída funcionasse também no console real. Esses detalhes estão descritos na seção sobre o que é necessário para que o Linux inicie no Jaguar.

O ambiente do usuário teve que ser drasticamente reduzido. Devido à ausência de MMU, não são utilizados arquivos ELF, mas binários FLAT; o BusyBox é iniciado diretamente como shell, sem a instalação padrão de links para applets, pois isso causava falta de memória. Também foi necessária a configuração do uClibc através do Buildroot, incluindo uma estratégia mais simples de alocação de memória malloc-simple; mais detalhes estão discutidos na seção Userspace.

A utilidade prática desse tipo de porta é quase inexistente: o Atari Jaguar não se torna um computador Linux conveniente. Contudo, o experimento demonstra bem até onde se pode estender o suporte a hardware antigo no Linux e quão robusta permanece a arquitetura m68k. O código-fonte do núcleo modificado foi publicado no repositório cakehonolulu/linux_jag.

Fonte: linux.org.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster