Dualboot: Gentoo & Ubuntu samalla partitiolla

Yleiset ongelmat, ohjelmien kääntäminen, kernel, lirc jne.

Dualboot: Gentoo & Ubuntu samalla partitiolla

ViestiKirjoittaja 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...
Avatar
Rene
Yli-ihminen
 
Viestit: 627
Liittynyt: 10.10.2004 3:00
Paikkakunta: Espoo

Re: Dualboot: Gentoo & Ubuntu samalla partitiolla

ViestiKirjoittaja 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öä.
Prelude
Säätäjä
 
Viestit: 237
Liittynyt: 02.02.2007 16:45

Re: Dualboot: Gentoo & Ubuntu samalla partitiolla

ViestiKirjoittaja 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..
Avatar
Rene
Yli-ihminen
 
Viestit: 627
Liittynyt: 10.10.2004 3:00
Paikkakunta: Espoo

Re: Dualboot: Gentoo & Ubuntu samalla partitiolla

ViestiKirjoittaja 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 :).
kurg
Vanhempi asiantuntija
 
Viestit: 175
Liittynyt: 13.04.2006 17:17

Re: Dualboot: Gentoo & Ubuntu samalla partitiolla

ViestiKirjoittaja 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
antoine
Asiantuntija
 
Viestit: 128
Liittynyt: 20.04.2009 18:29
Paikkakunta: Hämeenkyrö


Paluu Linux

Paikallaolijat

Käyttäjiä lukemassa tätä aluetta: Ei rekisteröityneitä käyttäjiä ja 1 vierailijaa

cron