Страница 1 из 1

NetBSD на флэшке

Добавлено: 29 апр 2010, 13:37
Raven
Эта статья описывает процесс установки NetBSD на flash карту. Я взял много информации касающейся разбиения на разделы отсюда.
Я нашел ее очень полезной!

Оборудование которое я использовал

Компьютер на котором запускается NetBSD (если возможно - то стабильная версия, я использовал 4.0) 1Gb USB флэшку

Создание flash карты с NetBSD
Очистка карты памяти

Для начала необходимо удалить все существующие на flash карте разделы.

Код: Выделить всё

# disklabel -i -I sd0
Все существующие на данный момент разделы могут быть отображены в терминале командой:

Код: Выделить всё

partition>P (RETURN)
Каждый раздел может затем быть удален как следущий (раздел a удален в этом примере):

Код: Выделить всё

partition>a (RETURN)
Filesystem type [?] [MSDOS]:unused (RETURN)
Start offset ('x' to start after partition 'x') [0c, 0s, 0M]:0 (RETURN)
Partition size ('$' for all remaining) [973.999c, 997375s, 487M]:0 (RETURN) 
Когда с удалением каждого раздела покончено выполняйте следущий шаг:

Код: Выделить всё

partition>W (RETURN)
Label disk [n]:y (RETURN)
partition>Q (RETURN)
Запись загрузочного кода в Master Boot Record (MBR):

Код: Выделить всё

# fdisk -i /dev/rsd0d
Update the bootcode from /usr/mdec/mbr? [n]y (RETURN)
Should we write new partition table? [n]y (RETURN) 
Создание слайса для NetBSD:

Код: Выделить всё

# fdisk -u /dev/rsd0d
Do you want to change our idea of what BIOS thinks? [n]n (RETURN) 
Удаление существующих слайсов.
Для каждого слайса делаем следущее:

Код: Выделить всё

Which partition do you want to change?: [none]0 (RETURN)
The data for partition 0 is:
Primary DOS with 32 bit FAT (sysid 11)
start 8, size 997367 (487 MB, Cyls 0-973/127/8)
sysid: [0..255 default: 11]0 (RETURN) 
Создаем необходимые BSD слайсы:

Код: Выделить всё

Which partition do you want to change?: [none]0 (RETURN)
sysid: [0..255 default: 11]169 (RETURN)
start: [0..125cyl default: 63, 0cyl, 0MB](RETURN)
size: [0..125cyl default: 2015169, 125cyl, 984MB](RETURN)
bootmenu: [](RETURN)
Bootselector disabled.
Which partition do you want to change?: [none](RETURN)
We haven't written the MBR back to disk yet. This is your last chance.
Partition table:
0: NetBSD (sysid 169)
[..]
Bootselector disabled.
Should we write new partition table? [n]y (RETURN) 
Выбираем активный NetBSD слайс (слайс номер 0)

Код: Выделить всё

# fdisk -a /dev/rsd0d

Do you want to change the active partition? [n]y (RETURN)
Choosing 4 will make no partition active.
active partition: [0..4 default: 4]0 (RETURN)
Are you happy with this choice? [n]y (RETURN)
Should we write new partition table? [n]y (RETURN) 
Создадим метку диска с NetBSD разделом "a"

Код: Выделить всё

# disklabel -i -I sd0
partition>a (RETURN)
Filesystem type [?] [unused]:4.2BSD (RETURN)
Start offset ('x' to start after partition 'x') [0.0078125c, 8s, 0.00390625M]:(RETURN)
Partition size ('$' for all remaining) [973.991c, 997367s, 486.996M]:$ (RETURN)
partition>W (RETURN)
Label disk [n]?y (RETURN)
Утилита disklabel подскажет вам, что это последняя возможность оставить MBR "в покое":

Код: Выделить всё

We haven't written the MBR back to disk yet. This is your last chance.
Should we write new partition table? [n]y (RETURN)
Покончим с этим:

Код: Выделить всё

partition>Q (RETURN) 
Создадим новую файловую систему в разделе sd0a

Код: Выделить всё

# newfs /dev/rsd0a 
Сделаем корневой раздел загрузочным

Код: Выделить всё

# mount /dev/sd0a /mnt
# cp /usr/mdec/boot /mnt
# installboot -v -o timeout=5 /dev/rsd0a /usr/mdec/bootxx_ffsv1 
Сборка ядра

Ядру NetBSD будет нужно знать, где ему найти корневое устройство (sd0). Вам необходимо создать новый config-файл. Закоментируйте в нем следущую строчку:

Код: Выделить всё

config netbsd root on ? type ? 
И расскоментируйте следущую:

Код: Выделить всё

config netbsd root on sd0a type ffs
Заметка: Вам нужно собрать легковесное ядро (Если вы не обладатель доисторического компьютера, то вас это не касается - Прим. пер.).

Далее, вы собираете новое ядро, сжимаете его архиватором и копируете на карту памяти. Полезной информацией касающейся сборки ядра будет эта глава руководства пользователя NetBSD

Установочные наборы

Теперь вам надо разахирвировать установочные наборы. Загрузите их с FTP сервера проекта, скопируйте с ISO образа или соберите их, используя скрипт /usr/src/build.sh
Минимальные наборы которые нам необходимы это base.tgz и etc.tgz

Код: Выделить всё

# tar xfzp base.tgz -C /mnt
# tar xfzp etc.tgz -C /mnt 
Конфигурация

Отредактируйте /etc/fstab и добавьте строчку о sd0a:

Код: Выделить всё

/dev/sd0a / ffs rw 1 1
Отредактируйте /etc/rc.conf и измеите rc_configured с 'NO' на 'YES'

Загрузка с карты памяти

На BIOS-е моего компа я могу выбрать "USB HARD DISK" в настройках очередности загрузки или нажать F9 во время загрузки для отображения меню доступных устройств.

Оригинал http://wiki.netbsd.se/index.php/How_to_ ... mory_Stick
Перевод RMX