Quais comandos são necessários para instalar o Ubuntu Core?

18

A página de wiki do Ubuntu Core contém as instruções para instalar o Ubuntu Core em uma mídia de destino:

  1. Descompacte (não descompacte) rootfs
  2. Meios alvo formato: pelo menos uma partição deve ser ext2, ext3ouext4
  3. Descompacte o Ubuntu Core para ext{2,3,4}particionar
  4. Instalar o carregador de inicialização
  5. Instale o Linux
  6. Se o kernel do Linux exigir módulos, inclua-os /lib/modules/$(uname -r)no ext{2,3,4}sistema de arquivos
  7. Inicialize o dispositivo de destino
  8. Instale qualquer software adicional necessário usando apt-get

Mas quais são os comandos específicos para fazer o acima? As coisas sobre as quais estou especificamente confuso são:

  1. Descompactando e descompactando, qual é a diferença e como eu as faço?
  2. Que pacote devo instalar se desejar que o kernel genérico seja fornecido na instalação regular do Ubuntu?
  3. Não instalarei drivers ou nada relacionado ao kernel além do fornecido nos repositórios, preciso me preocupar em adicionar manualmente os módulos do kernel?

PS : Gostaria de solicitar que todos os comandos usados ​​no processo de instalação sejam mencionados na resposta, para o benefício daqueles que são completamente desconhecidos e eu, caso eu esqueça.

Oxwivi
fonte

Respostas:

19

Todos esses comandos exigirão direitos de administrador. O mais fácil é fazer sudo supara obter um console raiz.

  1. Arquivos como o seu núcleo .tar.gz (este beta é onírico e preciso está aqui ) são combinados em um arquivo (compactado) e com tamanho reduzido (compactado).

    gzip -d ubuntu-core-11.10-core-i386.tar.gz

    descompactará o núcleo em ubuntu-core-11.10-core-i386.tar (não mais .gz; um arquivo grande).

  2. Para particionar o dispositivo para o core, é mais fácil usar uma ferramenta gráfica como o gparted. Quando isso não estiver disponível. Veja aqui . Em poucas palavras - supondo que você queira particionar o dispositivo / dev / sda:

    fdisk /dev/sdadepois pressione n p 1 <Return> <Return> a 1 w(para detalhes, consulte o link).

    Isso cria a partição / dev / sda1.

    mkfs.ext4 /dev/sda1

    Isso cria um sistema de arquivos ext4 na nova partição. Você pode de uso claro mkfs.ext3, mkfs.ext2também.

    Monte-o: mount /dev/sda1 /mnte vá lácd /mnt

  3. tar -xf /path/to/where/you/put/ubuntu-core-11.10-core-i386.tar

    irá descompactar o núcleo (muitos arquivos).

  4. grub-install --root-directory=/mnt /dev/sda

    instalará o gerenciador de inicialização (essa é obviamente apenas uma das muitas opções).

  5. cp /etc/resolv.conf /mnt/etc/resolv.conf

    permitirá o acesso à rede após o chrooting (na etapa 7), copiando a configuração do resolvedor DNS

  6. for f in /sys /proc /dev ; do mount --rbind $f /mnt/$f ; done ; chroot /mnt

    irá para um chroot, consulte Existe uma maneira mais fácil de chroot do que a montagem de ligação? para detalhes sobre mount rbind

  7. apt-get update && apt-get install linux-{headers,image}-generic

    instalará o kernel ("linux")

    Nota: é possível que apt-get updateisso não funcione porque nenhuma rede está presente.

  8. reboot e você está pronto para ir.

Eu não tenho uma máquina para testar isso, então a resposta provavelmente não estará completa. Vou mudar minha resposta, se você se deparar com problemas.

turbo
fonte
Suponho que posso criar usuários usando o chrootambiente?
Oxwivi
Sim, definitivamente! Lembre-se de usar addusero oposto useradd, pois é mais confortável.
turbo
11
Não poderei testá-las imediatamente também, mas estou aceitando, pois, pelo que sei, funcionará perfeitamente. Vou comentar e editar se me deparar com algum soluço.
Oxwivi
11
Excelente guia. Eu descobri que este é um processo mais fácil do que o descrito no wiki do Ubuntu aqui: wiki.ubuntu.com/Core/InstallationExample.No entanto, uma vez que terminei, não consegui fazer o login como um usuário normal ou até mesmo para um usuário normal a partir da raiz . Eu recebi o erro "Não é possível executar / bin / bash: permissão negada" e "usuário desconhecido para o módulo de autenticação subjacente". O problema era que o diretório raiz (/) não tinha permissões de leitura ou execução para um grupo ou outro. A execução chmod go+rx /como raiz corrigiu esse problema. Algo a observar!
21712 Alex
@turbo Cada passo que você está explicando o que faz. Exceto pela etapa cinco "Vá para um chroot:" não explica o que você está fazendo aqui. Você poderia elaborar?
Pro Backup
2

Você também pode verificar isso para instalar o Ubuntu Core em um pendrive

O Ubuntu Core está nos fornecendo uma boa inicialização para jogar com o Linux. Está economizando muito tempo para criar um rootfs, o que pode exigir muitos esforços para começar a funcionar.

Pode haver muitas maneiras de jogar com um rootfs. O mais simples seria usar o chroot para mudar temporariamente para o Ubuntu Core. A maioria dos utilitários com os quais você está familiarizado deve estar funcionando. Mas a rede não deveria estar, porque na verdade não há configuração de rede. Nem o devfs nem o sysfs foram criados, portanto, muitos utilitários, dependendo dessas interfaces de inode do kernel, não deveriam estar funcionando.

Ainda é possível instalar pacotes na raiz do Ubuntu Core.

Exemplo de Instalação

Instale os rootfs e imagens do kernel do Ubuntu Core.

sudo bash
cd / mídia / duzy / raiz
tar xzvf ~ / Downloads / ubuntu-core-15.10-core-amd64.tar.gz
cp -vf /boot/vmlinuz-4.*-generic / media / duzy / Inicialização
cp -vf /boot/initrd.img-4.*-generic / media / duzy / Inicialização
useradd --root / media / duzy / Raiz-s '/ bin / bash' -m duzy
passwd --root / media / duzy / Root duzy
Digite a nova senha do UNIX: ......
Digite novamente a nova senha do UNIX: ......
cp /etc/resolv.conf /media/duzy/Root/resolv.conf
para s em proc sys dev; monte --rbind / dev / media / duzy / Root / $ s; feito
chroot / media / duzy / raiz
atualização apt-get

Instalar o grub ( grub-install )

sudo grub-install --boot-directory=/media/duzy/Boot /dev/sdf  
sudo grub-mkconfig -o /media/duzy/Boot/grub/grub.cfg  

Teste USB com KVM ( link )

kvm -hdb /dev/sde # NOT the partition (/dev/sde1)!  

Ou teste com o VirtualBox

VBoxManage internalcommands createrawvmdk -filename VirtualBox/usbdisk.vmdk -rawdisk /dev/sde
Duzy Chan
fonte