Fórum Root.cz

Hlavní témata => Software => Téma založeno: qwertz 02. 07. 2015, 14:41:58

Název: Víc Linuxů na jeden flash disk
Přispěvatel: qwertz 02. 07. 2015, 14:41:58
Ahoj, chtěl bych si na jednu flashku dát víc instalaček Linuxu, ale programy typu YUMI, Multiboot atd. mi nefungujou, dalo by se to nějak udělat přes GRUB?
Flash disk bych rozdělil na 4 oddíly, do každýho oddílu přes dd nahrál Linux a pak je přes GRUB všechny udělal spustitelný. Jsem začátečník, nevím jestli to jde a případně jak, najde se někdo ochotnej poradit?  :(
Název: Re:Víc Linuxů na jeden flash disk
Přispěvatel: nobody 02. 07. 2015, 16:02:03
pomoci Grub4Dos (http://diddy.boot-land.net/grub4dos/Grub4dos.htm) by ti melo jit zprovoznit boot rovnou z iso (http://) souboru, ktere budes mit vsechny jednoduse umistene na jednom jedinem oddilu...
Název: Re:Víc Linuxů na jeden flash disk
Přispěvatel: nobody 02. 07. 2015, 16:03:30
pomoci Grub4Dos (http://diddy.boot-land.net/grub4dos/Grub4dos.htm) by ti melo jit zprovoznit boot rovnou z iso (http://diddy.boot-land.net/grub4dos/files/map.htm#hd32) souboru, ktere budes mit vsechny jednoduse umistene na jednom jedinem oddilu...
edit: opraven druhej odkaz...
Název: Re:Víc Linuxů na jeden flash disk
Přispěvatel: Honza 02. 07. 2015, 16:50:38
pomoci Grub4Dos (http://diddy.boot-land.net/grub4dos/Grub4dos.htm) by ti melo jit zprovoznit boot rovnou z iso (http://diddy.boot-land.net/grub4dos/files/map.htm#hd32) souboru, ktere budes mit vsechny jednoduse umistene na jednom jedinem oddilu...
edit: opraven druhej odkaz...

Nezkousel jsem, ale odkazovany link uvadi:

The majority of Linux based CD images will also fail to work with Grub4dos ISO emulation.
Název: Re:Víc Linuxů na jeden flash disk
Přispěvatel: qwertz 03. 07. 2015, 00:36:40
Vypadá to moc složitě, asi si pořídím 4 flash disky, stovku za jeden  ;)
Název: Re:Víc Linuxů na jeden flash disk
Přispěvatel: Medys 03. 07. 2015, 06:19:33
Já používám GRUB2 na výběr - vše mám na 1 oddíle:
normálně - Memtest 5.01 a SLAX
loopback - Ubuntu 10.10 a LinuxMint KDE 14 z iso souboru
memdisk - stařičký DOS z image diskety

Pokud budeš mít zájem můžu vytvořit návod a ukázat výtah z mého grub.cfg
Název: Re:Víc Linuxů na jeden flash disk
Přispěvatel: ale toz 03. 07. 2015, 07:38:34
YUMI funguje urcite a na velkou spoustu distribuci vcetne windows 10 (velmi uzitecne na chkdsk)
nebo
http://rufus.akeo.ie/
nebo
grub2
https://github.com/thias/glim

tohle asi kdysi jelo :

Kód: [Vybrat]
menuentry 'fc20 nightly iso na usb ext4 cfg github thias/glim ' {
set root='(hd0,msdos4)'
insmod ext2
insmod ntfs
insmod fat
insmod part_msdos
insmod iso9660
set CDL=Fedora-20-Nightly-x86_64-Live-xf
set ISO=${CDL}ce-20130908.09-1.iso
loopback loop (hd0,msdos5)/$ISO
linux (loop)/isolinux/vmlinuz0 root=live:CDLABEL=$CDL rootfstype=auto ro rd.live.image  rd.luks=0 rd.md=0 rd.dm=0 iso-scan/filename=$ISO rdblacklist=radeon rdinitdebug
initrd (loop)/isolinux/initrd0.img
### fc19 blkid xxx.iso -> UUID="2013-06-27-17-22-08-00" LABEL="Fedora-Live-Desktop-x86_64-19-1"
### kdysi : linux /isolinux/vmlinuz stage2=hd:/dev/sdb1:/Fedora-18-x86_64-netinst.iso
}

menuentry "Ubuntu Live 10.04 32bit" {
 loopback loop /boot/iso/ubuntu-10.04-desktop-i386.iso
 linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/boot/iso/ubuntu-10.04-desktop-i386.iso noeject noprompt --
 initrd (loop)/casper/initrd.lz
}
Název: Re:Víc Linuxů na jeden flash disk
Přispěvatel: nobody 03. 07. 2015, 12:24:57
Vypadá to moc složitě, asi si pořídím 4 flash disky, stovku za jeden  ;)

pokud chces neco pro bez mysleni, tak externi box na 2.5" hdd kterej dokaze hw emulovat cd/dvd z ulozenejch iso souboru ;)
http://www.czc.cz/zalman-zm-ve200-se-cerny/104222/produkt
Název: Re:Víc Linuxů na jeden flash disk
Přispěvatel: renergy 03. 07. 2015, 23:39:13
Tohle je sice staršího data, nicméně pořád je to solidní výchozí bod pro vytvoření grub.cfg:

http://www.panticz.de/MultiBootUSB

Je potřeba mít grub nainstalovaný na flash. Viz např. zde:

https://wiki.archlinux.org/index.php/GRUB#Install_to_external_USB_stick

V případě EFI systému je to jednodušší - stačí vytvořit na usb disku fat32 partition, v ní do adresáře /EFI/BOOT/ nakopírovat binárky např. z .iso souborů ubuntu, poté ještě zkopírovat adresář /boot/ a pak už jen vytvořit/zeditovat grub.cfg. efi bootování nepotřebuje boot sektor.

Podrobnosti příslušné položky v grub.cfg se pro jednotlivé distribuce (iso image) se liší, dá to většinou chvilku případně chvíli hledání. Měl jsem v jednu dobu na grub multiboot s riplinuxem (starší záchranná live distribuce), instalačky ubuntu, slax, clonezilla, arch instalaci (ta byla ovšem mírně záludná, nějak se musí hledat svazek s .iso přes správně nastavený label).

Chodilo to, ale poslední dobou dávám přednost jednoduše "dd if=foo.iso of=/dev/sdX bs=1M" a ladění multibootu pomocí GRUBu se už nějak nevěnuji.
Název: Re:Víc Linuxů na jeden flash disk
Přispěvatel: qwertz 04. 07. 2015, 13:03:32
Hned to instalování grub na flashku moc dobře nedopadne  :(

Kód: [Vybrat]
grub-install.real: warning: Attempting to install GRUB to a disk with multiple partition labels.  This is not supported yet..
grub-install.real: warning: Embedding is not possible.  GRUB can only be installed in this setup by using blocklists.  However, blocklists are UNRELIABLE and their use is discouraged..
grub-install.real: error: will not proceed with blocklists.

a přitom na tom disku mám jen jeden fat32 oddíl
Název: Re:Víc Linuxů na jeden flash disk
Přispěvatel: nobody 04. 07. 2015, 13:40:59
instalujes to urcite na flasku? pokud jedes podle nejakeho navodu je dulezite aby jmeno zarizani (/dev/sdX) jsi zadal to sdX opravdu jmeno pridelene aktualne k te flash...
zjistis cca 10s po zasunuti flash pomoci:
Kód: [Vybrat]
dmesgnebo kdykoliv po zasunuti pomoci:
Kód: [Vybrat]
sudo fdisk -la dohledas ve vypisech jmeno podle velikost co ma ta flash...

take instaluj na disk /dev/sdX (bez cisla), ne do oddilu /dev/sdX1 (s cislem 1 oddilu)
Název: Re:Víc Linuxů na jeden flash disk
Přispěvatel: qwertz 04. 07. 2015, 14:47:40
jj jsem si jistej že to instaluju na správnej disk  :) našel jsem na webu parametr --force, když ho tam přidám tak warningy to sice píše pořád ale dokončí se to se slovy Installation finished. No error reported. Tak uvidíme jak to dneska dopadne  ;)
Název: Re:Víc Linuxů na jeden flash disk
Přispěvatel: renergy 04. 07. 2015, 16:06:14
Pro bios-bootable flash (tj. ne-UEFI) je potřeba mít na flashdisku partition tabulku, flashdisky často mívají jen filesystém přes celou svojí velikost bez PT (tj. filesystém je přímo přes /dev/sdX a není žádné /dev/sdX1) a tam není kam dát zavaděč (ten se kromě samotného mbr instaluje i do místa mezi koncem partition table a začátkem první partition, což je minimálně 31kB, které na zavaděč stačí)

Momentálně jsem uspěl následujícím postupem [host machine: x86_64-efi booted, arch linux]

### data na flashdisku se samozřejmě tímto postupem ztratí ###

- pomocí fdisku

# fdisk /dev/sdX

jsem vytvořil novou DOS p.t. (o), poté jednu partition (n), její typ (t) nastavit na c - FAT32 (LBA)

- pak je potřeba vytvořit filesystém, následně ho přimountovat

# mkfs.vfat /dev/sdX1
# mkdir /mnt/foobar
# mount /dev/sdX1 /mnt/foobar

- grub pro boot v bios-módu na i386 systémech lze pak nainstalovat (klasicky) na počátek disku /dev/sdX

# grub-install /dev/sdX --target=i386-pc --recheck --boot-directory=/mnt/foobar/

- bootování v x86_64-efi módu lze zprovoznit takto

# grub-install /dev/sdX --target=x86_64-efi --root-directory=/mnt/foobar/

Jednou je "--boot-directory", podruhé "--root-directory". Při instalaci x86_64-efi měl grub-install nějaké výhrady ohledně GPT tabulky (??), ale nainstaloval se.

S takto připravenou flash se mi podařilo nabootovat do GRUB command promptu jak na starším netbooku (tj. i386-pc funguje), tak na novější desce s UEFI (tj. x86_64-efi také funguje).

Pro multiboot zbývá dopsat [/mnt/foobar]/boot/grub/grub.cfg


PS: Pokud postup nahoře nebude fungovat, tak: v jednu chvíli jsem přepsal prvních několik MB na flashdisku nulami - ovšem byla to asi zbytečnost, chyba byla myslím způsobená prohozením "--boot-directory" za "--root-directory"
Název: Re:Víc Linuxů na jeden flash disk
Přispěvatel: renergy 05. 07. 2015, 08:26:32
oprava:
- bootování v x86_64-efi módu lze zprovoznit takto

# grub-install /dev/sdX --target=x86_64-efi --removable --root-directory=/mnt/foobar/

[tj. je potřeba mít na přík. řádce "--removable", jinak dojde k zápisu do efivars - ten se dá případně smazat pomocí "efibootmgr -B -b číslo, kde číslo lze zjistit z výpisu "efibootmgr" případně "efibootmgr -v"]
Název: Re:Víc Linuxů na jeden flash disk
Přispěvatel: renergy 05. 07. 2015, 09:13:57
tohle je dobrý aktuální link:

https://wiki.archlinux.org/index.php/Multiboot_USB_drive
Název: Re:Víc Linuxů na jeden flash disk
Přispěvatel: renergy 05. 07. 2015, 14:44:24
Shrnutí s opravami, čerstvě vyzkoušeno:

1) vytvořit na flashdisku dos partition table a jednu partition, zformátovat ji na fat32, přimountovat pod /mnt/foobar -- podrobnosti viz výše

2) na flashdisk nainstalovat grub. Nejlépe jak pro i386-pc (bios boot z mbr), tak prox86_64-efi (uefi boot z adresáře /EFI/boot/) - tyto dvě možnosti mohou koexistovat - následujícími dvěma příkazy

# grub-install /dev/sdX --target=x86_64-efi --removable --root-directory=/mnt/foobar/
# grub-install /dev/sdX --target=i386-pc --recheck --root-directory=/mnt/foobar/

za /dev/sdX dosadit připojený flashdisk

3) do /mnt/foobar/boot/iso nahrát zamýšlené iso obrazy a vytvořit příslušný /mnt/foobar/boot/grub/grub.cfg - níže je příklad. V grub.cfg je nutné upravit UUID na řádku

set imgdevpath="/dev/disk/by-uuid/C1A9-6AEB"

tak, aby odpovídal partition na flashdisku - lze zjistit pomocí "lsblk -f /dev/sdX1", případně jako root pomocí "blkid /dev/sdX1". To je vše.

PS [mírně offtopic]: Při případné instalaci ubuntu server je potřeba po nabootování ručně přimountovat ubuntu-*-server-*.iso pod /cdrom (instalátor to sám nezvládne). alt-f2, enter, přimountovat pod /mnt/i samotný flashdisk a poté obraz z něj mount -o loop /mnt/i/boot/iso/ubuntu-*-server-*.iso /cdrom


Kód: [Vybrat]
insmod part_gpt
insmod ext2

if loadfont /boot/grub/fonts/unicode.pf2 ; then
set gfxmode=auto
insmod all_video
insmod gfxterm
terminal_output gfxterm
fi

set imgdevpath="/dev/disk/by-uuid/C1A9-6AEB"

menuentry '[loopback]archlinux-2015.07.01-dual.iso i686' {
set isofile='/boot/iso/archlinux-2015.07.01-dual.iso'
loopback loop $isofile
linux (loop)/arch/boot/i686/vmlinuz archisolabel=ARCH_201507 img_dev=$imgdevpath img_loop=$isofile earlymodules=loop
initrd (loop)/arch/boot/i686/archiso.img
}

menuentry '[loopback]archlinux-2015.07.01-dual.iso x86_64' {
set isofile='/boot/iso/archlinux-2015.07.01-dual.iso'
loopback loop $isofile
linux (loop)/arch/boot/x86_64/vmlinuz archisolabel=ARCH_201507 img_dev=$imgdevpath img_loop=$isofile earlymodules=loop
initrd (loop)/arch/boot/x86_64/archiso.img
}

menuentry "Xubuntu 15.04 desktop i386" {
set isofile='/boot/iso/xubuntu-15.04-desktop-i386.iso'
loopback loop $isofile
linux (loop)/casper/vmlinuz file=/cdrom/preseed/xubuntu.seed boot=casper iso-scan/filename=${isofile} quiet splash ---
initrd (loop)/casper/initrd.lz
}

menuentry "Xubuntu 15.04 desktop amd64" {
set isofile='/boot/iso/xubuntu-15.04-desktop-amd64.iso'
loopback loop $isofile
linux (loop)/casper/vmlinuz.efi file=/cdrom/preseed/xubuntu.seed boot=casper iso-scan/filename=${isofile} quiet splash ---
initrd (loop)/casper/initrd.lz
}

menuentry "Ubuntu 14.04.2 server i386" {
set isofile='/boot/iso/ubuntu-14.04.2-server-i386.iso'
loopback loop $isofile
linux    (loop)/install/vmlinuz file=/cdrom/preseed/ubuntu-server.seed iso-scan/filename=${isofile}
initrd    (loop)/install/initrd.gz
}

menuentry "Ubuntu 14.04.2 server amd64" {
set isofile='/boot/iso/ubuntu-14.04.2-server-amd64.iso'
loopback loop $isofile
linux    (loop)/install/vmlinuz file=/cdrom/preseed/ubuntu-server.seed iso-scan/filename=${isofile}
initrd    (loop)/install/initrd.gz
}

menuentry "Slax i486" {
set isofile="/boot/iso/slax-English-US-7.0.8-i486.iso"
  loopback loop $isofile
linux (loop)/slax/boot/vmlinuz toram from=$isofile
initrd (loop)/slax/boot/initrfs.img
}

menuentry "Slax x86_64" {
set isofile="/boot/iso/slax-English-US-7.0.8-x86_64.iso"
  loopback loop $isofile
linux (loop)/slax/boot/vmlinuz toram from=$isofile
initrd (loop)/slax/boot/initrfs.img
}

menuentry "Clonezilla live 2.3.2-22 i686" {
set isofile="/boot/iso/clonezilla-live-2.3.2-22-i686-pae.iso"
loopback loop $isofile
linux (loop)/live/vmlinuz boot=live live-config noswap nolocales edd=on nomodeset ocs_live_run=\"ocs-live-general\" ocs_live_extra_param=\"\" keyboard-layouts=\"\" ocs_live_batch=\"no\" locales=\"\" vga=788 ip=frommedia nosplash toram=filesystem.squashfs findiso=$isofile
initrd (loop)/live/initrd.img
}

menuentry "Memtest" {
linux16 /boot/memtest
}
Název: Re:Víc Linuxů na jeden flash disk
Přispěvatel: renergy 05. 07. 2015, 15:00:56
No, to jsem sice shrnul jak to udělat jedním způsobem, ale idea o které píše OP by vlastně měla být elegantnější (na /dev/sdX1 grub, obrazy na /dev/sdX2 /dev/sdX3 a bootovat přímo z nich)... Teoreticky by to mohlo jít přes chainloading.
Název: Re:Víc Linuxů na jeden flash disk
Přispěvatel: renergy 05. 07. 2015, 17:29:28
Po chvíli hledání jsem dospěl k závěru, že přímý chainload iso image, nahrané na zvláštní partition na flash např. pomocí dd ... of=/dev/sdX2, není možný. Končí hláškou "isolinux.bin missing or corrupt".

Jde o to, že iso image je připraven tak, aby fungoval při nahrání na disk pomocí dd ... of=/dev/sdX, nikoli s of=/dev/sdXn. Začátek iso image obsahuje mbr, po nahrání na /dev/sdX vzniknou v případě ubuntu dvě partition (jedna z nich pro EFI bootování). Při nahrání na /dev/sdXn je oproti tomu partition dostupná jen jediná, z pohledu systému iso9660. Zavaděč, který lze načíst grubem z prvních 512b /dev/sdXn nejspíš obsahuje odkaz na umístění isolinux.bin vzhledem k fyzickému počátku disku, nikoliv vzhledem k logickému začátku partition. Což je důvod zmíněné hlášky.

Zbývá tedy použít postup výše (načtení kernelu a initrd z iso image přimountované grubem). Postup to sice není univerzální, vyžaduje podporu ze strany distribuce a je pro každé distro mírně jiný, ovšem pro většinu dnešních distr. tak či onak zprovoznitelný je.
Název: Re:Víc Linuxů na jeden flash disk
Přispěvatel: ze by 05. 07. 2015, 23:11:51
ja bych zustal u toho mountovani grubem,to slo uz i kdysi.
ale co treba teda zkusit cast iso preskocit
dd ... skip=xxx
?
Název: Re:Víc Linuxů na jeden flash disk
Přispěvatel: technomaniak 06. 07. 2015, 07:07:44
Mám takový dotaz. To tu řešíte vytvoření live distribuci nebo prostě distribuci Linuxu, který bude fungovat bez odpojených pevných disků a pevný disk bude nahrazen oddílem na USBčku? Pokud to druhé nemáte někdo nějaký odkaz (např. na tutorial ) abych se na to podíval a příp. vyzkoušel?
Název: Re:Víc Linuxů na jeden flash disk
Přispěvatel: renergy 06. 07. 2015, 10:58:19
Ještě bych rád dodal k postupu uvedenému výše:

1) při instalaci  --target=x86_64-efi grubu není potřeba vůbec uvádět "/dev/sdX", tj. příkaz stačí tento (samozřejmě disk je nutné mít namountovaný na /mnt/foobar):

# grub-install --target=x86_64-efi --removable --root-directory=/mnt/foobar/

2) narazil jsem na poněkud "zradu" při použití gparted. Pokud vytvořím např. partition přes celý disk pomocí fdisku a nainstaluji grub postupem výše, tak uefi bootování chodí. Pokud ovšem tu partition pomocí gparted zmenším, tak UEFI boot chodit přestane, i když příslušný soubor v /efi/boot na disku stále je. Příčinu nevím, možná je to nějak způsobeno změnou PARTUUID, ke které dochází. Ani opětovné použití grub-install uefi bootování nezprovozní. Když se vytvoří partition menší hned na počátku pomocí fdisku, tak opět vše funguje. [na sdX1 mám teď GRUB s iso image, na sdX2 nainstalovaný arch]
Název: Re:Víc Linuxů na jeden flash disk
Přispěvatel: renergy 06. 07. 2015, 11:01:09
Mám takový dotaz. To tu řešíte vytvoření live distribuci nebo prostě distribuci Linuxu, který bude fungovat bez odpojených pevných disků a pevný disk bude nahrazen oddílem na USBčku? Pokud to druhé nemáte někdo nějaký odkaz (např. na tutorial ) abych se na to podíval a příp. vyzkoušel?

Zdravím, řeší se tu vpodstatě jak píšete live distribuce, resp. instalátory (což jsou dnes většinou live distribuce). Spouštění více různých instalátorů (distribucí) z jednoho flashdisku. Nainstalovat linux na flashdisk ovšem není větší problém, postup je prakticky indentický s klasickou instalací na pevný disk. Jen bych doporučil 1) v /etc/fstab se odkazovat na partition přes UUID (např. v arch linuxu použít genfstab -U -p /mnt). 2) nemít žádný swap 3) plus je potřeba počítat s více drivery, pokud člověk chce tu instalaci na flashdisku používat na více strojích.
Název: Re:Víc Linuxů na jeden flash disk
Přispěvatel: nobody 06. 07. 2015, 12:25:43
3)

4) pridat do /etc/fstab parametr noatime (http://wiki.ubuntu.cz/optimalizace_ext3#vypnutí_času_přístupu), aby se neukladat souborum neustale cas posledniho pristupu cteni (zpomalujici, flash vice znicujici)

5) nastavit planovac deadline, pridanim nasledujici radku do /etc/rc.local(pred radek exit 0):
echo deadline > /sys/block/sda/queue/scheduler
Název: Re:Víc Linuxů na jeden flash disk
Přispěvatel: renergy 07. 07. 2015, 19:44:28
Ještě zpět k původnímu tématu - jedno vylepšení:

GRUB umí sám číst UUID z partition a uložit ho do proměnné, tj. není potřeba UUID předem zjišťovat a upravovat podle něj grub.cfg -- pokud tedy iso image a grub jsou na jedné partition (což je tak či tak rozumný stav). Konkrétně pro arch linux vypadá fungující grub.cfg následovně:

Kód: [Vybrat]
probe -u $root --set=rootuuid
set imgdevpath="/dev/disk/by-uuid/$rootuuid"

menuentry '[loopback]archlinux-2015.07.01-dual.iso i686' {
set isofile='/boot/iso/archlinux-2015.07.01-dual.iso'
loopback loop $isofile
linux (loop)/arch/boot/i686/vmlinuz archisolabel=ARCH_201507 img_dev=$imgdevpath img_loop=$isofile earlymodules=loop
initrd (loop)/arch/boot/i686/archiso.img
}

menuentry '[loopback]archlinux-2015.07.01-dual.iso x86_64' {
set isofile='/boot/iso/archlinux-2015.07.01-dual.iso'
loopback loop $isofile
linux (loop)/arch/boot/x86_64/vmlinuz archisolabel=ARCH_201507 img_dev=$imgdevpath img_loop=$isofile earlymodules=loop
initrd (loop)/arch/boot/x86_64/archiso.img
}

Tohle funguje bez jakýchkoli úprav, stačí jen copy paste do [/mnt/foobar]/boot/grub/grub.cfg.

PS: Mimochodem - někdy od ledna 2014 v sobě instalační médium archu obsahuje clonezillu.
Název: Re:Víc Linuxů na jeden flash disk
Přispěvatel: technomaniak 07. 07. 2015, 20:03:13
Zdravím, řeší se tu vpodstatě jak píšete live distribuce, resp. instalátory (což jsou dnes většinou live distribuce). Spouštění více různých instalátorů (distribucí) z jednoho flashdisku. Nainstalovat linux na flashdisk ovšem není větší problém, postup je prakticky indentický s klasickou instalací na pevný disk. Jen bych doporučil 1) v /etc/fstab se odkazovat na partition přes UUID (např. v arch linuxu použít genfstab -U -p /mnt). 2) nemít žádný swap 3) plus je potřeba počítat s více drivery, pokud člověk chce tu instalaci na flashdisku používat na více strojích.

Dík, za vysvětlení. Už jsem to vyzkoušel a funguje to ( zatím bez těch vašich bodů ) - Ubuntu 14.04 na 16GB flasku a ta live distribude si dokonce pamatuje mé nastavení, tak zkusím do narvat JDK SE a EE,s WildFly a Tomcat a uvidíme. Takové testovací prostředí mi docela vyhovuje.
Název: Re:Víc Linuxů na jeden flash disk
Přispěvatel: test 14. 07. 2015, 13:00:11
asi bych na experimenty spis pouzil SSD a nativni instalaci, ale proc ne.

pro zajemce o fedoru ISO pres GRUB - funkcni, aktualni :

Kód: [Vybrat]
menuentry 'Fedora usb' {
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_gpt
        insmod part_msdos
        insmod ext2
        set root='(hd1,gpt9)'
        set CDL=Fedora-Live-WS-x86_64-22-3
        set ISO=Fedora-Live-Workstation-x86_64-22-3.iso
        set ISOPATH=/home/q/Downloads
        loopback loop (hd1,gpt9)$ISOPATH/$ISO
        set ROOTPARMS='rootfstype=auto ro rd.live.image  rd.luks=0 rd.md=0 rd.dm=0 rdblacklist=radeon rdinitdebug'
        linux (loop)/isolinux/vmlinuz0 root=live:CDLABEL=$CDL iso-scan/filename=$ISOPATH/$ISO $ROOTPARMS
        initrd (loop)/isolinux/initrd0.img
}

Název: Re:Víc Linuxů na jeden flash disk
Přispěvatel: jaro12 29. 01. 2016, 19:23:24
ok a ak chcem mat na usb disku ( 16GB ) particie 128MB fat32 + 12GB ext4 + 3.782GB ntfs , UUID vieme zistit ale ako by sa malo postupovat v tomto pripade dakujem .
Název: Re:Víc Linuxů na jeden flash disk
Přispěvatel: jaro12 30. 01. 2016, 00:16:32
tak moj postup bol nasledovny :

na 16GB usbkey :)

1: cez gparted som si vytvoril 3 oddiely : fat32 128MB - bootovaci ( na particii klikneme prave tlacitko na myske ,vyskoci menu spravovat priznaky ) ,
 EXT4 cca 12GB , ostatne pre istotu NTFS cca 3.98 GB

2: v mnt/ som vytvoril adresar > foobar t.j:.   # mkdir /mnt/foobar
3: potom som si pripojil usb kluc tj:. # mount /dev/sdX1 /mnt/foobar

4: instalacia GRUB prbehla takisto podla prikazov t.j:.

# grub-install /dev/sdX --target=x86_64-efi --removable --root-directory=/mnt/foobar/
# grub-install /dev/sdX --target=i386-pc --recheck --root-directory=/mnt/foobar/

5: zistil som UUID > lsblk -f /dev/sdX   , to som doplnil na riadok v grub.cfg

6: pomocou nano editoru som si vytvoril grub.cfg adresar na usbkey /boot/grub/

Kód: [Vybrat]
probe -u $root --set=rootuuid
set imgdevpath="/dev/disk/by-uuid/279bdb5e-6784-49ad-9441-8a88dbf38899"

menuentry '[loopback]archlinux-2016.01.01-dual.iso i686' {
        set root=(hd0,msdos2)
        set isofile='/iso/archlinux-2016.01.01-dual.iso'
        loopback loop $isofile
        linux (loop)/arch/boot/i686/vmlinuz archisolabel=ARCH_201601 img_dev=$imgdevpath img_loop=$isofile ea$
        initrd (loop)/arch/boot/i686/archiso.img
}
 
menuentry '[loopback]archlinux-2016.01.01-dual.iso x86_64' {
        set root=(hd0,msdos2)
        set isofile='/iso/archlinux-2016.01.01-dual.iso'
        loopback loop $isofile
        linux (loop)/arch/boot/x86_64/vmlinuz archisolabel=ARCH_201601 img_dev=$imgdevpath img_loop=$isofile $
        initrd (loop)/arch/boot/x86_64/archiso.img
}


7:  pripojil som si EXT4 particiu a v nej som vytvoril adresar   iso   do ktoreho som si nahral prislusne iso obrazy ...


8: pokus o nabootovanie :  v mojom pripade som si musel stlacit F8 a vybrat v nom prislusny usb kluc / usbkey :)


9: podakovanie za manual :

renergy

10: snad  moja uprava bude funkcna aj pre ostatnych :)

dufam ze to mam spravne

Název: Re:Víc Linuxů na jeden flash disk
Přispěvatel: jaro12 30. 01. 2016, 22:51:47
na renomovanom notebooku *cer r11 to nenabootovalo spravne respektivne vobec max cas 45min testu .. asi tak
v mojom pc to nabootovalo vporiadku ....
Název: Re:Víc Linuxů na jeden flash disk
Přispěvatel: jaro12 18. 01. 2018, 23:31:57
zdravim vas po dlhej dobe mate niekto nove riesenie pre tuto problematiku , respektivne novy postup , dakujem ak sa niekto najde ;)
Název: Re:Víc Linuxů na jeden flash disk
Přispěvatel: nobody(ten pravej) 19. 01. 2018, 00:58:56
zdravim vas po dlhej dobe mate niekto nove riesenie pre tuto problematiku , respektivne novy postup , dakujem ak sa niekto najde ;)

pouzivam normalni grub2 (pred lety sem ti tu psal grub4dos), na flash mam iso a pro kazde mam polozku v grubu, ruzne distribuce maji podporu "start z iso" resene ruzne, takze potreba dohledat, na uz pretim zde uvedenem linku: https://wiki.archlinux.org/index.php/Multiboot_USB_drive byl (aspon myslim ze si to nepletu, urcite to byla ArchWiki a jinde to tam ted nenachazim) jeste "nedavno" seznam vybranych distribuci a jake parametru se v grub polozce pro ne maji pouzit... ted je tam odkaz na 2 nejake/ruzne predpripravne reseni, ktere i kdyz bys nepouzil, lze tam vycist z hromady pripravenych grub configu parametry pro distra co chces :)
https://github.com/thias/glim
https://github.com/aguslr/multibootusb
Název: Re:Víc Linuxů na jeden flash disk
Přispěvatel: nobody(ten pravej) 19. 01. 2018, 01:06:32
na sve flash mam v grub.cfg napr.:
Kód: [Vybrat]
menuentry "xubuntu-16.04.3-desktop-i386" {
    set isofile="/boot/iso/xubuntu-16.04.3-desktop-i386.iso"
    loopback loop $isofile
    linux (loop)/casper/vmlinuz i8042.noloop=1 i8042.nomux=1 file=/cdrom/preseed/xubuntu.seed boot=casper quiet splash iso-scan/filename=$isofile locale=en_US.UTF-8
    initrd (loop)/casper/initrd.lz
}

menuentry "xubuntu-16.04.3-desktop-amd64" {
    set isofile="/boot/iso/xubuntu-16.04.3-desktop-amd64.iso"
    loopback loop $isofile
    linux (loop)/casper/vmlinuz.efi i8042.noloop=1 i8042.nomux=1 file=/cdrom/preseed/xubuntu.seed boot=casper quiet splash iso-scan/filename=$isofile locale=en_US.UTF-8
    initrd (loop)/casper/initrd.lz
}
Kód: [Vybrat]
menuentry "debian-live-9.3.0-amd64-xfce+nonfree.iso(live)" {
    set isofile="/boot/iso/debian-live-9.3.0-amd64-xfce+nonfree.iso"
    loopback loop $isofile
    linux (loop)/live/vmlinuz-4.9.0-4-amd64 live-media-timeout=3 fromiso=$device/$isofile boot=live config components quiet splash
    initrd (loop)/live/initrd.img-4.9.0-4-amd64.
}
 
menuentry "GPartedLive 0.29" {
    set isofile="/boot/iso/gparted-live-0.29.0-1-i686.iso"
    loopback loop $isofile
    linux (loop)/live/vmlinuz i8042.noloop=1 i8042.nomux=1 live-media-timeout=3 fromiso=$device/$isofile boot=live union=overlay username=user config components quiet keyboard-layouts=en locales="en_EN.UTF-8" noswap noeject toram=filesystem.squashfs ip= nosplash gl_batch net.ifnames=0
    initrd (loop)/live/initrd.img
}
pokud to neni zrejme, tak iso soubory jsou na flash v /boot/iso/ , kernel ani init neni potreba vykopirovat, bere se primo z iso, u GParted mam volbu toram ktera system pres aktivaci kopiruje do ram (lze pak usb vyndat a bezi dale), to ale musi podporovat dane distro/iso...
Název: Re:Víc Linuxů na jeden flash disk
Přispěvatel: jaro12 19. 01. 2018, 08:18:49
ok dnes ked budem mat cas sa nato znovu vrhnem , zatial dakujem  :)
Název: Re:Víc Linuxů na jeden flash disk
Přispěvatel: James Cole's 19. 01. 2018, 09:19:42
Problém není v grubu, ale v přímo v instalačním systému dané distribuce, resp, jak předat cestu k rozbalenému FS:
root=live:CDLABEL=$CDL iso-scan/filename=$ISO
fromiso=$device/$isofile

Jenže tady už žádné ISO není ... Jak tedy předat instalátoru správnou cestu k instalačnímu adresáři?Taky by mě to po 2 letech zajimalo