Arch Linux neben Ubuntu 14.10

Hoeze

Lieutenant
Registriert
Juni 2010
Beiträge
707
Ich hab eine Festplatte, auf der ein Ubuntu 14.10 installiert ist. Diese habe ich jetzt in zwei Partitionen geteilt, sodass ich auf der zweiten ein Arch Linux installieren kann.
Allerdings stellen sich hier gleichmal folgende Fragen>
- Welches Filesystem soll ich verwenden? Btrfs?
- Wie uberrede ich Grub dazu, das Arch zu starten?
 
Ich würde immer noch auf ext4 setzen. Es sei denn du willst explizit die neuen Features von btrfs nutzen.
Ubuntu installiert ja Grub2 samt os-prober. Wenn du archlinux installiert, kannst du die Installation des Bootloaders weglassen. Boote dann ubuntu und starte update-grub (ein alias für grub-mkconfig), dann findet os-prober die archlinux-installation und bindet sie in grub ein.
 
os_prober von Ubuntu kann mehrere Linux Installationen erkennen und verwalten, alles automatisch. Arch Linux vielleicht auch.

Und ja, ext4, kein btrfs
 
Das direkte Einbinden in ubuntu-Grub führt jedoch dazu, dass Du mit jedem Kernelupdate mal eben schnell nach ubuntu booten musst um dort Grub zu aktualisieren. Wenn Du das nicht machst, läuft Dein System halt einfach weiter mit altem Kernel, zumindest so Du den nicht deinstallierst, denn dann bekommst Du einfach 'ne Grub-Fehlermeldung und einen blinkenden Cursor auf schwarzem Grund. Das Nacheinanderschalten mehrerer Bootmanager würde das Problem umgehen, leider ist dieses Feature bei Grub2 nach gefühlt jedem zweiten Grub-Update kaputt.
 
fuyuhasugu schrieb:
Das direkte Einbinden in ubuntu-Grub führt jedoch dazu, dass Du mit jedem Kernelupdate mal eben schnell nach ubuntu booten musst um dort Grub zu aktualisieren.
Muss man selbstverständlich nicht. Filesysteme des anderen Linux mounten und dessen grub sein update machen lassen tuts genauso.

Bevorzugen würde ich allerdings auf dem einen Linux eine 0815-Grub-Config, die per zusätzlichem Menüpunkt via Chainloader den Grub der 2. Linuxinstallation aufrufen kann. Sieht etwa so aus:

title ZweitesLinux
root (hd0,5)
chainloader +1

Naja, noch mehr bevorzugen würde ich wohl jeden anderen Bootloader ggü. dem für 99% der Fälle völlig überdimensionierten grub. :)
 
Zuletzt bearbeitet:
mensch183 schrieb:
Muss man selbstverständlich nicht. Filesysteme des anderen Linux mounten und dessen grub sein update machen lassen tuts genauso.
Gerade bei verschiedenen Linuxsystemen (Distributionen, Versionen o.ä.) geht das gern schief, weil irgendein File eben vom Ort oder der Version oder sonstwas nicht passt. Am ehesten klappt es noch mit chroot. Dann kann man sich aber besser gleich ein script schreiben, welches proc, sys etc. jedes Mal einbindet.
 
Was wär, wenn ich auf der arch-Partition den syslinux-Bootloader installieren würde?
Wie müsste ich das einstellen?
 
fuyuhasugu schrieb:
Das direkte Einbinden in ubuntu-Grub führt jedoch dazu, dass Du mit jedem Kernelupdate mal eben schnell nach ubuntu booten musst um dort Grub zu aktualisieren. Wenn Du das nicht machst, läuft Dein System halt einfach weiter mit altem Kernel, zumindest so Du den nicht deinstallierst, denn dann bekommst Du einfach 'ne Grub-Fehlermeldung und einen blinkenden Cursor auf schwarzem Grund. Das Nacheinanderschalten mehrerer Bootmanager würde das Problem umgehen, leider ist dieses Feature bei Grub2 nach gefühlt jedem zweiten Grub-Update kaputt.

Das umgeht man ja gerade dadurch, wenn man grub über die ubuntu Installation aktualisiert. Denn bei einem Kernel Update der archlinux Installation muss grub nicht aktualisiert werden.
Umgekehrt: ja, da hätte man das Problem.
 
Zuletzt bearbeitet:
Troublegum schrieb:
... bei einem Kernel Update der archlinux Installation muss grub nicht aktualisiert werden.
Ein Muss ist das natürlich nicht, Grub bootet dann, wie oben schon beschrieben, halt einfach den alten Kernel weiter. Am einfachsten wäre es wohl, man sparte sich das Kernel-Updaten gleich ganz. Darüber hinaus gibt es natürlich auch noch die Grub-Kommandozeile, die, solange man die komplette Kernelbezeichnung im Kopf hat, bis auf eine gewisse Umständlichkeit des Startvorgangs auch kein Problem darstellt. :p
 
Sorry, aber das stimmt nicht. Archlinux behält nicht die alten Kernel Images in /Boot sondern bei einem Kernel Update wird das alte Kernel Image mit dem gleichen Namen über schrieben und ein grub-update ist nicht nötig, um den neuen kernel zu starten.
Du verwechselt das mit ubuntu, wo nach jedem neu installierten kernel ein grub-update getriggert wird.
 
Troublegum schrieb:
Sorry, aber das stimmt nicht. Archlinux behält nicht die alten Kernel Images in /Boot sondern bei einem Kernel Update wird das alte Kernel Image mit dem gleichen Namen über schrieben und ein grub-update ist nicht nötig, um den neuen kernel zu starten.
Niemand mit auch nur ein bischen gesundem Misstrauen würde so einen gammeligen Updatemechanismus für den Kernel verwenden, der einem den Ast absägt, auf dem man gerade sitzt.

Dann nutzt man eben "make install" + "make install_modules" aus dem Kernelbaum, wenn die Distri nichts anderes bietet.
 
Um das ganze zu umgehen, würde ich gerne einen bootloader auf der Partition mit dem Arch installieren, der dann von GRUB per chainloading geladen wird.
Funktioniert das?
 
mensch183 schrieb:
Niemand mit auch nur ein bischen gesundem Misstrauen […]

Mir war anfangs, von Debian kommend, auch nicht wohl bei der Sache. Aber nach gefühlten 25 Updates des Kernels und 0 Problemen damit entspanne ich mich langsam wenn linux in der liste der Updates auftaucht.

Hoeze schrieb:
[…]der dann von GRUB per chainloading[…]

Bei der Vorgängerversion von Grub hätte ich dir genau sagen können wie das geht. Bei grub2 kenne ich mich nicht mehr aus.

Aber schau mal hier rein.

http://wiki.ubuntuusers.de/GRUB_2
 
OK, hab jetzt ein Arch auf sda3 nach der Einsteiger-Installation installiert.
Anschließend ein update-grub unter dem Ubuntu und ein anschließendes Ausprobieren des Arch-Linux:
IMAG0644.jpg

Dann hab ich, wie hier beschrieben, syslinux unter /boot/syslinux installiert:
Code:
# extlinux -i /boot/syslinux
# cp /usr/lib/syslinux/bios/*.c32 /boot/syslinux
Was ich jetzt immer noch nicht weiß, ist, wie ich jetzt GRUB2 zum Laden des syslinux überrede.
Ich habs mit "chainloader (hd0,msdos3)+1" versucht, da passiert gar nix,
dann mit "chainloader (hd0,msdos3)/usr/lib/syslinux/bios/mbr.bin" (Ergebnis: unerwartetes Ende) sowie mit "chainloder ..../bios/isolinux.bin" (Ergebnis: Falsche Signatur).
 
Zuletzt bearbeitet:
Bist du dir sicher, dass du Ubuntu 14.10 verwendest und nicht 14.04 ?

Denn 14.10 befindet sich noch in der Entwicklung, es existiert seit 01.08.2014 gerade mal
die Alpha 2, die soweit mir bekannt ohnehin nicht für alle zum testen freigegeben wurde.
Am 28.08.2014 soll dann Beta 1 folgen, die Final Beta am 25.09.2014 und die Final am 16.10.2014
 
Ich bin der Meinung das du es einfacher hast wenn du Grub einfach den Kernel von Arch Linux laden lässt. Du benötigst kein update-grub von Ubuntu aus, weil Arch immer den alten Kernel überschreibt. Das heißt es gibt keine links auf alte Kernel und auch keine alten Kernel. Welche Vor- und Nachteile das hat steht auf einem anderen Blatt.

Somit ist aber der Eintrag für Arch Linux auch immer gleich in Grub.
 
Zedar schrieb:
Ich bin der Meinung das du es einfacher hast wenn du Grub einfach den Kernel von Arch Linux laden lässt.
Mein Problem ist, dass ich immer in den emergency mode boote.
update-grub hat folgenden Eintrag erstellt:
IMAG0645.jpg
Stimmt daran was nicht?

Abgesehen davon fänd ichs wirklich interessant, wie ich das per chainloading lösen würde...
 
Bei mir sieht das so aus:

Code:
menuentry 'Arch GNU/Linux, mit Linux core repo kernel' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-core repo kernel-true-c5af9621-7759-4805-ad$
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_msdos
        insmod ext2
        set root='hd0,msdos3'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3  c5af9621-7759-4805-ad30-a03eb7e33160
        else
          search --no-floppy --fs-uuid --set=root c5af9621-7759-4805-ad30-a03eb7e33160
        fi
        echo    'Linux core repo kernel wird geladen …'
        linux   /boot/vmlinuz-linux root=UUID=c5af9621-7759-4805-ad30-a03eb7e33160 rw quiet splash quiet splash
        echo    'Initiale Ramdisk wird geladen …'
        initrd  /boot/initramfs-linux.img
}

Auf den ersten Blick sehe ich keinen großen Fehler. Bei mir ist Arch auch auf /dev/sda3 in der wenn ich fdisk -l eingebe.

Mir ist aufgefallen das bei dir in den Zeilen 7 und 9 jeweils die UUIDs angegeben werden, in Zeile 13 aber root=/dev/sda3 steht. Ich kann mir nicht vorstellen das es was aus macht, sofern die UUIDs korrekt sind, aber kopiere mal testweise die UUID Angabe von Zeile 7 oder 9 in die Zeile 13 (an die Stelle mit /dev/sda3).

Edit:

ext2 ist korrekt?
 
Zedar schrieb:
ext2 ist korrekt?

Ich hab mal testweise ext2 zu ext4 geändert und gebootet.
Macht keinen Unterschied, er gibt zwar einen Fehler aus, bootet dann aber genauso.

Langsam glaube ich, dass es ein Problem mit Arch ist.
Allerdings hab ich mich bei der Installation an die Einsteigeranleitung gehalten. Ich bekomme beim Bootvorgang auch keine Fehlermeldungen...

Kann ich mit grub2 debugging aktivieren?
 
Zurück
Oben