Есть ли возможность двойной загрузки с SD-карты?

41

Скажем, я хотел, чтобы на моей SD-карте были Debian Squeeze и Arch Linux ARM. Будет ли возможность двойной загрузки из Grub?

Jivings
источник
2
В дополнение к ответу ниже см .: berryterminal.com/doku.php/berryboot
Джордж Дакетт,
Кстати, @Jivings, только что нашел это , вы можете проверить это.
ACarter

Ответы:

27

Хотя на SD-карту можно установить несколько операционных систем, в данный момент нет менеджера загрузки, который работает на Pi и может обрабатывать переключение операционных систем во время выполнения.

Что вы можете сделать, так это иметь скрипт оболочки, в /bootкотором указывается, какую операционную систему вы хотите использовать при следующей загрузке.

Это можно сделать, сохранив загрузочные файлы для разных операционных систем в другом каталоге, например.

  • /boot/debian
  • /boot/fedora
  • /boot/arch

Примечание. Необходимые файлы, которые необходимо скопировать, - это /boot/cmdline.txtи /boot/config.txt.

Затем сделайте, чтобы ваш сценарий оболочки скопировал файлы из соответствующего каталога в /boot. Таким образом, при перезагрузке он загружается в нужную операционную систему.

Ссылки


источник
Спасибо за ваш ответ, но я думаю, что мне придется проверить его, прежде чем принять! Кажется, немного взломать.
Jivings
2
@Jivings Это взломать. = P
Вы знаете, почему Пи не может использовать Grub?
Jivings
@Jivings Понятия не имею.
1
Я полагаю, главная причина в том, что никто не портировал GRUB. Основная причина этого, вероятно, в том, что такой загрузчик не нужен.
XTL
17

Berryboot - это, по сути, загрузчик, разработанный специально для Raspberry Pi, который сделает это за вас:

Berryboot - это простой экран выбора загрузки, позволяющий разместить несколько дистрибутивов Linux на одной SD-карте. Кроме того, он позволяет помещать файлы операционной системы на внешний жесткий диск USB, а не на саму SD-карту.

user4349
источник
Не могли бы вы немного объяснить, что делает BerryBoot?
хифканотикс
Но я читал в другом месте, что Berryboot не является загрузчиком так же, как Grub, и что все виртуализировано каким-то образом, или что Berryboot запускает все в среде chroot. Это правда?
Пол Бердселл
Насколько я знаю, Berryboot использует одно и то же ядро ​​(ядро Berryboot) для всех дистрибутивов, которые оно обрабатывает. Так что это не настоящий менеджер загрузки, а оболочка chroot.
Бартош Пьерцхлевич
2

Используя u-boot(который используется berry-boot за кулисами), можно переключаться между любыми установленными дистрибутивами для загрузки во время выполнения, используя что-то вроде askenv для переключения между ОС на одном SD или, возможно, на сервере NFS или с PXEиспользованием другого установка на PXEзагрузочном сервере, хотя это не самая простая вещь для запуска. Я постараюсь подготовить учебник.

Максимум
источник
@Jivings, вы использовали это решение?
Хотелось
-7

Я думаю, это будет работать. Вам нужно только правильно установить GRUB со всеми "настройками" ...

Марзель
источник
1
Какая версия GRUB будет работать даже на Pi? И какими будут эти «настройки»? Этот ответ звучит так, будто вы только что что-то придумали, не зная, что на самом деле делает аппаратное обеспечение Pi для загрузки.
Калеб
1
Grub был расширен для запуска на U-boot на ARM благодаря linaro. Оригинальные патчи были сделаны в
Макс.