ArchLinux offline pseudo-instalação passo a passo

Este artigo me foi enviado por nosso amigo Hugo Florentino por e-mail, onde nos conta sobre sua experiência ao tentar instalar o ArchLinux sem ter nenhum repositório em mãos, apenas usando o disco de instalação

Pseudo-instalação

Alguns dias atrás, baixei o ISO do ArchLinux para fazer uma instalação doméstica. Tendo usado anteriormente outras distribuições que permitem que você instale pelo menos um banco de dados mínimo do CD, eu queria fazer algo semelhante, mas curiosamente o processo de instalação do Arch não foi projetado para um computador que não tenha acesso à Internet (efeitos colaterais dos desenvolvedores que vivem no primeiro mundo).

No meu caso, eu já tinha o Windows 7 (com sua inicialização e partição do sistema) e o Fedora (com sua troca e sua partição dedicada / boot) no meu disco. A ideia era então instalar o Arch onde o Fedora estava antes, sem destruir o Windows no processo.

Pseudo-instalação offline do ArchLinux

Bem, eu inicializei a partir do CD do Arch, escolhendo x86_64, e sem muito trabalho me deixei em um console. Eu pensei: "Uau, esses caras estão falando sério sobre não serem uma distro novata ... ok, vamos jogar e ver o que acontece."

Listei o diretório onde estava para ver se havia alguma documentação e descobri que realmente havia um texto com um guia de instalação elementar. Escrevi o que era relevante em um pedaço de papel (não tenho impressora em casa) e comecei a trabalhar.

A primeira coisa que fiz foi mudar o layout do teclado da Espanha para espanhol, o que foi mais fácil do que eu esperava (há até um curiosamente chamado us-sotaque):

loadkeys es

O próximo passo foi montar um disco externo para salvar uma cópia do MBR em caso de problemas e salvar as informações importantes que eu tinha no meu Fedora:

mkdir -p / mnt / tmp1 && mount / dev / sdb1 / mnt / tmp1 dd if = / dev / sda de = / mnt / tmp1 / mbr.bin bs = 512 contagem = 1

Felizmente, o LiveCD do Arch oferece suporte a NTFS e possui Comandante da meia-noite (MC), então em nenhum momento eu terminei de salvar o resto das informações.

Em seguida, desmontei o disco, removi o diretório temporário e removi fisicamente o disco externo para reduzir o risco de possíveis "cagastrofes".

umount /mnt/tmp1 && rmdir /mnt/tmp1

Então, formatei minhas partições, montei a partição raiz e de inicialização e liguei a troca:

mkfs -t ext4 / dev / sda3 mkfs -t ext4 / dev / sda6 mount / dev / sda6 / mnt mkdir -p / mnt / boot mount / dev / sda3 / mnt / boot swapon / dev / sda5

A próxima etapa foi meu primeiro obstáculo:

pacstrap /mnt base

O Arch naturalmente tentou procurar os bancos de dados dos repositórios em um dos mirrors, e não foi capaz de encontrar nada, tudo pacstrap Foi criado uma estrutura de diretórios em / mnt, muito organizada, mas obviamente vazia.

No telefone, perguntei a alguns amigos que usam Arch se não havia como instalar sem acesso à internet pelo menos os mesmos pacotes que estão no LiveCD, sem ter um repositório copiado para o disco também, e eles me disseram que pelo menos eles não sabiam como fazer.

Achei o 'desafio' técnico interessante, então pensei, 'Se o Arch é capaz de fazer login no modo LiveCD, ele deve ser capaz de instalar em um disco rígido pelo menos nesse mesmo modo', então tentei copiar manualmente os arquivos e seguir o resto do tutorial (com algumas pequenas alterações) para ver o que aconteceu:

rsync -avl / {bin, etc, home, lib, lib64, opt, root, sbin, srv, usr, var} / mnt arch-chroot / mnt genfstab -p / >> / etc / fstab echo hpc> / etc / hostname ln -sf / usr / share / zoneinfo / Cuba / etc / localtime locale-gen

A próxima etapa foi meu próximo obstáculo:

mkinitcpio -p linux

Este comando produziu alguns erros, após a leitura do manual de comando e o conteúdo dos arquivos /etc/mkinitcpio.conf y /etc/mkinitcpio.d/linux.preset, Entendi que o comando não conseguiu encontrar o arquivo vmlinuz-linux, então pressionei Ctrl + D para sair do ambiente chroot e procurei qualquer arquivo que se parecesse com ele:

find / -type f -iname "*vmlinuz*"

Acontece que o LiveCD do Arch monta os arquivos de inicialização no diretório / corre /, então decidi copiá-los para o meu / boot / para tê-los à mão no meu ambiente chroot:

cp /run/archiso/bootmnt/arch/boot/[memtest,intel_ucode.img} / mnt / boot / cp / run / archiso / bootmnt / arch / boot / x86_64 / * / mnt / boot / arch-chroot / mnt

Como outro erro que encontrei ao experimentar o mkinitcpio foi que o rótulo da partição raiz não foi encontrado, anotei seu UUID (que identifiquei usando o comando blkid) para usar com o comando, que finalmente se parecia com isto:

mkinitcpio -p linux -k /boot/vmlinuz root=UUID=d85938aa-83b8-431c-becb-9b5735264912

Desta vez, a compilação terminou com sucesso, apenas com alguns avisos de módulos que não puderam ser encontrados, mas no meu caso não foram necessários. Por precaução, eu gerei novamente o fstab, mas desta vez especificando UUID:

genfstab -U -p / > /etc/fstab

Pensei: tudo bem, finalmente progresso. E mudei a senha e instalei um bootloader.

passwd grub-install --target = i386-pc --recheck / dev / sda grub-mkconfig -o /boot/grub/grub.cfg

Finalmente e para ser metódico, pressionei Ctrl + D novamente para sair do ambiente chroot, desmontei tudo e reiniciei para ver o que aconteceu:

umount / mnt / boot umount / mnt reboot

O computador reiniciou mostrando o menu Grub com Arch (o Windows não aparecia em lugar nenhum), então selecionei e tudo parecia estar carregando bem até ... o sistema indicou que haviam ocorrido erros que eu deveria verificar com o seguinte comando:

journalctl -xb

Analisando os erros, vi que a maioria poderia ser ignorada, mas o último era incomum, dizendo-me que o plymouth não foi encontrado.

Imediatamente pensei: 'Plymouth ??? Por que diabos um ambiente de inicialização de console precisa de algo assim? Isso não parece muito KISS para dizer. Certamente não o coloquei, nem preciso dele. "

Mas pra ser prático pensei: "Bom, mas pelo menos deveria estar referenciado em algum arquivo, vamos ver ...":

find /etc -type f -print0 | xargs -0 grep -i "plymouth"

Surpreendentemente, nenhum arquivo com a string de texto "plymouth" apareceu no diretório de configuração. Pensei então: «Ah, então… você se força comigo? então vamos ver como você assimila um 'canhão' ”(como dizemos em Cuba), e“ Eu construí ”plymouth do zero:

vi / usr / bin / plymouth chmod 755 / usr / bin / plymouth

Para aqueles que estão se perguntando o que coloquei nesse arquivo, aqui está o conteúdo em sua gloriosa totalidade:

#! / bin / sh sair

Reiniciei esperando algum erro e ... surpreendentemente, o systemd ficou feliz por ter encontrado esse "componente essencial", pois ele finalizou o processo de inicialização e sem mais demora me deixou no console. Como não conseguia acreditar no que via, decidi "desinstalar" o Plymouth e reiniciar, para ver o que aconteceu:

rm -fr / usr / bin / plymouth reboot

Estranhamente, desta vez o sistema começou silenciosamente, sem me incomodar mais com a ausência de Plymouth. (Sem comentários)

Adicionando Windows ao GRUB

Era então adicionar a entrada do Windows ao GRUB. Como as rotas tradicionais não funcionavam (a combinação de grub-mkconfig com os-prober não parecia estar funcionando bem), decidi criar a entrada manualmente, para a qual precisava detectar a string do carregador de inicialização do Windows e o UUID da partição de inicialização:

mkdir -p / mnt / winboot && mount / dev / sda1 / mnt / winboot grub-probe --target = hints_string / mnt / winboot / bootmgr grub-probe --target = fs_uuid / mnt / winboot / bootmgr

Isso, respectivamente, retornou essas duas strings para mim:

--hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1
DC788F27788EFF8E

Desta forma, verifiquei que o UUID retornado foi o mesmo obtido para aquela partição ao executar o comando blkid. Foi então necessário gerar uma entrada grub personalizada com os ditos dados:

vi /etc/grub.d/40_custom

Em seu conteúdo:

#! / bin / sh exec tail -n +3 $ 0 # Este arquivo fornece uma maneira fácil de adicionar entradas de menu personalizadas. Basta digitar as # entradas do menu que deseja adicionar após este comentário. Tenha cuidado para não alterar # a linha 'exec tail' acima. menuentry "Microsoft Windows 7 SP1" --class windows --class os {insmod part_msdos insmod ntfs insmod search_fs_uuid insmod ntldr search --fs-uuid --set = root --hint-bios = hd0, msdos1 --hint-efi = hd0, msdos1 --hint-baremetal = ahci0, msdos1 DC788F27788EFF8E ntldr / bootmgr}

Depois de concluir esta etapa, decidi definir o Windows como o sistema operacional padrão, para que minha esposa não entre em pânico e minha sobrinha possa brincar de Barbies quando vier. Para isso eu simplesmente editei o arquivo / Etc / default / grub e eu defino a entrada para iniciar por padrão e o tempo limite para apenas 3 segundos.

GRUB_DEFAULT = 2 GRUB_TIMEOUT = 3

Restava apenas regenerar a configuração do GRUB novamente e reiniciar:

grub-mkconfig -o /boot/grub/grub.cfg reboot

Felizmente, tudo correu como esperado. Selecionei a entrada do Windows e ela começou bem.

Como você pode ver, pelo menos uma pseudo-instalação offline do ArchLinux pode ser feita passo a passo sem estar online apenas com o CD, embora obviamente, o que será instalado no disco rígido é essencialmente um LiveCD, mas pelo menos pode inicialize um sistema, copie arquivos e execute alguns aplicativos.

Felizmente, Sandy (KZKG ^ Gaara) parou e copiou o repositório Arch (pelo qual sou muito grato), então planejo terminar de fazer uma instalação offline real em breve, mas isso seria outra história. O que posso garantir é que há muito tempo sinto falta desse tipo de experimentação divertida. Na verdade, se eu tivesse tempo, conectividade em casa e certas condições materiais garantidas, provavelmente tentaria fazer uma distribuição customizada baseada no LFS, o que seria um projeto muito mais divertido. 😉


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   Petercheco dito

    Espero que você dê uma chance ao FreeBSD Elav.
    Quanto ao seu guia, muito muito bom e completo ...

    1.    Rampa dito

      Como você é mutável. Garanto que você ficará entediado com o FreeBSD em alguns meses.

      1.    lf dito

        Informação interessante, porém ainda não vejo guias para instalar arch em sistemas com UEFI, os archers têm PCs novos?

        1.    elav. dito

          A instalação com UEFI no ArchLinux é simplificada com a instalação do Antergos, você só precisa criar uma partição no Fat32 com menos de 500MB e automaticamente (ao inicializar o USB com UEFI), o Antergos irá marcar a partição como / boot.

      2.    Petercheco dito

        É por isso que mudo ... Para não mudar mais vou do Linux para o BSD: D.

    2.    Petercheco dito

      Mudança feita e guia escrito: D.

  2.   r @ y dito
    1.    ozkar dito

      Continue usando o Arch, quando eu for para Havana eu pego.

  3.   Alex dito

    Tenho uma iso Arch Linux no meu usb e não me atrevi a usar por falta de tempo.
    Vou fazer uma boa revisão do artigo e usá-lo!

  4.   Coração de Guerra dito

    Excelente artigo, aliás, me lembra da odisséia que passei para instalar o Arch via WIFI com um BCM4312.

  5.   Kalevito dito

    Elav, desculpe a pergunta mas eu sou novo no linux, eu só usei ubuntu e o arch linux me chama a atenção. Meus amigos falam que não vou conseguir instalá-lo porque é para especialistas, mas vendo seu tutorial offline, acho que seguindo passo a passo consigo fazer, é um desafio para mim instalá-lo. Só quero fazer pela internet, aí a minha dúvida: tem ou quando vai fazer um tutorial com tantos detalhes (como esse) para instalar?

    1.    daekko dito

      O guia está publicado neste site. https://blog.desdelinux.net/guia-de-instalacion-de-arch-linux-2014/

      😀 Então usando o guia e prestando atenção no que é feito teremos uma instalação sem complicações, sorte!

    2.    elav. dito

      Você ainda pode instalar o Antergos, que é o Archlinux, mas com uma instalação do "Ubuntu" .. 😀

  6.   afânico dito

    No Arch existe outro meio de instalação alternativo às imagens oficiais chamado Archboot que, ao contrário das imagens oficiais, contém o repositório [core] (e algo mais), útil para instalações offline (também é uma arquitetura híbrida, funciona para i686 e para x86_64).

    O ruim é que ele ocupa 1GB agora (ocupava muito menos anos atrás) que teria que ser baixado antes ... e sem uma conexão estável para fazer esse download inicial é complicado.

    Deixo aqui um link caso seja útil para você: https://wiki.archlinux.org/index.php/archboot

    1.    elav. dito

      Interessante, eu não o conhecia 😀

    2.    Hugo dito

      Bem, curiosamente, há um tempo tentei o archboot e quando chego à parte do pacstrap, ele me diz que não consegue encontrar o pacote ntfs-3g 🙁

      Ele também tem outras peculiaridades, como não incluir mc ou páginas de manual, e precisa de muita memória RAM para instalar. Não parece uma solução bem polida.

  7.   Max Aço dito

    A verdade é que existe uma maneira muito simples de instalar o arch offline e que tive que fazer o clássico ensaio e erro para instalá-lo no meu PC doméstico (onde não tenho internet).

    Para isso, obviamente, você precisa de algum outro PC com arch e conexão à Internet. Basta fazer um pacman -Syu primeiro e depois uma base pacman -Sw (mais tudo que você deseja instalar, obviamente). Copie todos os arquivos do cache do pacman para um pendrive USB e também os arquivos do banco de dados (/var/lib/pacman/sync/{core.db, extra.db, community.db}.

    Em seguida, prossiga com a instalação normal do arch, mas antes de chegar ao ponto de fazer o pacstrap -d / mnt base (ou qualquer coisa, digo tudo de memória>. <) Você tem que editar precisamente o pacstrap (com vi ou o que você preferir ou traga o disco de instalação) e quase no final há uma linha que se refere a "pacman -Syy", a gente simplesmente apaga. Em seguida, copiamos os arquivos do banco de dados pacman para o local correspondente (todos os arquivos .db para / var / lib / pacman / sync) e os arquivos de cache para o diretório de cache.

    Portanto, agora procedemos com pacstrap -loquenomeaccord / mnt base e tudo mais.

    Tudo o que eu digo de memória, então pode haver algum detalhe que eu tenha ido, como os arquivos de cache não me lembro exatamente onde eles vão, mas deveria estar em / var / cache / pacman / pkg ou se não puder ser especificado pacstrap parece-me.

  8.   leonel dito

    Você poderia fazer um tutorial do cfdisk com inicialização dupla ou tripla 🙁, é o que eu preciso para instalar o arch

    1.    Hugo dito

      Na verdade, não há muito a dizer sobre o cfdisk, pois ele não é nada complexo e, de fato, o guia de instalação mencionado acima basicamente mostra como usá-lo. Mas se você tiver outros sistemas instalados, pode usar algo mais amigável, talvez Gparted. Para o Windows, existe uma ferramenta gratuita (embora infelizmente não seja gratuita) chamada Easeus Partition Master que você pode usar, parece funcionar muito bem.

      De resto, fico feliz que você tenha achado o artigo interessante, não vi o grande mérito de minha experiência, mas Elav me encorajou a preparar algo a respeito.