ArchLinux offline pseudo-installatie stap voor stap

Dit artikel is naar mij gestuurd door onze vriend Hugo Florentino via e-mail, waar hij ons vertelt over zijn ervaring met het installeren van ArchLinux zonder een repository bij de hand te hebben, alleen met behulp van de installatieschijf

Pseudo-installatie

Een paar dagen geleden heb ik de ArchLinux ISO gedownload om een ​​thuisinstallatie uit te voeren. Omdat ik eerder andere distributies heb gebruikt waarmee je op zijn minst een minimum basis vanaf cd kunt installeren, wilde ik iets soortgelijks doen, maar merkwaardig genoeg is het installatieproces van Arch niet ontworpen voor een computer die geen internettoegang heeft (bijwerkingen van ontwikkelaars die leven in de eerste wereld).

In mijn geval had ik al Windows 7 (met zijn opstart- en systeempartitie) en Fedora (met zijn swap en zijn speciale / opstartpartitie) op mijn schijf. Het idee was toen om Arch te installeren waar Fedora voorheen was, zonder Windows daarbij te vernietigen.

ArchLinux offline pseudo-installatie

Nou, ik startte vanaf de Arch-cd, koos x86_64 en liet me zonder veel ophef achter op een console. Ik dacht: "Wauw, deze jongens zijn serieus om geen rookie-distro te zijn ... oké, laten we meespelen en kijken wat er gebeurt."

Ik maakte een lijst van de directory waar ik was om te zien of er documentatie was en ik ontdekte dat er inderdaad een tekst was met een elementaire installatiegids. Ik schreef wat relevant was op een stuk papier (ik heb thuis geen printer) en ging aan het werk.

Het eerste dat ik deed, was de toetsenbordindeling wijzigen in Spaans vanuit Spanje, wat gemakkelijker was dan ik had verwacht (er is zelfs een merkwaardig wij-accent):

loadkeys es

Het volgende was om een ​​externe schijf te mounten om een ​​kopie van de MBR op te slaan in geval van problemen en om de belangrijke informatie die ik had in mijn Fedora op te slaan:

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

Gelukkig ondersteunt Arch's LiveCD NTFS en heeft het een ingebouwde Middernachtcommandant (MC), dus binnen de kortste keren was ik klaar met het opslaan van de rest van de informatie.

Vervolgens heb ik de schijf ontkoppeld, de tijdelijke map verwijderd en de externe schijf fysiek verwijderd om het risico op mogelijke "cagastrofes" te verkleinen.

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

Dus ik heb mijn partities geformatteerd, de root- en bootpartitie gemount en swap ingeschakeld:

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

De volgende stap was mijn eerste hindernis:

pacstrap /mnt base

Arch probeerde natuurlijk naar de repositories-databases op een van de mirrors te zoeken en kon niet alles vinden pacsband Het maakte wel een directorystructuur in / mnt, erg georganiseerd, maar duidelijk leeg.

Aan de telefoon vroeg ik een paar vrienden die Arch gebruiken of er geen manier was om zonder internettoegang minstens dezelfde pakketten te installeren die op de LiveCD staan, zonder dat er ook een repository naar schijf gekopieerd is, en ze vertelden me dat tenminste ze wisten niet hoe ze het moesten doen.

Ik vond de technische 'uitdaging' interessant, dus ik dacht: 'Als Arch in staat is om in LiveCD-modus in te loggen, zou het in minstens dezelfde modus op een harde schijf moeten kunnen installeren', dus ik probeerde de bestanden handmatig te kopiëren en het volgende te volgen de rest van de tutorial (met een enkele kleine wijziging) om te zien wat er is gebeurd:

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

De volgende stap was mijn volgende hindernis:

mkinitcpio -p linux

Deze opdracht leverde enkele fouten op na het lezen van de opdrachthandleiding en de inhoud van de bestanden /etc/mkinitcpio.conf y /etc/mkinitcpio.d/linux.preset, Begreep ik dat de opdracht het bestand niet kon vinden vmlinuz-linux, dus ik drukte op Ctrl + D om de chroot-omgeving af te sluiten en zocht naar een bestand dat er zo uitzag:

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

Het komt voor dat Arch's LiveCD de opstartbestanden koppelt onder de directory / rennen /, dus besloot ik ze naar mijn / laars / om ze bij de hand te hebben in mijn chroot-omgeving:

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

Een andere fout die ik vond tijdens het experimenteren met mkinitcpio was dat het label van de rootpartitie niet kon worden gevonden, ik schreef de UUID op (die ik identificeerde met het blkid-commando) om te gebruiken met het commando, dat er uiteindelijk zo uitzag:

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

Deze keer is de build met succes beëindigd, alleen met een paar waarschuwingen van modules die niet konden worden gevonden, maar in mijn geval niet nodig waren. Voor het geval dat ik de fstab opnieuw heb opgebouwd, maar deze keer UUID specificeerde:

genfstab -U -p / > /etc/fstab

Ik dacht: nou ja, eindelijk vooruitgang. En ik ging verder met het wijzigen van het wachtwoord en het installeren van een bootloader.

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

Ten slotte, en om methodisch te zijn, drukte ik nogmaals op Ctrl + D om de gechroot-omgeving te verlaten, alles uit elkaar te halen en opnieuw te starten om te zien wat er gebeurde:

umount / mnt / boot umount / mnt reboot

De computer startte opnieuw met het Grub-menu met Arch (Windows verscheen nergens), dus ik selecteerde het en alles leek goed te laden totdat ... het systeem aangaf dat er fouten waren die ik moest controleren met de volgende opdracht:

journalctl -xb

Bij het analyseren van de fouten zag ik dat de meeste konden worden genegeerd, maar de laatste was ongebruikelijk en vertelde me dat Plymouth niet kon worden gevonden.

Ik dacht meteen: Plymouth ??? Waarom heeft een console-opstartomgeving zoiets in vredesnaam nodig? Dat lijkt niet erg KISS om te zeggen. Ik heb het zeker niet gezegd, en ik heb het ook niet nodig. "

Maar om praktisch te zijn, dacht ik: "Nou, maar er moet tenminste naar worden verwezen in een bestand, laten we eens kijken ...":

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

Verrassend genoeg verscheen er geen bestand met de tekstreeks "plymouth" in de configuratiemap. Ik dacht toen: «Oh, dus ... je dwingt jezelf met mij? Laten we dan eens kijken hoe je een 'kanon' assimileert '' (zoals we in Cuba zeggen), en 'ik bouwde' plymouth helemaal opnieuw:

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

Voor degenen onder u die zich afvragen wat ik in dat bestand heb gestopt, hier is de inhoud in zijn glorieuze geheel:

#! / bin / sh exit

Ik herstartte opnieuw en verwachtte een fout en ... verrassend genoeg was systemd blij die "essentiële component" te hebben gevonden, omdat het het opstartproces had voltooid en me zonder verdere vertraging in de console achterliet. Omdat ik mijn ogen niet kon geloven, besloot ik Plymouth te "verwijderen" en opnieuw op te starten om te zien wat er gebeurde:

rm -fr / usr / bin / plymouth herstart

Vreemd genoeg startte het systeem deze keer rustig zonder me verder te irriteren met de afwezigheid van Plymouth. (Geen commentaar)

Windows toevoegen aan GRUB

Het was toen om het Windows-item toe te voegen aan GRUB. Omdat de traditionele routes niet werkten (de combinatie van grub-mkconfig met os-prober leek niet goed te werken), besloot ik de invoer handmatig te maken, waarvoor ik de Windows-bootloader-string en de UUID van de opstartpartitie moest detecteren:

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

Dit gaf mij respectievelijk deze twee strings terug:

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

Op deze manier heb ik geverifieerd dat de UUID die werd geretourneerd dezelfde was als die verkregen voor die partitie bij het uitvoeren van het blkid-commando. Het was toen nodig om een ​​aangepaste grub-invoer te genereren met de genoemde gegevens:

vi /etc/grub.d/40_custom

In de inhoud:

#! / bin / sh exec tail -n +3 $ 0 # Dit bestand biedt een gemakkelijke manier om eigen menu-items toe te voegen. Typ gewoon de # menu-items die u na deze opmerking wilt toevoegen. Pas op dat u de # 'exec tail'-regel hierboven niet verandert. menuentry "Microsoft Windows 7 SP1" --class windows --class os {insmod part_msdos insmod ntfs insmod search_fs_uuid insmod ntldr zoeken --fs-uuid --set = root --hint-bios = hd0, msdos1 --hint-efi = hd0, msdos1 --hint-baremetal = ahci0, msdos1 DC788F27788EFF8E ntldr / bootmgr}

Na het voltooien van deze stap heb ik besloten om Windows als het standaard besturingssysteem in te stellen, zodat mijn vrouw niet in paniek raakt en mijn nichtje haar Barbies kan spelen als ze komt. Hiervoor heb ik het bestand eenvoudig bewerkt / Etc / default / grub en ik heb de invoer ingesteld om standaard te starten en de time-out op slechts 3 seconden.

GRUB_DEFAULT = 2 GRUB_TIMEOUT = 3

Het bleef alleen om de GRUB-configuratie opnieuw te genereren en opnieuw te starten:

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

Gelukkig verliep alles zoals verwacht. Ik heb het Windows-item geselecteerd en het begon gelukkig.

Zoals u kunt zien, kan ten minste één offline pseudo-installatie van ArchLinux stap voor stap worden uitgevoerd zonder alleen online te zijn met de CD, hoewel wat natuurlijk op de harde schijf zal worden geïnstalleerd in wezen een LiveCD is, maar het kan tenminste start een systeem op, kopieer bestanden en voer enkele applicaties uit.

Gelukkig kwam Sandy (KZKG ^ Gaara) langs en kopieerde de Arch-repo (waarvoor ik erg dankbaar ben), dus ik ben van plan om binnenkort een echte offline installatie af te maken, maar dit zou een ander verhaal zijn. Wat ik je kan verzekeren is dat ik dit soort leuke experimenten lange tijd een beetje heb gemist. Als ik tijd had, connectiviteit in huis en bepaalde materiële omstandigheden verzekerd, zou ik waarschijnlijk proberen een aangepaste distributie te maken op basis van LFS, wat een veel leuker project zou zijn. 😉


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   petertsjechisch zei

    Ik hoop dat je FreeBSD Elav eens probeert.
    Wat betreft uw gids, heel erg goed en compleet ...

    1.    Ramp zei

      Hoe veranderlijk ben je. Ik verzeker u dat u zich binnen een paar maanden zult vervelen met FreeBSD.

      1.    lf zei

        Interessante informatie, maar ik zie nog steeds geen handleidingen om arch te installeren in systemen met UEFI, hebben de boogschutters nieuwe pc's?

        1.    levendig zei

          De installatie met UEFI in ArchLinux wordt vereenvoudigd door Antergos te installeren, je hoeft alleen een partitie aan te maken in Fat32 met minder dan 500 MB en automatisch (als je de USB opstart met UEFI), zal Antergos de partitie markeren als / boot.

      2.    petertsjechisch zei

        Daarom verander ik ... Om niet meer te veranderen ga ik van Linux naar BSD: D.

    2.    petertsjechisch zei

      Verandering aangebracht en geschreven gids: D.

    1.    ozkar zei

      Blijf Arch gebruiken, als ik naar Havana ga, haal ik het op.

  2.   Alex zei

    Ik heb een Arch Linux iso op mijn usb. Ik durfde hem vanwege tijdgebrek niet te gebruiken.
    Ik ga het artikel eens goed bekijken en daarna gebruiken!

  3.   Oorlogshart zei

    Uitstekend artikel, trouwens, het doet me denken aan de odyssee die ik doormaakte om Arch via WIFI te installeren met een BCM4312.

  4.   kalevito zei

    Elav, excuseer de vraag, maar ik ben nieuw in Linux, ik heb alleen ubuntu gebruikt en arch Linux trekt mijn aandacht. Mijn vrienden zeggen dat ik het niet zal kunnen installeren omdat het voor experts is, maar als ik je offline tutorial zie, denk ik dat het stap voor stap volgen dat ik het kan doen, het een uitdaging voor mij is om het te installeren. Alleen ik wil het doen met internet, daar mijn vraag: heb je of wanneer ga je een tutorial doen met zoveel details (zoals deze) om het te installeren?

    1.    daekko zei

      De gids is op deze site gepubliceerd. https://blog.desdelinux.net/guia-de-instalacion-de-arch-linux-2014/

      😀 Dus als we de gids gebruiken en aandacht schenken aan wat er wordt gedaan, hebben we een installatie zonder complicaties, geluk!

    2.    levendig zei

      U kunt nog steeds Antergos installeren, wat Archlinux is maar met een "Ubuntu" -installatie .. 😀

  5.   afanisch zei

    In Arch is er een ander alternatief installatiemedium voor de officiële images genaamd Archboot dat, in tegenstelling tot de officiële images, de [core] repository (en iets anders) bevat, handig voor offline installaties (het is ook een hybride architectuur, het werkt voor i686 en voor x86_64).

    Het slechte is dat het op dit moment 1 GB in beslag neemt (het nam jaren geleden veel minder in beslag), dat eerder zou moeten worden gedownload ... en zonder een stabiele verbinding om dat te doen, is de eerste download ingewikkeld.

    Ik laat hier een link voor je achter voor het geval het je nuttig is: https://wiki.archlinux.org/index.php/archboot

    1.    levendig zei

      Interessant, ik kende hem niet 😀

    2.    Hugo zei

      Nou, merkwaardig genoeg heb ik een tijdje geleden archboot geprobeerd en als ik bij het pacstrap-gedeelte kom, vertelt het me dat het het ntfs-3g-pakket niet kan vinden 🙁

      Het heeft ook andere bijzonderheden, zoals dat het geen mc- of man-pagina's bevat, en het heeft veel ram nodig om te installeren. Het lijkt geen goed gepolijste oplossing.

  6.   Max staal zei

    De waarheid is dat er een heel eenvoudige manier is om arch offline te installeren en dat ik het klassieke vallen en opstaan ​​moest doen om het op mijn pc thuis te installeren (waar ik geen internet heb).

    Hiervoor heb je uiteraard een andere pc met arch en internetverbinding nodig. Maak eerst een pacman -Syu en daarna een pacman -Sw-basis (plus alles wat je natuurlijk wilt installeren). Kopieer alle bestanden van de pacman-cache naar een usb-stick en ook de databasebestanden (/var/lib/pacman/sync/{core.db, extra.db, community.db}.

    Ga dan verder met de normale booginstallatie, maar voordat je op het punt komt om de pacstrap te maken - d / mnt base (of wat dan ook, ik zeg alles uit geheugen>. <) Je moet pacstrap precies bewerken (met vi of wat je ook verkiest of breng de installatieschijf) en bijna aan het einde is er een regel die verwijst naar "pacman -Syy", we verwijderen het gewoon. Hierna kopiëren we de pacman-databasebestanden naar hun overeenkomstige plaats (alle .db-bestanden naar / var / lib / pacman / sync), en de cachebestanden naar de cachemap.

    Dus nu gaan we verder met pacstrap -loquenomeaccord / mnt base en al het andere.

    Alles wat ik zeg uit het geheugen, dus er kan wat detail zijn dat ik ben gegaan, zoals de cachebestanden.Ik weet niet precies waar ze naartoe gaan, maar het zou in / var / cache / pacman / pkg moeten staan ​​of als het niet kan worden gespecificeerd in pacstrap lijkt mij.

  7.   Leonel zei

    Ze zouden een cfdisk-tutorial kunnen doen met dubbele of driedubbele boot, naast wat ik nodig heb om arch te installeren

    1.    Hugo zei

      Er is echt niet veel te zeggen over cfdisk aangezien het helemaal niet complex is, en in feite laat de installatiehandleiding waarnaar hierboven verwezen wordt in feite zien hoe het te gebruiken. Maar als je andere systemen hebt geïnstalleerd, zou je iets vriendelijkers kunnen gebruiken, misschien Gparted. Voor Windows is er een gratis tool (hoewel helaas niet gratis) genaamd Easeus Partition Master die je zou kunnen gebruiken, deze lijkt erg goed te werken.

      Voor de rest ben ik blij dat je het artikel interessant vond, ik zag de grote verdienste van mijn ervaring niet in, maar Elav moedigde me aan om er iets over voor te bereiden.