Автор Тема: Добавление дистрибутива Рунту на флэшку с уже установленным ГРУБ  (Прочитано 19842 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн kompilainenn

  • Местный
  • *****
  • Автор темы
  • Сообщений: 1063
  • Активно пропагандирую Runtu
Исходные данные:
Имеется флешка с уже установленным ГРУБ. Хочется добавить на флэшку файлы с дистрибутивного диска, прописать в menu.lst соответствующие строки и иметь на флэшке дистрибутив рунту не юзая unetbootin.

Делал так:
1) Копировал на флэшку каталоги /casper и /packages
2) Прописал в menu.lst следующее:

title Runtu LXDE 10.04 Final
find --set-root /grldr
kernel /casper/vmlinuz noapic locale=ru_RU.UTF-8 quiet splash
initrd /casper/initrd.gz

Итог: При загрузке с флэшки происходит выход в busybox после появления сплеш-заставки(

Прошу совета.
Мы говорим Linux, подразумеваем Runtu

Оффлайн HsH

  • Administrator
  • *****
  • Сообщений: 3466
При загрузке с флэшки происходит выход в busybox после появления сплеш-заставки.

    Проблема в том, что загрузчик не может смонтировать корневую файловую систему.

  Grub2 может выполнять загрузку непосредственно iso-образов - может вам стоит воспользоваться именно таким методом (пример)?

Оффлайн kompilainenn

  • Местный
  • *****
  • Автор темы
  • Сообщений: 1063
  • Активно пропагандирую Runtu
Проблема в том, что загрузчик не может смонтировать корневую файловую систему.

а как же обходит эту проблему unetbootin? Или syslinux умеет работать с squashFS? Неужели нельзя никак обойти эту проблему?
PS: мне не хотелось бы юзать ГРУБ2, уж очень он по дибильному устроен
PPS: puppy linux кстати нормально грузится с флэшки
« Последнее редактирование: Сентябрь 14, 2010, 11:49:52 от remderbauer »
Мы говорим Linux, подразумеваем Runtu

Оффлайн HsH

  • Administrator
  • *****
  • Сообщений: 3466
а как же обходит эту проблему unetbootin? Или syslinux умеет работать с squashFS?
      Нет, SquashFS монтируется скриптами из initrd. В syslinux существует опция boot=casper для указания каталога, в котором находятся файлы образа.

Оффлайн kompilainenn

  • Местный
  • *****
  • Автор темы
  • Сообщений: 1063
  • Активно пропагандирую Runtu
т.е. варианта два:
1) ГРУБ2
2) Syslinux
?
Мы говорим Linux, подразумеваем Runtu

Оффлайн HsH

  • Administrator
  • *****
  • Сообщений: 3466
т.е. варианта два:

   К наиболее распространённым относят также GRUB4DOS и BCDW.

Оффлайн kompilainenn

  • Местный
  • *****
  • Автор темы
  • Сообщений: 1063
  • Активно пропагандирую Runtu
grub4dos и был на флэшке ранее. В их вики есть варианты загрузки с образа, но оба они не прошли, груб выдал error 60 в обоих случаях(
поставил ГРУБ2 на флэшку...синтаксис grub.cfg ужасен, как результат паппирус запустилась с флэшки нормально, а рунту с образа опять не хочет...циклическая ошибка какая-то(, щас ребутнусь и гляну/запишу ее
(initrd) Unable to find a medium containing a live file system - вот она
запись в grub.cfg вот такая:

menuentry "Runtu LXDE 10.04" {
    loopback loop /cdimage/runtu-lxde-10.04-i386-final.iso
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/cdimage/runtu-lxde-10.04-i386-final.iso noeject noprompt quiet splash locale=ru_RU.UTF-8
    initrd (loop)/casper/initrd.gz
   }

зы: а что bcdw умеет ставится на флэшку? он же boot CD wizard т.е. для создания загрузочных компакт/двд дисков
« Последнее редактирование: Сентябрь 14, 2010, 22:22:18 от remderbauer »
Мы говорим Linux, подразумеваем Runtu

Оффлайн kompilainenn

  • Местный
  • *****
  • Автор темы
  • Сообщений: 1063
  • Активно пропагандирую Runtu
так, пишу из-под убунту 10.04.1 запущенной из образа, аналогично попытке с рунту >_<
образ лежит на флэшке в каталоге /cdimage
запись в grub.cfg вот такая:

menuentry "Ubuntu 10.04.1" {
    loopback loop /cdimage/ubuntu-10.04.1-i386.iso
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/cdimage/ubuntu-10.04.1-i386.iso noeject noprompt quiet splash locale=ru_RU.UTF-8
    initrd (loop)/casper/initrd.lz
   }
обратите внимание на название файла initrd.lz (именно .lz расширение в образе оригинальной убунту)

ну так вот, убунту 10.04.1 грузится из образа с флэшки вполне себе нормально, а в Рунту какие-то траблы, связанные ИМХО с самой сборкой((
2HsH: никак нельзя поправить ситуацию или хотя бы проанализировать от чего так?
Мы говорим Linux, подразумеваем Runtu

Оффлайн HsH

  • Administrator
  • *****
  • Сообщений: 3466
grub4dos и был на флэшке ранее. В их вики есть варианты загрузки с образа, но оба они не прошли, груб выдал error 60 в обоих случаях(
    Помню, что данный вопрос был ранее решён на форуме
пользователем Jarod - к сожалению, решение кануло в лету.

зы: а что bcdw умеет ставится на флэшку? он же boot CD wizard т.е. для создания загрузочных компакт/двд дисков
   Да, с помощью BCDW можно создать только загрузочные CD.

обратите внимание на название файла initrd.lz (именно .lz расширение в образе оригинальной убунту)
   Это новый формат сжатия, применяемый в поздних версиях Ubuntu (lzma).

никак нельзя поправить ситуацию или хотя бы проанализировать от чего так?
   Постараюсь поискать решение.

Оффлайн Onyma

  • Новичок
  • **
  • Сообщений: 11
Доброго времени! В прошлом на этом форуме уже публиковалось решение загрузки с usb-flash iso образа с LiveCD: использовался груб4дос, вот фрагмент его конфига у меня:
# This is a sample menu.lst file. You should make some changes to it.

# The old install method of booting via the stage-files has been removed.

# Please install GRLDR boot strap code to MBR with the bootlace.com

# utility under DOS/Win9x or Linux.



color blue/green yellow/red white/magenta white/magenta

timeout 30

default /default



title find and load NTLDR of Windows NT/2K/XP

fallback 1

find --set-root --ignore-floppies /ntldr

chainloader /ntldr

savedefault --wait=2



title find and load BOOTMGR of Windows VISTA

fallback 2

find --set-root --ignore-floppies /bootmgr

chainloader /bootmgr

savedefault --wait=2



title find and boot Ubuntu-9.04-i386-20091001.iso

fallback 4

find --set-root /Linux/Ubuntu-9.04-i386-20091001.iso

map /Linux/Ubuntu-9.04-i386-20091001.iso (0xff) || map --mem /Linux/Ubuntu-9.04-i386-20091001.iso (0xff)

map --hook

root (0xff)

kernel /casper/vmlinuz boot=casper iso-scan/filename=/Linux/Ubuntu-9.04-i386-20091001.iso quiet splash locale=ru_RU.UTF-8 --

initrd /casper/initrd.gz

boot

#chainloader (0xff)

#savedefault --wait=2



title find and boot ubuntu-10.04-alternate-i386.iso

fallback 4

find --set-root /Linux/ubuntu-10.04-alternate-i386.iso

map /Linux/Ubuntu-9.04-i386-20091001.iso (0xff)

#|| map --mem /Linux/ubuntu-10.04-alternate-i386.iso (0xff)

map --hook

root (0xff)

kernel /casper/vmlinuz boot=casper iso-scan/filename=/Linux/ubuntu-10.04-alternate-i386.iso quiet splash locale=ru_RU.UTF-8 --

initrd /casper/initrd.gz

boot

#chainloader (0xff)

#savedefault --wait=2



title find and boot runtu-3-dvd.iso

fallback 5

find --set-root /Linux/runtu-3-dvd.iso

map /Linux/runtu-3-dvd.iso (0xff) || map --mem /Linux/runtu-3-dvd.iso (0xff)

map --hook

root (0xff)

kernel /casper/vmlinuz boot=casper iso-scan/filename=/Linux/runtu-3-dvd.iso quiet splash locale=ru_RU.UTF-8 --

initrd /casper/initrd.gz

boot

#chainloader (0xff)

#savedefault --wait=2


title find and boot LinuxMint-9-Rosinka-S32b-20100614.iso

fallback 2

find --set-root /Linux/LM9RosinkaStdrt/LinuxMint-9-Rosinka-S32b-20100614.iso

map /Linux/LM9RosinkaStdrt/LinuxMint-9-Rosinka-S32b-20100614.iso (0xff) || map --mem /Linux/LM9RosinkaStdrt/LinuxMint-9-Rosinka-S32b-20100614.iso (0xff)

map --hook

root (0xff)

kernel /casper/vmlinuz boot=casper iso-scan/filename=/Linux/LM9RosinkaStdrt/LinuxMint-9-Rosinka-S32b-20100614.iso quiet splash locale=ru_RU.UTF-8 --

initrd /casper/initrd.lz quiet splash -- locale=ru_RU

boot

#chainloader (0xff)

#savedefault --wait=2

замечу, что если у вас достаточно оперативной памяти чтоб там поместился весь образ и при этом осталось для работы системы можно использовать параметр --mem. Если же нет то необходимо дефрагментировать файл образа и использовать просто вот такой вариант:
...
map /Linux/runtu-3-dvd.iso (0xff)
...
Именно так у меня грузится Рунту-3-двд...
Обратите внимание на ещё вот на этот фрагмент:
...
...iso-scan/filename=/Linux/ubuntu....
...
Здесь происходит перемонтирование iso-образа, так как при запуске ядра линукс убивает предыдущее монтирование образа... Извините что коряво.
С уважением  :)!

Оффлайн kompilainenn

  • Местный
  • *****
  • Автор темы
  • Сообщений: 1063
  • Активно пропагандирую Runtu
>замечу, что если у вас достаточно оперативной памяти чтоб там поместился весь образ и при этом
>осталось для работы системы можно использовать параметр --mem. Если же нет то необходимо
>дефрагментировать файл образа и использовать просто вот такой вариант:
>map /Linux/runtu-3-dvd.iso (0xff)

1) как дефрагментировать образ iso? в моей попытке с груб4дос в одном из вариантов груб ругался именно на фрагментированность образа
2) у меня есть большое подозрение, что lxde сборка все равно не заработает(
3) я уже установил груб2 на флэшку, если кто-то может попробовать вариант с груб4дос и конфигом из предыдущего сообщения, хотелось бы услышать про результат

зы: за конфиг спасибо, приму к сведению
Мы говорим Linux, подразумеваем Runtu

Оффлайн Onyma

  • Новичок
  • **
  • Сообщений: 11
К сожалению утилит для дефрагментации под Linux я удобных не нашёл. Сам пользуюсь виндовой WinContig или её консольным аналогом contig. Эти утилиты под wine не идут, в винде же они требуют наличия на разделе непрерывного свободного блока достаточной для размещения файла длинны.  :)

Что касается "кто пробовал?": я сам так делаю уже с наверное июля или августа этого года, и всё работает на ять. Хочу обратить ваше внимание на то, что если размер образа довольно велик и используется опция --mem, то груб4дос довольно долго грузит этот образ в память, - возникает ощущение что система зависла, но это не так: надо просто терпеливо подождать  ;D .

С уважением.
« Последнее редактирование: Октябрь 08, 2010, 01:08:22 от Onyma »

Оффлайн l_l_lblTHuK

  • Постоялец
  • ***
  • Сообщений: 144
Смог загрузить iso с ubuntu 10.10. Флешка с grub4dos. Пункт меню выглядит так:
title Ubuntu 10.10 i386 LiveCD
map /img/ubuntu-10.10-desktop-i386.iso (hd32)
map --hook
root (hd32)
kernel /casper/vmlinuz iso-scan/filename=/img/ubuntu-10.10-desktop-i386.iso boot=casper -- locale=ru_RU  
initrd /casper/initrd.lz
boot
Рунту пока ещё не пробовал...

upd:
Попробовал загрузить Рунту таким макаром:
title Runtu 10.04 LXDE i386 LiveCD
map /img/runtu-lxde-10.04-i386-final.iso (0xff) || map --mem /img/runtu-lxde-10.04-i386-final.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz iso-scan/filename=/img/runtu-lxde-10.04-i386-final.iso boot=casper -- locale=ru_RU.UTF-8
initrd /casper/initrd.gz
boot
Вроде, начинает грузиться, но потом ругается что, мол, в /dev/sr0 no medium и не может подключить разделы...
« Последнее редактирование: Октябрь 16, 2010, 14:13:23 от l_l_lblTHuK »

Оффлайн HsH

  • Administrator
  • *****
  • Сообщений: 3466
Попробовал загрузить Рунту таким макаром:

title Runtu 10.04 LXDE i386 LiveCD
map /img/runtu-lxde-10.04-i386-final.iso (0xff) || map --mem /img/runtu-lxde-10.04-i386-final.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz iso-scan/filename=/img/runtu-lxde-10.04-i386-final.iso boot=casper -- locale=ru_RU.UTF-8
initrd /casper/initrd.gz
boot

   А если так?
title Runtu 10.04 LXDE i386 LiveCD
map /img/runtu-lxde-10.04-i386-final.iso (hd32)
map --hook
root (hd32)
kernel /casper/vmlinuz iso-scan/filename=/img/runtu-lxde-10.04-i386-final.iso boot=casper -- locale=ru_RU.UTF-8
initrd /casper/initrd.gz
boot

Оффлайн kompilainenn

  • Местный
  • *****
  • Автор темы
  • Сообщений: 1063
  • Активно пропагандирую Runtu
Цитировать (выделенное)
title Runtu 10.04 LXDE i386 LiveCD
map /img/runtu-lxde-10.04-i386-final.iso (hd32)
map --hook
root (hd32)
kernel /casper/vmlinuz iso-scan/filename=/img/runtu-lxde-10.04-i386-final.iso boot=casper -- locale=ru_RU.UTF-8
initrd /casper/initrd.gz
boot


я так пробовал, ругается на то, что образ фрагментирован
Мы говорим Linux, подразумеваем Runtu