ArchLinux offline pseudo-installazione passo dopo passo

Questo articolo mi è stato inviato dal nostro amico Hugo Florentino via email, dove ci racconta la sua esperienza nel tentativo di installare ArchLinux senza avere a portata di mano alcun repository, usando solo il disco di installazione

Pseudo-installazione

Un paio di giorni fa ho scaricato l'ISO di ArchLinux per fare un'installazione domestica. Avendo precedentemente utilizzato altre distribuzioni che consentono di installare almeno un database minimo dal CD, volevo fare qualcosa di simile, ma curiosamente il processo di installazione di Arch non è progettato per un computer che non ha accesso a Internet (effetti collaterali degli sviluppatori che vivono nel primo mondo).

Nel mio caso, avevo già Windows 7 (con la sua partizione di avvio e di sistema) e Fedora (con il suo swap e la sua partizione dedicata / boot) sul mio disco. L'idea era quindi quella di installare Arch dove si trovava Fedora in precedenza, senza distruggere Windows nel processo.

Pseudo-installazione offline di ArchLinux

Bene, ho avviato dal CD di Arch, scegliendo x86_64, e senza troppi indugi mi ha lasciato in una console. Ho pensato: "Wow, questi ragazzi sono seriamente intenzionati a non essere una distribuzione alle prime armi ... ok, giochiamo e vediamo cosa succede."

Ho elencato la directory in cui stavo per vedere se c'era della documentazione e ho scoperto che c'era effettivamente un testo con una guida all'installazione elementare. Ho scritto ciò che era rilevante su un pezzo di carta (non ho una stampante a casa) e mi sono messo al lavoro.

La prima cosa che ho fatto è stata cambiare il layout della tastiera in spagnolo dalla Spagna, che è stato più facile di quanto mi aspettassi (c'è anche un curiosamente chiamato noi-accenti):

loadkeys es

La cosa successiva è stata montare un disco esterno per salvare una copia dell'MBR in caso di problemi e per salvare le informazioni importanti che avevo nella mia Fedora:

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

Fortunatamente il LiveCD di Arch supporta NTFS e ha un built-in Comandante di mezzanotte (MC), quindi in pochissimo tempo ho finito di salvare il resto delle informazioni.

Ho quindi smontato il disco, rimosso la directory temporanea e rimosso fisicamente il disco esterno per ridurre il rischio di potenziali "cagastrofi".

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

Quindi ho formattato le mie partizioni, montato la partizione di root e di avvio e attivato lo scambio:

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

Il passo successivo è stato il mio primo ostacolo:

pacstrap /mnt base

Arch naturalmente ha provato a cercare i database dei repository su uno dei mirror e non riuscendo a trovarne nessuno pacstrap Quello che ha fatto è stato creare una struttura di directory in / mnt, molto organizzata, ma ovviamente vuota.

Al telefono, ho chiesto a una coppia di amici che usano Arch se non c'era modo di installare senza accesso a Internet almeno gli stessi pacchetti che si trovano sul LiveCD, senza nemmeno avere un repository copiato su disco, e me lo hanno detto almeno non sapevano come farlo.

Ho trovato interessante la "sfida" tecnologica, quindi ho pensato: "Se Arch è in grado di accedere in modalità LiveCD, dovrebbe essere in grado di installarsi su un disco rigido almeno nella stessa modalità", quindi ho provato a copiare manualmente i file e seguire il resto del tutorial (con qualche piccola modifica) per vedere cosa è successo:

rsync -avl / {bin, ecc, 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

Il passo successivo è stato il mio prossimo ostacolo:

mkinitcpio -p linux

Questo comando ha prodotto alcuni errori, dopo aver letto il manuale dei comandi e il contenuto dei file /etc/mkinitcpio.conf y /etc/mkinitcpio.d/linux.preset, Ho capito che il comando non è riuscito a trovare il file vmlinuz-linux, quindi ho premuto Ctrl + D per uscire dall'ambiente chroot e ho cercato qualsiasi file che assomigliasse:

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

Succede che il LiveCD di Arch monti i file di avvio nella directory / correre /, quindi ho deciso di copiarli /boot/ per averli a portata di mano nel mio 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

Poiché un altro errore che ho riscontrato sperimentando mkinitcpio è stato che l'etichetta della partizione di root non è stata trovata, ho annotato il suo UUID (che ho identificato utilizzando il comando blkid) da utilizzare con il comando, che alla fine assomigliava a questo:

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

Questa volta la compilazione è terminata con successo, solo con un paio di avvisi di moduli che non sono stati trovati, ma nel mio caso non erano necessari. Per ogni evenienza, ho ricostruito fstab, ma questa volta specificando l'UUID:

genfstab -U -p / > /etc/fstab

Ho pensato: vabbè, finalmente progresso. E ho continuato a cambiare la password e installare un bootloader.

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

Infine, e per essere metodico, ho premuto di nuovo Ctrl + D per uscire dall'ambiente chroot, ho disassemblato tutto e riavviato per vedere cosa è successo:

umount / mnt / boot umount / mnt riavvio

Il computer si è riavviato mostrando il menu di Grub con Arch (Windows non appariva da nessuna parte), quindi l'ho selezionato e tutto sembrava caricarsi bene fino a quando ... il sistema ha indicato che c'erano stati degli errori che avrei dovuto controllare con il seguente comando:

journalctl -xb

Analizzando gli errori, ho visto che la maggior parte poteva essere ignorata, ma l'ultimo era insolito, dicendomi che Plymouth non era stato trovato.

Ho subito pensato, Plymouth ??? Perché diavolo un ambiente di avvio della console ha bisogno di qualcosa di simile? Non sembra molto BACIO da dire. Di certo non l'ho messo, né ne ho bisogno. "

Ma per essere pratico, ho pensato: "Beh, ma almeno dovrebbe essere referenziato in qualche file, vediamo ...":

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

Sorprendentemente, nessun file con la stringa di testo "plymouth" è apparso nella directory di configurazione. Allora ho pensato: «Oh, allora… ti costringi con me? poi vediamo come assimilate un "cannone" "(come si dice a Cuba), e" ho costruito "plymouth da zero:

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

Per quelli di voi che si chiedono cosa ho messo in quel file, ecco il contenuto nella sua gloriosa interezza:

#! / bin / sh esce

Ho riavviato di nuovo aspettandomi qualche errore e ... sorprendentemente, systemd è stato felice di aver trovato questo "componente essenziale", perché ha terminato il processo di avvio e senza ulteriori ritardi mi ha lasciato nella console. Dato che non potevo credere ai miei occhi, ho deciso di "disinstallare" Plymouth e riavviare, per vedere cosa sarebbe successo:

rm -fr / usr / bin / plymouth riavvio

Stranamente, questa volta il sistema si è avviato silenziosamente senza infastidirmi ulteriormente per l'assenza di Plymouth. (Nessun commento)

Aggiunta di Windows a GRUB

È stato quindi aggiungere la voce di Windows a GRUB. Poiché i percorsi tradizionali non funzionavano (la combinazione di grub-mkconfig con os-prober non sembrava funzionare bene), ho deciso di creare manualmente la voce, per la quale avevo bisogno di rilevare la stringa del bootloader di Windows e l'UUID della partizione di avvio:

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

Questo rispettivamente mi ha restituito queste due stringhe:

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

In questo modo ho verificato che l'UUID restituito fosse lo stesso ottenuto per quella partizione durante l'esecuzione del comando blkid. È stato quindi necessario generare una voce grub personalizzata con tali dati:

vi /etc/grub.d/40_custom

Nel suo contenuto:

#! / bin / sh exec tail -n +3 $ 0 # Questo file fornisce un modo semplice per aggiungere voci di menu personalizzate. Digita semplicemente le # voci di menu che desideri aggiungere dopo questo commento. Fai attenzione a non cambiare # la riga "coda di esecuzione" sopra. 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}

Dopo aver completato questo passaggio, ho deciso di impostare Windows come sistema operativo predefinito, in modo che mia moglie non si lasci prendere dal panico e mia nipote possa giocare con le sue Barbie quando arriva. Per questo ho semplicemente modificato il file / Etc / default / grub e ho impostato l'input per l'avvio per impostazione predefinita e il timeout a soli 3 secondi.

GRUB_DEFAULT = 2 GRUB_TIMEOUT = 3

Non restava che rigenerare nuovamente la configurazione di GRUB e riavviare:

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

Fortunatamente è andato tutto come previsto. Ho selezionato la voce di Windows e si è avviato felicemente.

Quindi come puoi vedere, almeno una pseudoinstallazione offline di ArchLinux può essere eseguita passo dopo passo senza essere online solo con il CD, anche se ovviamente quello che verrà installato sull'hard disk è essenzialmente un LiveCD, ma almeno avviare un sistema, copiare file ed eseguire alcune applicazioni.

Fortunatamente Sandy (KZKG ^ Gaara) è passato e ha copiato il repository Arch (di cui sono molto grato), quindi ho intenzione di finire presto di fare una vera installazione offline, ma questa sarebbe un'altra storia. Quello che posso assicurarti è che da molto tempo mi manca un po 'questo tipo di sperimentazione divertente. In effetti, se avessi tempo, connettività in casa e certe condizioni materiali garantite, probabilmente proverei a creare una distribuzione personalizzata basata su LFS, che sarebbe un progetto molto più divertente. 😉


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   pietroceco suddetto

    Spero che tu provi FreeBSD Elav.
    Per quanto riguarda la tua guida, molto molto molto buona e completa ...

    1.    Rampa suddetto

      Quanto sei mutevole. Ti assicuro, ti annoierai con FreeBSD in pochi mesi.

      1.    lf suddetto

        Informazioni interessanti, tuttavia continuo a non vedere le guide per l'installazione di arch in sistemi con UEFI, gli arcieri hanno nuovi PC?

        1.    vivace suddetto

          L'installazione con UEFI in ArchLinux è semplificata installando Antergos, devi solo creare una partizione in Fat32 con meno di 500 MB e automaticamente (quando avvii l'USB con UEFI), Antergos contrassegnerà la partizione come / boot.

      2.    pietroceco suddetto

        Ecco perché cambio ... Per non cambiare più passo da Linux a BSD: D.

    2.    pietroceco suddetto

      Modifica apportata e guida scritta: D.

    1.    ozkar suddetto

      Continua a usare Arch, quando vado a L'Avana lo prendo io.

  2.   alex suddetto

    Ho un ISO di Arch Linux sul mio usb, non ho osato usarlo per mancanza di tempo.
    Prenderò una buona recensione dell'articolo e poi lo userò!

  3.   Cuore di guerra suddetto

    Ottimo articolo, dal modo in cui mi ricorda l'odissea che ho attraversato per installare Arch tramite WIFI con un BCM4312.

  4.   calevito suddetto

    Elav, scusa la domanda ma sono nuovo su Linux, ho usato solo Ubuntu e arch linux cattura la mia attenzione. I miei amici dicono che non sarò in grado di installarlo perché è per esperti, ma vedendo il tuo tutorial offline, penso che seguendo passo dopo passo posso farlo, è una sfida per me installarlo. Solo io voglio farlo con Internet, ecco la mia domanda: hai o quando farai un tutorial con così tanti dettagli (come questo) per installarlo?

    1.    daekko suddetto

      La guida è pubblicata su questo sito. https://blog.desdelinux.net/guia-de-instalacion-de-arch-linux-2014/

      😀 Quindi utilizzando la guida e prestando attenzione a quanto fatto avremo un'installazione senza complicazioni, fortuna!

    2.    vivace suddetto

      Puoi ancora installare Antergos, che è Archlinux ma con un'installazione "in stile Ubuntu" .. 😀

  5.   afanico suddetto

    In Arch esiste un altro mezzo di installazione alternativo alle immagini ufficiali chiamato Archboot che, a differenza delle immagini ufficiali, contiene il repository [core] (e qualcos'altro), utile per le installazioni offline (è anche un'architettura ibrida, viene utilizzato per i686 e per x86_64).

    La cosa brutta è che occupa 1 GB in questo momento (occupava molto meno anni fa) che avrebbe dovuto essere scaricato prima ... e senza una connessione stabile per fare il download iniziale è complicato.

    Vi lascio qui un link nel caso vi sia utile: https://wiki.archlinux.org/index.php/archboot

    1.    vivace suddetto

      Interessante, non lo conoscevo 😀

    2.    Hugo suddetto

      Bene, curiosamente qualche tempo fa ho provato archboot e quando arrivo alla parte pacstrap mi dice che non riesce a trovare il pacchetto ntfs-3g 🙁

      Ha anche altre peculiarità, come il fatto che non viene fornito con mc o pagine di manuale e necessita di molta RAM per l'installazione. Non sembra una soluzione ben rifinita.

  6.   Acciaio massimo suddetto

    La verità è che esiste un modo molto semplice per installare arch offline e che ho dovuto fare i classici tentativi ed errori per installarlo sul mio PC di casa (dove non ho internet).

    Per questo ovviamente hai bisogno di un altro PC con arco e connessione internet. Crea prima un pacman -Syu e poi un pacman -Sw base (più tutto quello che vuoi installare ovviamente). Copia tutti i file dalla cache di pacman su una chiavetta USB e anche i file del database (/var/lib/pacman/sync/{core.db, extra.db, community.db}.

    Quindi procedi con la normale installazione di arch, ma prima di arrivare al punto di fare pacstrap - d / mnt base (o qualsiasi altra cosa, dico tutto dalla memoria>. <) Devi modificare precisamente pacstrap (con vi o quello che preferisci o portare il dischetto di installazione) e quasi alla fine c'è una riga che fa riferimento a "pacman -Syy", la cancelliamo semplicemente. In seguito copiamo i file del database di pacman nella posizione corrispondente (tutti i file .db in / var / lib / pacman / sync) ei file della cache nella directory della cache.

    Quindi ora procediamo con pacstrap -loquenomeaccord / mnt base e tutto il resto.

    Tutto quello che dico dalla memoria, quindi potrebbero esserci dei dettagli che ho preso, come i file della cache non ricordo esattamente dove vanno ma dovrebbe essere in / var / cache / pacman / pkg o se non può essere specificato in pacstrap mi sembra.

  7.   Leonel suddetto

    Potresti fare un tutorial cfdisk con doppio o triplo avvio 🙁, oltre a quello che mi serve per installare arch

    1.    Hugo suddetto

      Non c'è davvero molto da dire su cfdisk in quanto non è affatto complesso, e infatti la guida all'installazione a cui si fa riferimento sopra mostra fondamentalmente come usarlo. Ma se hai altri sistemi installati potresti usare qualcosa di più amichevole, forse Gparted. Per Windows esiste uno strumento gratuito (anche se purtroppo non gratuito) chiamato Easeus Partition Master che potresti usare, sembra funzionare molto bene.

      Per il resto sono contento che tu abbia trovato interessante l'articolo, non ho visto il grande merito della mia esperienza, ma Elav mi ha incoraggiato a preparare qualcosa al riguardo.