Dualboot: Gentoo & Ubuntu samalla partitiolla

Yleiset ongelmat, ohjelmien kääntäminen, kernel, lirc jne.
Avatar
Rene
Yli-ihminen
Viestit: 647
Liittynyt: 10.10.2004 3:00
Paikkakunta: Espoo

Dualboot: Gentoo & Ubuntu samalla partitiolla

Viesti Kirjoittaja Rene » 02.10.2012 0:05

Osaako joku viisampi neuvoa miten virittäisin grubin niin että saisin buutattua joko Gentoon tai Ubuntun samalta partiolta. Tällähetkellä minulla on Ubuntu asennettuna / juureen ja täydellinen kopio Gentoosta löytyy /data/Gentoo alihakemistosta.

Tarkoitus olisi buutata Gentoohon ja päästä jatkamaan tämän vian selvittelyä. Tähän mennessä piti buutata live-levyltä, ja siirrellä kaikki pois alta ennenkuin sain siirrettyä gentoon filet paikalle. Tämän jälkeen piti vielä rassata grubia jotta sain kaiken buutattua. Tähän menee liikaa aikaa, eikä oikein sovi jos vaimo haluaa päästä telkkua katsomaan. Paras olisi siis dualboot joka lataisi suoraan joko gentoon tain buntun...

Prelude
Säätäjä
Viestit: 237
Liittynyt: 02.02.2007 16:45

Re: Dualboot: Gentoo & Ubuntu samalla partitiolla

Viesti Kirjoittaja Prelude » 02.10.2012 16:41

Hyvä kysymys. En tiedä vastausta, muuta mielelläni sen kuulen jos moista on olemassa.

Ehdotan kuitenkin että et kaiva verta nenästä ihan noin syvältä vaan teet ihan suosiolla uuden partition ja siirtelet gentoon systeemin sinne.
Voit myös koittaa virtuaali konetta tai chroot ympäristöä.

Avatar
Rene
Yli-ihminen
Viestit: 647
Liittynyt: 10.10.2004 3:00
Paikkakunta: Espoo

Re: Dualboot: Gentoo & Ubuntu samalla partitiolla

Viesti Kirjoittaja Rene » 02.10.2012 16:49

Prelude kirjoitti:Hyvä kysymys. En tiedä vastausta, muuta mielelläni sen kuulen jos moista on olemassa.

Ehdotan kuitenkin että et kaiva verta nenästä ihan noin syvältä vaan teet ihan suosiolla uuden partition ja siirtelet gentoon systeemin sinne.
Voit myös koittaa virtuaali konetta tai chroot ympäristöä.
Chroottia jo kokeilin, mutta siinä noin /proc /dev jne ovat alla olevan kernelin jäämistöä, eikä siksi toimi kunnolla.. Aito DUalboot olisi kuitenkin tässä kova juttu..

Eikö Grubissa voi muuten määritellä "root" hakemisto tietyltä partitiolta? Ongelmaksi jää kuitenkin että voiko kaksi eri distroa käyttää samaa grubia boottaamiseen..

kurg
Vanhempi asiantuntija
Viestit: 175
Liittynyt: 13.04.2006 17:17

Re: Dualboot: Gentoo & Ubuntu samalla partitiolla

Viesti Kirjoittaja kurg » 02.10.2012 21:20

Boottausmetodi voi olla samanlainen kuin levyimagen boottaamiseen käytetyt scriptit. Tai verkkolevyltä boottiscriptit. Ainakin siis siten onnistuu, että käpistelee initramfs:ää siten, että sen init valitsee chrootilla tietyn hakemiston. Inittihän tekee chrootin juuri ennenkuin antaa ohjat varsinaiselle levyllä olevalle jakelulle. Jaa mutta niin siis saahan init:n nimen/polun määritettyä suoraan kernel-parametrinä bootloaderissa.
init olisi jotain tämän kaltaista (ensimmäinen hätäisellä haulla tullut esimerkki):
http://forums.gentoo.org/viewtopic-t-68 ... art-0.html

Koodi: Valitse kaikki

#!/bin/sh 
PATH=/bin 

# Get kernel CMDLINE 
#is this useless?? 
echo " * Mounting /proc" 
mount -t proc none /proc > /dev/null 2>&1 
CMDLINE=`cat /proc/cmdline` 
echo " * Unmounting /proc" 
umount /proc 

# Mount CD device 
echo " * Mounting optical device" 
CDROM="" 
for x in hda hdb hdc hdd cdrom 
do 
  mount -t iso9660 -r /dev/${x} /cdrom > /dev/null 2>&1 
  if [ "$?" = "0" ] 
  then 
    CDROM="${x}" 
    break 
  fi 
done 

# CD no found 
if [ "${CDROM}" == "" ] 
then 
  echo " *** NO optical device found, dropping a shell ***" 
  /bin/sh 
fi 

# Mount root and create read-write directories 
echo " * Mounting root file system" 
mount -v -t squashfs -o loop /cdrom/files/source.img /new > /dev/null 2>&1 
echo " * Mounting /var" 
mount -t tmpfs -o size=32m none /new/var > /dev/null 2>&1 
echo " * Mounting /etc" 
mount -t tmpfs -o size=32m none /new/etc > /dev/null 2>&1 
echo " * Mounting /tmp" 
mount -t tmpfs -o size=32m none /new/tmp > /dev/null 2>&1 
echo " * Mounting /root" 
mount -t tmpfs -o size=32m none /new/root > /dev/null 2>&1 
echo " * Filling directories" 
cd /new/var && tar xpf /cdrom/files/var.tar > /dev/null 2>&1 
cd /new/etc && tar xpf /cdrom/files/etc.tar > /dev/null 2>&1 
cd /new/root && tar xpf /cdrom/files/root.tar > /dev/null 2>&1 

# chroot 
echo " * Executing chroot" 
#find / -xdev -exec rm {} \; 
cd /new 
mount --move . / 
exec chroot . /sbin/init
Käsittääkseni ideana on mountata init:ssä tarvittavat levyt (tai verkkojaot tai imaget tai mitä ikinä) ja sitten päättää init-scripti chroottiin ja antaa ohjat distribuution init:lle. Jos distribuutioilla on omat initramfs:t (jotka sisältävät omat init:nsä ja mounttaamisen tarvittavat rojut (luonnollisesti tavalliset rojut löytyvät ihan perus-perus-initramfs:tä)), niin minkäänlaista riitelyä ei pitäisi syntyä.

Niin tai siis eihän tässä kyseisessä tapauksessa tarvitse edes mountata mitään ylimääräistä, pelkästään antaa tuolle chrootille eri hakemisto.

Gentoolle näyttäs löytyvän aika seikkaperäinen selostus asiasta:
http://en.gentoo-wiki.com/wiki/Initramfs

Mulla itellä on semmonen viritys, että Windows-koneen NTFS-partitiolla on 20GB levyimagetiedosto (Debian).
Linuxia käynnistettäessä Windowsin (Win7) bootloader käynnistää Grub4DOS:n, joka lataa NTFS-levyllä olevan kernelin ja initramfs:n.
Initramfs:n sisällä oleva init on muutoin sama kuin Debianin normi-init, mutta siellä on heti NTFS-aseman mounttauksen (joka normaalisti olisi suoraan linuxin "root", jos "root" sijaitsisi NTFS-asemalla) jälkeen lisätty mount -o loop /debian/debian.disk /root -rivi. /root -kansiosta tulee sitten lopullinen root ja sen hoitaa normaali initin loppuosa ihan kuten normaalitapauksessakin.
Kaikenkukkuraksi viilaamalla VirtualBoxia, voi Windowsista bootata Debianin myös virtuaalisesti kyseiseltä levyimage-tiedostolta :).

antoine
Asiantuntija
Viestit: 137
Liittynyt: 20.04.2009 18:29
Paikkakunta: Hämeenkyrö

Re: Dualboot: Gentoo & Ubuntu samalla partitiolla

Viesti Kirjoittaja antoine » 03.10.2012 7:43

Yhden pyörivän linux-jakelun sisältä voit muuten buutata suoraan toiseen käyttäen kexeciä (arch linuxissa paketti kexec-tools) - itsekin käytän tätä atv:llä minimaalisen bootup-kernelin sisältä arch linux -systeemiin pääsemiseksi, komennot alla esimerkkinä. Vaikutus on sama kuin täydellä bios-rebootilla: taustalla pyörivä host-ympäristö korvataan kokonaan uudella. Tässäkin tulee toki eteen sama ongelma (ja kurgin esittämä ratkaisu?) root-hakemiston sijainnista osion sisällä.

Koodi: Valitse kaikki

kexec --load ./boot/vmlinuz-linux --initrd=./boot/initramfs-linux-fallback.img --command-line="root=/dev/sda5 nosplash vesa video=vesafb"
kexec -e
tvheadend @arch linux @rpi → itunes @imac → apple tv

Vastaa Viestiin