ArchLinux offline pseudoinstallation steg för steg

Den här artikeln skickades till mig av vår vän Hugo Florentino via e-post, där han berättar om sin erfarenhet av att försöka installera ArchLinux utan att ha något arkiv till hands, bara med installationsskivan

Pseudo-installation

För några dagar sedan laddade jag ner ArchLinux ISO för att göra en heminstallation. Efter att ha använt andra distributioner som tillåter dig att installera minst en minimal databas från CD: n, ville jag göra något liknande, men konstigt nog är Arch-installationsprocessen inte avsedd för en dator som inte har internetåtkomst (biverkningar av utvecklare som lever i den första världen).

I mitt fall hade jag redan Windows 7 (med start och systempartition) och Fedora (med byte och dedikerad / startpartition) på min disk. Tanken var då att lyckas installera Arch där Fedora tidigare var, utan att förstöra Windows i processen.

ArchLinux offline pseudoinstallation

Tja, jag startade från Arch-CD: n och valde x86_64 och lämnade mig utan att göra det vid en konsol. Jag tänkte, "Wow, de här killarna menar allvar med att inte vara en nybörjardistro ... okej, låt oss spela med då och se vad som händer."

Jag listade katalogen där jag skulle se om det fanns någon dokumentation och jag upptäckte att det verkligen fanns en text med en elementär installationsguide. Jag skrev vad som var relevant på ett papper (jag har ingen skrivare hemma) och började arbeta.

Det första jag gjorde var att ändra tangentbordslayouten till spanska från Spanien, vilket var lättare än jag förväntade mig (det finns till och med en märkligt kallad us-accenter):

loadkeys es

Nästa sak var att montera en extern disk för att spara en kopia av MBR vid problem och förresten spara den viktiga information som jag hade i min Fedora:

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

Lyckligtvis stöder Archs LiveCD NTFS och har inbyggt Midnight comander (MC), så på nolltid sparade jag resten av informationen.

Jag avmonterade sedan disken, tog bort den tillfälliga katalogen och fysiskt tog bort den externa disken för att minska risken för potentiella "cagastrofer".

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

Så jag formaterade mina partitioner, monterade rot- och startpartitionen och aktiverade swap:

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

Nästa steg var mitt första hinder:

pacstrap /mnt base

Arch försökte naturligtvis leta efter förrådsdatabaser på en av speglarna och inte kunna hitta något pacstrap gjorde var att skapa en katalogstruktur i / mnt, mycket organiserad, men uppenbarligen tom.

Via telefon frågade jag ett par vänner som använder Arch om det inte fanns något sätt att installera utan internetåtkomst åtminstone samma paket som finns på LiveCD, utan att ha ett förvar kopierat till disk heller, och de sa till mig att åtminstone de visste inte hur de skulle göra det.

Jag tyckte att den tekniska 'utmaningen' var intressant, så jag tänkte, 'Om Arch kan logga in i LiveCD-läge borde den kunna installera på en hårddisk i åtminstone samma läge', så jag försökte kopiera filerna manuellt och följer resten av handledningen (med den udda mindre förändringen) för att se vad som hände:

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

Nästa steg var mitt nästa hinder:

mkinitcpio -p linux

Detta kommando gav några fel efter att ha läst kommandoboken och filernas innehåll /etc/mkinitcpio.conf y /etc/mkinitcpio.d/linux.preset, Jag förstod att kommandot inte kunde hitta filen vmlinuz-linux, så jag tryckte på Ctrl + D för att lämna chroot-miljön och letade efter en fil som såg ut som den:

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

Arch LiveCD råkar montera startfiler under katalogen / springa /, så jag bestämde mig för att kopiera dem till mig / starta / att ha dem till hands i min chroot-miljö:

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

Som ett annat fel som jag tyckte att jag experimenterade med mkinitcpio var att rotpartitionens etikett inte kunde hittas, skrev jag ner dess UUID (som jag identifierade med hjälp av kommandot blkid) för att använda med kommandot, som äntligen såg ut så här:

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

Den här gången slutade byggandet framgångsrikt, bara med ett par varningar om moduler som inte kunde hittas, men i mitt fall inte behövdes. För det fall jag genererade fstab igen, men den här gången med UUID:

genfstab -U -p / > /etc/fstab

Jag tänkte: Nåja, äntligen framsteg. Och jag fortsatte med att ändra lösenordet och installera en bootloader.

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

Slutligen, och för att vara metodisk, tryckte jag på Ctrl + D igen för att lämna den rotade miljön, demonterade allt och startade om för att se vad som hände:

umount / mnt / boot umount / mnt starta om

Datorn startades om och visade Grub-menyn med Arch (Windows dyker inte upp någonstans), så jag valde det och allt verkade laddas bra tills ... systemet indikerade att det hade varit fel som jag skulle kontrollera med följande kommando:

journalctl -xb

När jag analyserade felen såg jag att det mesta kunde ignoreras, men det sista var ovanligt och sa att plymouth inte kunde hittas.

Jag tänkte genast, 'Plymouth ??? Varför behöver en konsolstartmiljö något liknande? Det verkar inte särskilt KISS att säga. Jag har verkligen inte sagt det och behöver inte heller. "

Men för att vara praktisk tänkte jag: "Tja, men åtminstone bör det refereras i någon fil, låt oss se ...":

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

Överraskande nog uppstod ingen fil med textsträngen "plymouth" i konfigurationskatalogen. Jag tänkte då: «Åh, så ... tvingar du dig med mig? låt oss sedan se hur du assimilerar en "kanon" "(som vi säger på Kuba) och" jag byggde "plymouth från grunden:

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

För er som undrar vad jag lägger i den filen, här är innehållet i dess härliga helhet:

#! / bin / sh utgång

Jag startade om igen och förväntade mig något fel ... överraskande nog var systemd glad över att ha hittat den "väsentliga komponenten", eftersom den avslutade startprocessen och utan ytterligare dröjsmål lämnade den mig i konsolen. Eftersom jag inte kunde tro mina ögon bestämde jag mig för att "avinstallera" plymouth och starta om för att se vad som hände:

rm -fr / usr / bin / plymouth starta om

Konstigt nog, den här gången startade systemet tyst utan att irritera mig ytterligare med Plymouths frånvaro. (Ingen kommentar)

Lägga till Windows till GRUB

Det var då att lägga till Windows-posten till GRUB. Eftersom de traditionella rutterna inte fungerade (kombinationen av grub-mkconfig med os -prober verkade inte fungera bra), bestämde jag mig för att skapa posten manuellt, för vilken jag behövde upptäcka Windows bootloader-sträng och UUID för startpartitionen:

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

Detta gav mig respektive två strängar:

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

På detta sätt verifierade jag att UUID som returnerades var densamma som det som erhölls för den partitionen när jag körde blkid-kommandot. Det var då nödvändigt att generera en anpassad grub-post med nämnda data:

vi /etc/grub.d/40_custom

I dess innehåll:

#! / bin / sh exec tail -n +3 $ 0 # Den här filen ger ett enkelt sätt att lägga till anpassade menyposter. Skriv bara de # menyposter du vill lägga till efter den här kommentaren. Var försiktig så att du inte byter # "exec tail" -linjen ovan. menyalternativ "Microsoft Windows 7 SP1" - klassfönster - klass 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 - tips-baremetal = ahci0, msdos1 DC788F27788EFF8E ntldr / bootmgr}

Efter att ha slutfört detta steg bestämde jag mig för att ställa in Windows som standardoperativsystem, så att min fru inte får panik och min systerdotter kan spela sina barbies när hon kommer. För detta redigerade jag bara filen / Etc / default / grub och jag ställde in ingången för att starta som standard och timeout till bara 3 sekunder.

GRUB_DEFAULT = 2 GRUB_TIMEOUT = 3

Det återstod bara att regenerera GRUB-konfigurationen igen och starta om:

grub-mkconfig -o /boot/grub/grub.cfg starta om

Lyckligtvis gick allt som förväntat. Jag valde Windows-posten och det började med glädje.

Så som du kan se kan åtminstone en ArchLinux offline-pseudoinstallation göras steg för steg utan att bara vara online med CD: n, men det är uppenbarligen vad som kommer att installeras på hårddisken i huvudsak en LiveCD, men åtminstone kan den starta ett system, kopiera filer och köra vissa applikationer.

Lyckligtvis kom Sandy (KZKG ^ Gaara) in och kopierade Arch Repo (som jag är väldigt tacksam för), så jag planerar att slutföra en riktig offlineinstallation snart, men det skulle vara en annan historia. Vad jag kan försäkra er är att jag länge saknat den här typen av roliga experiment lite. I själva verket, om jag hade tid, anslutning i huset och vissa materiella förhållanden garanterade, skulle jag förmodligen försöka göra en anpassad distribution baserat på LFS, vilket skulle vara ett mycket roligare projekt. 😉


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   Petercheco sade

    Hoppas du provar FreeBSD Elav.
    När det gäller din guide, väldigt mycket väldigt bra och komplett ...

    1.    Ramp sade

      Hur föränderlig du är. Jag kan försäkra er att du kommer att bli uttråkad av FreeBSD om några månader.

      1.    lf sade

        Intressant information, men jag ser fortfarande inte guider för att installera arch i system med UEFI, har archers nya datorer?

        1.    livlig sade

          Installationen med UEFI i ArchLinux förenklas genom att installera Antergos, du behöver bara skapa en partition i Fat32 med mindre än 500 MB och automatiskt (när du startar USB med UEFI) kommer Antergos att markera partitionen som / boot.

      2.    Petercheco sade

        Det är därför jag byter ... För att inte ändra längre går jag från Linux till BSD: D.

    2.    Petercheco sade

      Ändrad och skriftlig guide: D.

  2.   r @ y sade
    1.    ozkar sade

      Fortsätt använda Arch, när jag åker till Havanna tar jag upp den.

  3.   Alex sade

    Jag har en Arch Linux-iso på min USB. Jag vågade inte använda den på grund av tidsbrist.
    Jag ska ta en bra recension av artikeln och sedan använda den!

  4.   Warheart sade

    Utmärkt artikel, förresten det påminner mig om odyssey jag gick igenom för att installera Arch via WIFI med en BCM4312.

  5.   kalevito sade

    Elav, ursäkta frågan men jag är ny på Linux, jag har bara använt ubuntu och arch linux fångar min uppmärksamhet. Mina vänner säger att jag inte kommer att kunna installera det för att det är för experter, men när jag ser din offlinehandledning tror jag att jag steg för steg kan göra det, det är en utmaning för mig att installera den. Jag vill bara göra det med Internet, där min fråga: har du eller när kommer du att göra en handledning med så mycket detaljer (som den här) för att installera den?

    1.    daekko sade

      Guiden publiceras på denna webbplats. https://blog.desdelinux.net/guia-de-instalacion-de-arch-linux-2014/

      😀 Så med hjälp av guiden och uppmärksam på vad som görs kommer vi att ha en installation utan komplikationer, tur!

    2.    livlig sade

      Du kan fortfarande installera Antergos, som är Archlinux men med "Ubuntu-stil" installation .. ..

  6.   afaniskt sade

    I Arch finns ett annat alternativt installationsmedium till de officiella bilderna som heter Archboot som, till skillnad från de officiella bilderna, innehåller [core] -förvaret (och något annat), användbart för offlineinstallationer (det är också en hybridarkitektur, det används för i686 och för x86_64).

    Det dåliga är att det upptar 1 GB just nu (det brukade uppta mycket mindre år sedan) som skulle behöva laddas ner innan ... och utan en stabil anslutning för att göra den första nedladdningen är komplicerad.

    Här är en länk om du tycker att det är användbart: https://wiki.archlinux.org/index.php/archboot

    1.    livlig sade

      Intressant, jag kände inte honom 😀

    2.    Hugo sade

      Tja, märkligt nog, för ett tag sedan försökte jag archboot och när jag kommer till pacstrap-delen berättar det för mig att det inte hittar ntfs-3g-paketet 🙁

      Det har också andra särdrag, till exempel att det inte innehåller mc eller manuella sidor, och det behöver mycket ram för att installera. Det verkar inte som en välpolerad lösning.

  7.   Max stål sade

    Sanningen är att det finns ett mycket enkelt sätt att installera arch offline och som jag var tvungen att göra det klassiska försök och fel för att installera det på min hemdator (där jag inte har internet).

    För detta behöver du uppenbarligen en annan dator med en båge och internetanslutning. Gör bara en pacman -Syu först och sedan en pacman -Sw-bas (plus allt du vill installera självklart). Kopiera alla filer från pacman-cachen till ett USB-minne och även databasfilerna (/var/lib/pacman/sync/{core.db, extra.db, community.db}.

    Fortsätt sedan med att göra den vanliga båginstallationen, men innan du kommer till punkten att göra pacstrap - d / mnt-basen (eller vad som helst, jag säger allt från minnet>. <) Du måste redigera exakt pacstrap (med vi eller vad du än föredrar eller ta med installationsskivan) och nästan till slutet finns en rad som hänvisar till "pacman -Syy", vi tar bara bort den. Efter detta kopierar vi pacmans databasfiler till motsvarande plats (alla .db-filer till / var / lib / pacman / sync) och cachefilerna till cachekatalogen.

    Så nu fortsätter vi med pacstrap -loquenomeaccord / mnt-bas och allt annat.

    Allt som jag säger från minnet, så det kan finnas några detaljer som jag har kvar, till exempel cachefilerna, jag kommer inte ihåg exakt vart de går men det ska vara i / var / cache / pacman / pkg eller om det inte kan anges i pacstrap verkar för mig.

  8.   Leonel sade

    Du kan göra en tutorial för cfdisk med dubbel eller trippel start bes, vad jag behöver för att installera arch

    1.    Hugo sade

      Det finns verkligen inte mycket att säga om cfdisk eftersom det inte är komplext alls, och faktiskt visar installationsguiden som nämns ovan i princip hur man använder den. Men om du har andra system installerade kan du använda något mer vänligt, kanske Gparted. För Windows finns det ett gratis verktyg (även om det tyvärr inte är gratis) som heter Easeus Partition Master som du kan använda, det verkar fungera mycket bra.

      För resten är jag glad att du tyckte att artikeln var intressant, jag såg inte den stora förtjänsten av min erfarenhet, men Elav uppmuntrade mig att förbereda något om det.