Linux: virtualização híbrida + de 32 bits de 64 bits?

2

Eu sou dual boot no Windows 7 e Ubuntu no meu laptop. A CPU do laptop não suporta virtualização de hardware. Estou usando o VMWare Player para permitir o uso da minha partição Linux (a mesma que também é executada no bare metal) a partir do Windows. Sem suporte a virtualização de hardware, isso só funciona com convidados de 32 bits, portanto, tenho o Ubuntu de 32 bits instalado.

Ocasionalmente, eu preciso executar um processo de 64 bits no Linux e estou disposto a reiniciar para fazer isso. Eu gostaria de evitar ter que manter 3 partições separadas (Linux de 64 bits para bare metal, Linux de 32 bits para virtualização, Windows 7). No entanto, na maioria das vezes o Linux de 32 bits é bom para mim.

Existe alguma maneira razoavelmente simples de instalar um kernel de 64 bits e 32 bits para a mesma instalação do Linux, fazer com que ambos os kernels apareçam no Grub, mantenha a maior parte da área de usuário de 32 bits (exceto bibliotecas e ferramentas de desenvolvimento, nesse caso eu manteria ambas as versões instaladas) e permitiria que os processos de 64 bits fossem executados se eu inicializasse o kernel de 64 bits no bare metal? Idealmente, eu gostaria de manter os repositórios de pacotes padrão e quaisquer outras configurações padrão relevantes de 32 bits, mesmo ao executar o kernel de 64 bits.

Se isso não for possível, existe alguma outra solução que não exija que eu mantenha duas partições do Linux ou atualize meu hardware?

Edit: Eu tentei instalar um kernel de 64 bits em cima do Ubuntu de 32 bits e isso funciona surpreendentemente bem. No entanto, gostaria de uma maneira sã / simples de instalar ferramentas de desenvolvimento de 64 bits e bibliotecas dinâmicas, já que o Apt ainda parece estar no modo de 32 bits.

    
por dsimcha 05.12.2010 / 23:34

2 respostas

2

O Ubuntu fornece um pequeno conjunto de bibliotecas de 64 bits, começando com o libc6-amd64 pacote. Infelizmente, eles não fornecem um kernel de 64 bits, o que é necessário para executar um binário de 64 bits.

Você pode tentar instalar um kernel a partir da distribuição amd64, por exemplo linux-image-2.6.32-26-server . Eu não acho que as ferramentas de gerenciamento de pacotes permitirão que você instale o pacote perfeitamente, mas você pode fazer o download do .deb e instalá-lo com dpkg -i --force-architecture ….deb . Em qualquer caso, o nome do pacote não pode ser idêntico ao do kernel de 32 bits que você instalou. Você também pode instalar o kernel sem passar pelo gerenciamento de pacotes: descompacte o .deb com dpkg-deb , coloque os arquivos no lugar e execute update-grub (se as instruções não forem precisas o suficiente, eu não recomendo essa opção) . Lembre-se de fazer esta instalação novamente à medida que surgem atualizações de segurança (geralmente todas as imagens do kernel são atualizadas ao mesmo tempo, portanto atualize seu kernel de 64 bits toda vez que você vir uma atualização do kernel de 32 bits).

O Debian fornece um kernel amd64 na arquitetura i386 . Então, se você está disposto a viver com menos integração de desktop e um ciclo de lançamento mais lento, você pode mudar para o Debian.

    
por 06.12.2010 / 00:59
0

Se você ainda precisar de alguns pacotes de 64 bits, você pode usar o debootstrap para preparar uma instalação de 64 bits e chroot para ele. Não precisa ser uma instalação completa ou uma partição separada, apenas as ferramentas de compilação que você usa.

Especificamente para construir pacotes debian, pbuilder (ou sbuild) pode ser útil. Ele prepara ambientes mínimos para que os pacotes sejam construídos apenas com as dependências que eles exigem explicitamente.

    
por 06.12.2010 / 00:58