Habe Arch Linux, will locker sein, muss beides behalten; keine cd, kein usb oder geld; chroot, vorpartitioniert: GPT

1141
averagejoey2000

Ich habe einen Laptop mit Arch Linux drauf

[averagejoey2000@JoeyHobbyPCarchLinux arch-install-scripts]$ lsblk -l NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 596.2G 0 disk  sda1 8:1 0 25G 0 part / sda2 8:2 0 2M 0 part  sda3 8:3 0 512M 0 part /boot sda4 8:4 0 4G 0 part [SWAP] sda5 8:5 0 4G 0 part [SWAP] sda6 8:6 0 266.3G 0 part /home sda7 8:7 0 296.3G 0 part  

Ich habe vor, Slackware Linux auf / dev / sda7 und höher zu installieren. Ich habe keine leeren DVDs für eine ISO-basierte Installation, dd if = usbboot.img von = / dev / sdb gibt mir das Startmenü, aber mein Computer überhitzt, bevor er fortschreitet. Auf einem separaten Laptop wird nicht überhitzt, sondern 3 Stunden statt der versprochenen zwei Minuten. Ich habe weder das Geld noch die Geduld, eine bestellte DVD zu bestellen und zu warten, um die Herausforderung der Slackware zu erleben. Ich möchte in der Lage sein

mkdir /mnt/slack mount /dev/sda7 /mnt/slack (can't remember the command) proc proc proc/ slackinst 

aber ich möchte auf das Teil vor der Montage zugreifen, wenn es überhaupt möglich ist, so etwas zu tun.

TL; DR: Haben Sie Arch Linux, wollen Sie locker sein, muss beides behalten; keine cd, kein usb oder geld; chroot, vorpartitioniert: GPT

0

2 Antworten auf die Frage

0
QuasarDonkey

Sie könnten so etwas versuchen, obwohl ich nicht sicher bin, ob es für Sie klappt. Möglicherweise sind einige Befehlszeilen-Assistenten erforderlich.

Das erste, was Sie tun müssen, ist das Einhängen der Datei usbboot.img:

$ mkdir /tmp/usbboot $ sudo mount usbboot.img /tmp/usbboot 

Kopieren Sie dann die Datei initrd.img und heben Sie die Bereitstellung auf:

$ cp /tmp/usbboot/initrd.img /tmp/ $ sudo umount /tmp/usbboot $ rmdir /tmp/usbboot 

Nun ist die initrd in / tmp. Aber was ist es?

$ cd /tmp $ file initrd.img initrd.img: gzip compressed data, from Unix, last modified: Fri Nov 1 01:07:44 2013, max compression 

Ah, es hat gekippt. Dekomprimieren Sie es durch Umbenennen in .gz und Dekomprimieren:

$ mv initrd.img{,.gz} $ gzip -d initrd.img.gz 

Was ist jetzt?

$ file initrd.img initrd.img: ASCII cpio archive (SVR4 with no CRC) 

Erstellen Sie nun ein neues Verzeichnis für das Slackware-Installationsprogramm und extrahieren Sie initrd mit cpio (Sie müssen root sein, damit alle Berechtigungen richtig sind):

$ mkdir slackboot $ cd slackboot $ su # cat ../initrd.img | cpio -i 

HINWEIS: cpio extrahiert alle Dateien in das aktuelle Verzeichnis. Stellen Sie daher sicher, dass Sie sich in dem Verzeichnis befinden, in dem sich die Dateien befinden, wenn Sie sie aufrufen. Es würde es nicht von / versuchen.

Sie können jetzt chroot und testen:

# chroot . # /usr/lib/setup/setup Error opening terminal: xterm. 

Es scheint, dass Sie eine echte tty / pty / was auch immer brauchen. Melden Sie sich also an einem Ihrer echten Terminals (nicht an X11) als root an (Strg + Alt + 2).

# mount -o bind /dev /tmp/slackboot/dev # mount -o bind /sys /tmp/slackboot/sys # mount -o bind /proc /tmp/slackboot/proc # chroot /tmp/slackboot # /usr/lib/setup/setup 

Dadurch wird das Installationsprogramm gestartet und sollte Ihnen den Einstieg erleichtern. Gib mir nicht die Schuld, wenn du deine Festplatte abschließt.

Sie müssen auch das Haupt-ISO für das Installationsprogramm verfügbar machen (kopieren Sie das ISO in das Slackboot-Verzeichnis und mounten Sie es aus der chroot-Umgebung). QuasarDonkey vor 9 Jahren 0
0
MariusMatutiae

Die einfachste Lösung besteht darin, die Fähigkeit von Grub2 zu verwenden, um von einem ISO-Image zu booten, das Sie vermutlich bereits haben oder möglicherweise erhalten. Angenommen, es heißt slack.iso (alle Befehle als sudo )

 mkdir /boot/iso cp /path/to/your/slack.iso /boot/iso 

Bearbeiten Sie nun die Datei /etc/grub.d/40_custom und fügen Sie folgende Zeilen ein:

 #!/bin/sh echo "Adding 40_custom." >&2 exec tail -n +4 $0 # This file provides an easy way to add custom menu entries. Simply type the # menu entries you want to add after this comment. Be careful not to change # the 'exec tail' line above.  menuentry "Slackware ISO" { set isofile="/boot/iso/slack.iso" loopback loop (hd0,3)$isofile linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject initrd (loop)/casper/initrd.lz } 

Jetzt speichern und grub aktualisieren:

 update-grub 

Starten Sie neu, wählen Sie den neuen Eintrag, und Sie sollten den Live-Slack-Boot sehen.

Wenn Sie nun eine Installation durchführen möchten, müssen Sie daran denken, dass Sie keine Installation auf einer verwendeten Festplatte durchführen können, bt. Da Ihr Live-Image bereits in den RAM geladen wurde, gibt es nichts zu befürchten:

 umount -l /isodevice 

und Sie können mit der Installation beginnen. Stellen Sie einfach sicher, dass Sie die richtige (dh leere ) Partition für die Installation auswählen .

Hinweis: Wenn Sie von efi aus booten, müssen Sie die Linux- Zeile in 40_custom durch Folgendes ersetzen :

 linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile noprompt noeject 

NB2: Um das Offensichtliche wieder herzustellen, möchte ich auch darauf hinweisen, dass das Testen eines neuen Betriebssystems zu Testzwecken bei weitem das Einfachste ist, dies innerhalb einer virtuellen Maschine zu installieren. Ich kann nicht den Zweck erkennen, zwei Produktionsmaschinen auf demselben PC zu haben, da sie nicht gleichzeitig laufen können. Eine VM kann stattdessen gleichzeitig mit dem Host-Betriebssystem ausgeführt werden, kann die gesamte Festplatte gemeinsam nutzen, einfach löschen oder auf einen anderen PC verschieben usw.

das (hd0, 3) -Ding scheint wie ein Vermächtnis zu sprechen. Sollte es nicht sd [AZ] [0-9] sein? averagejoey2000 vor 9 Jahren 0