На вский случай хочу предупредить, если нет опыта работы с командной строкой в юниксах, то лучше не пытаться делать описаное ниже, т. к. ошибочными действиями можно получить незагружаемый ресивер. Восстановить после этого обычно можно, но прийдётся потратить время и нервы.1. Необходимо разбить на разделы USB накопитель. Делать можно это чем угодно и как угодно с учётом следующих требований:
- Таблица разделов должна быть MBR. GTP не поддерживается.
- Разделы, с которых предполагается загружаться, могут быть в любой части диска. Это может быть как primary, так и логический на extended разделе. Номера разделов primary начинаются с 1. На extended нумерация начинается с 5.
- Количество разделов может быть любым.
- Загрузочные разделы должны иметь тип Linux - 83 (hex).
- Размер разделов должен быть достаточным для размещения всего имиджа плюс ядро (uImage). Но нужно учитывать, что на файловой системе ext2 те же файлы будут занимать больше места, чем на jffs2. Если выделить 128 Мб, то может всё не поместиться. Поэтому рекомендую создавать разделы 256 Мб или больше.
- На накопителе может быть любое количество других разделов любого типа: swap, fat, ntfs и т. п.
Самый простой вариант - разбить прямо в ресивере. Для этого нужно подключить накопитель, подключиться telnet'ом и запустить
fdisk /dev/sda. Подсказка там выводится командой
m.
2. Форматирование раздела тоже можно выполнить в ресивере командой
mkfs.ext2 /dev/sdaN или
mkfs.ext2 -L 'Метка раздела' /dev/sdaN, где
N - номер раздела. Если форматирование выполняется на компьютере с Linux'ом, то вместо sda может быть sdb, sdc и т. д., в зависимости от того, сколько в компьютере накопителей. После разбивки можно отформатировать только тот раздел, на который планируется сразу установить систему. Остальные разделы можно форматировать по мере необходимости.
3. Далее на отформатированный раздел нужно скопировать систему. Есть много способов это сделать. Вот некоторые из них:
- Самое простое - распаковать tar'ом имидж, специально подготовленный для мультизагрузки.
- Создать имидж для мультизагрузки из обчного имиджа. Это можно сделать скриптом
jffs2-2-targz.sh из j00ztalator'а. Или заглянуть в тот скрипт и сделать аналогично руками.
- Скопировать рабочую и уже настроенную систему с NAND. При копировании с загруженной системы следует исключить все примонтированные виртуальные системы: /dev, /proc, /sys, /tmp и т. д. полный список можно увидеть командой
df -a. Потом обязательно нужно скопировать uImage с установочного имиджа в каталог /boot.
4. Установить на текущую систему плагин DuckBA из
пакета или из архива, который есть в комплекте j00ztalator'а 1.3. Плагин от старых версий использовать
не рекомендую из-за серёзных ошибок. Чтобы заработал плагин нужно перезагрузить GUI.
5. Желательно (но не обязательно) пометить подготовленный для загрузки раздел одним из двух способов:
- Присвоить разделу метку. Её можно указать при форматировании через
mkfs.ext2 ключём
-L или поменять в любое время командой
tune2fs -L 'Метка раздела' /dev/sdaN. Она должна заканчиваться на
.DBA (заглавными буквами).
- Установить название раздела через переменную загрузчика. Это делается командой
/DuckBA/bin/fw_setenv DuckBA_bootname_sdaN 'Имя раздела'. Посмотреть текущее значение переменной:
/DuckBA/bin/fw_printenv DuckBA_bootname_sdaN. Удалить переменную:
/DuckBA/bin/fw_setenv DuckBA_bootname_sdaN.
При использовании второго способа можно использовать более длинные имена и при этом метка раздела может не закантиваться на
.DBA.
6. Оригинальный плагин появится в главном меню. Переделанный мной и упакованный в ipk будет доступен через меню плагинов (в разных системах может вызываться разными кнопками). Там будет список доступных для загрузки разделов. Разделы, для которых есть переменная
DuckBA_bootname_sdaN или у которых есть метка, заканчивающаяся на
.DBA, будут показаны как
Reboot ... sdaN. Остальные отформатированные ext2 и ext3 разделы будут показаны как
Try reboot to .... Это обычно не подготовленные для загрузки разделы и лучше не пытаться с них загрузиться.
При переключении загрузки на другой раздел плагин проверяет наличие себя на том разделе и если не обнаруживат, то копирует сам себя. Лично мне это не нравится, т. к. делается это в обход пакетного менеждера.
7. Остальные разделы добавляются аналогично по мере необходимости.
PS. Написано много, но на самом всё просто
Добавлено 19 февраля | 2014г. | 19:46:35В двух словах, если не трудно, как именно правильно создавать загрузочные разделы,
В двух словах не получится. В трёх словах описал в предыдущем сообщении.
и можно ли их сделать больше десяти.
Да, можно.