Установка NetBSD на Jornada 680-690

rmx аватар

Установка NetBSD на Jornada 680-690

Автор: Karol "MaRCHeW" Marchewka.
Перевод: RMX.

Вступление

Это HOWTO предназначено для того, что бы помочь Вам установить операционную систему NetBSD на Jornada 680. Установка NetBSD на это устройство проходит не стандартно. Инсталятор для этого порта (hpcsh) отсутствует и все требуется cделать вручную. Хотя благодаря этому, Вы можете научиться некоторым вещам.

Требования

Устройства, которые Вам потребуются, чтобы инсталировать полнофункциональную систему NetBSD это:

  • Jornada 680 (Jornada 690 - это Jornada 680 c 32MB Ram. В стандартную же комплектацию 680-тки входит только 16MB. Поэтому рекомендую приобрести Jornada 690.
  • CF карта (Compact Flash) - лучше всего приобрести карту емкостью 1GB или более. 512MB должно хватить , но дальнейшее использование системы может быть затруднено из-за ограниченого объема карты.
  • Сетевая карта PCMCIA - лучше всего, если она будет соответствовать стандарту NE2000, либо поддерживаться NetBSD. ВНИМАНИЕ!!! Сетевая карта должна быть 16 битной!!! 32 битные карты Jornada не поддерживает.
  • Кабель RS232 для подключения Jornada c ОС Windows.
  • Компьютер под управлением ОС Windows.

Описаная мною установка ОС NetBSD осуществлялась на следущем устройстве:

  • Jornada 690 (французская модель)
  • CF карта KINGSTON 1024-S MB (SLC) HIGH SPEED
  • Сетевая карта WLAN PCMCIA Enterasys Model CSIBD-AA-128bit

Инсталяция

Первое действие, которое мы должны выполнить, это подключить WinCE Jornada-ы к Windows. Для этой цели служит программа Microsoft ActiveSync, которую можно взять здесь. После установки Microsoft ActiveSync, нам нужны файлы для установки самой NetBSD. В описанном примере инсталируем версию NetBSD-current. Эта версия стабильна настолько, что мы можем ее инсталировать на Jornada, а вместе с тем, содержит последние функциональные возможности системы. Если у Вас нет желания инсталировать версию current, то конечно, Вы можете инсталировать версию 3.0 либо 2.1. Скачиваем необходимые нам файлы с ftp сервера (в момент написания этого HOWTO последней версией current была версия 3.99.8 доступная на сервере
ftp://ftp.netbsd.org/pub/NetBSD-daily/HEAD/200509090000Z/hpcsh/installation/

где:200509090000Z -версия NetBSD-current скомпилированная в данным числом.

Также нам нужны следущие три файла:

  • hpcboot-sh3.exe
  • netbsd.gz
  • miniroot.fs.gz

После того, как мы скачали необходимые файлы , распакуем файл miniroot.fs.gz в ближайшем каталоге. Перед началом копирования файлов на CF карту измените в WinCE в "Панеле Управления" скорость пересылки данных с 19200 на 115Kb. Это существенно ускорит копирование файлов. Далее подключим кабель RS232 к Jornada и PC. С помощью Microsoft ActiveSync скопируем файлы на CF карту.

Подготовительный этап уже позади. Настало время начать установку NetBSD !!!. Запустим программу hpcboot-sh3.exe. Эта программа поделена на три закладки. В первой выбираем место откуда будет загружено ядро и miniroot.fs.

screenshot 1

В другой закладке выберем пункт "Load Deubug Info", что бы иметь возможность видеть процесс загрузки системы в память.

screenshot 2

Третья закладка показывает , что происходит во время загрузки системы.

screenshot 3

Кликните по "Boot". Должна начаться загрузка системы в память.

Далее создадим разделы диска (или CF карты) и disklabel. В случае с Jornada не будем создавать раздел для NetBSD. Единственный раздел который требуется это раздел MSDOS, с которого будем стартовать NetBSD.

Выполним следущую команду:

# fdisk -u wd0

На вопрос:

Do you want to change our idea of what BIOS thinks? [n]

Ответим n и приступим к разбиению диска.

Конфигурируем раздел 0:

Which partition do you want to change?: [none] 0

Присвоим разделу идентификатор 4:

sysid: 4

Начало раздела должно начинаться с 63 цилиндра.

start: 63

Определяем величину раздела MSDOS равную 15MB:

size: 30657

Во время следущего вопроса:

Which partition do you want to change?: [none]

Нажмем Enter и запишем результат конфигурации:

Should we write new partition table? y

Мы уже создали раздел MSDOS. Настало время для disklabel. Запустим программу disklabel:

# disklabel -i wd0

Проверим какие disklabel-ы уже имеем по дефолту.

partition> P

d обозвачает целый диск, а с это disklabel предназначенный для NetBSD. Удалим все disklabel-ы , чтобы смочь создать новые:

partition> d
Filesystem type: unused
Start offset: 0
Partition size: 0 

Поступите так со всеми disklabe-амиl.

Когда мы уже удалили все disklabel-ы мы должны создать их снова. Начнем с disklabel-а d (целого диска):

partition> d
Filesystem type: unused
Start offset: 0M
Partition size: $ 

Сейчас создаем disklabel e (MSDOS). Disklabel e должен иметь тот же самый размер что и ранее созданый раздел MSDOS:

partition> e
Filesystem type: MSDOS
Start offset: 63s
Partition size: 30657s 

Самое время заняться disklabel-ом c. Этот disklabel определяет размер диска отведенного для NetBSD:

partition> c
Filesystem type: unused
Start offset: 30720s
Partition size: $ 

Последний созданный нами disklabel будет a. Это disklabel, на котором мы заинсталируем NetBSD.

partition> a
Filesystem type: 4.2BSD
Start offset: 30720s
Partition size: $

После того как мы создали все необходимые disklabel -ы, записываем их и выходим из программы:

partition> W
partition> Q 

Следующим нашим шагом будет создание файловой системы для disklabel a:

# newfs wd0a 

Монтируем устройство wd0a в каталог /mnt:

# mount -o softdep /dev/wd0a /mnt 

Далее конфигурируем доступ к интернету через локальную сеть. В этом пункте не буду описывать, как это сделать. Вы можешь узнать это "The NetBSD Guide" либо из других источников. Когда мы уже имеем доступ в интернет, перейдем в каталог /mnt и скачаем с ftp сервера бинарные пакеты. Пакеты сможем найти в каталоге ../hpcsh/binary/sets а также ../hpcsh/binary/kernel. Версия ядра для Jornada 680/690 - netbsd-GENERIC.gz.

Пакеты NetBSD находятся уже на диске. Распакуем их:

# tar xvzfp base.tgz 

И так далее по порядку все остальные файлы .tgz.

После распаковки всех файлов .tgz меняем root каталог на /mnt:

# cd /
# chroot /mnt 

И создаем все необходимые устройства:

# cd /dev
# sh MAKEDEV all 

Cоздадим файловую систему MSDOS на disklabel e и смонтируем её:

# newfs_msdos /dev/wd0e
# mount -o -l /dev/wd0e /mnt 

Далее скопируем с сревера ftp файл hpcboot-sh3.exe и переместим его в каталог /mnt:

# mv hpcboot-sh3.exe /mnt/hpcboot.exe 

также поступаем с ядром, которое для начала необходимо распаковать:

# gzip -d netbsd-GENERIC.gz
# cp netbsd-GENERIC /mnt/netbsd 

Некоторые программы ожидают от нас, что ядро будет также находиться в корневой директории / . Для этого скопируем его туда:

# cp netbsd-GENERIC /netbsd 

Почти все действия по установке NetBSD уже позади. Настало время для конфигурирования системы:

Отредактируем файл /etc/rc.conf и допишим в него следущие строчки:

rc_configured=YES
no_swap=YES
savecore=NO
hostname="jornada"
rtclocaltime=YES 

Далее установим часовую зону:

# ln /usr/share/zoneinfo/Europe/Warsaw /etc/localtime 

Следующим нашим шагом будет добавление в файл /etc/fstab следующих строк:

/dev/wd0a / ffs rw,softdep,nocoredump,noatime,nodevmtime 1 1
/dev/wd0e /mnt msdos rw 0 0 

Теперь осталось только добавить консоли. Допишем в файл /etc/ttys следущие строчки:

ttyE0 "/usr/libexec/getty std.9600" vt100 on secure
ttyE1 "/usr/libexec/getty std.9600" vt100 on secure
ttyE2 "/usr/libexec/getty std.9600" vt100 on secure
ttyE3 "/usr/libexec/getty std.9600" vt100 on secure 

Вот и все. Отмонтируйте устройства и перегрузите систему:

# umount /mnt
# exit
# umount /mnt
# reboot 

После рестарта системы и загрузки WinCE переходим на CF карту и запускаем hpcboot.exe и так, как показывает следующий скриншот, загружаем NetBSD выбирая в качестве "root file system" опцию "wd". В случае, если будут какие нибудь проблемы при загрузке системы, можно попробовать загрузиться с опцией рамдиска "md" но для этого необходим файл miniroot.fs. В другой закладке выберем пункт "Load Deubug Info", что бы иметь возможность видеть процесс загрузки системы в память.

screenshot 4

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".
BSDobermann аватар

Ой вот чуток

Ой вот чуток пораньше бы эту документацию бы мне.. (скажем в апреле 2006-ого) :-D
А так я и сам разобрался (с 6-7 раза) - запор был в разбивке..

Но всё равно спасибо за перевод.

EvAn аватар

RMX, спасибо,

RMX, спасибо, молодец!

spinore аватар

Вы бы уж, RMX,

Вы бы уж, RMX, пояснили, что же такое Jordana - это на телефоне, субноуте, тостере и т.д.(?)

qnub аватар

ну, думаеца, те

ну, думаеца, те у кого на девайсе (помойму это субноутбук типа записной книжки с qwerty клавой) написано джордана и едавное есть желание вонзить туда нетку - сразу поймут че к чему. :) если мне не изменяет память это какой-то жутко древий девайс, хотя я могу его перепутать с чем-то другим

rmx аватар

Jornada 680-690 Handled PC

Jornada 680-690 Handled PC (КПК) c процом от hitachi.
Имеет qwerty клаву, pcmcia слот, разршение 600 с чем то на 200 с чем то. Вышел в 2000 году. Думаю над написанием серий статей о том на что можно поставить NetBSD. Что бы народ был в курсе на чем ОС может запускаться и нормально фунциклировать. Так что отсутствие подробной инфы о железке в этом howto не критично. Она появится. только попозжей.

qnub аватар

ждем серию

ждем серию статей - несомненно полезная инфа.

zeron аватар

т.е. получается,

т.е. получается, что NetBSD тут не выступает как самостоятельная ось, а просто загружается из-под WM?

EvAn аватар

Смотрите на

Смотрите на вещи проще: сами же говорите, что "загружается из-под WM", т.е. WinCE выступает в роли загрузчика NetBSD. К сожалению большинство производителей КПК не предусмотрели возможность перепрошивки их моделей самими пользователями. Исключение - некоторые модели HP.

rmx аватар

WM? Iz pod Win CE. A 4to

WM?
Iz pod Win CE. A 4to ostaetsia delat NetBSD esli Win zashita w PZU?

rigdzin аватар

>>screenshot 3 >>Кликните по

>>screenshot 3

>>Кликните по "Boot". Должна начаться загрузка системы в память.

А вот отсюда не понятно. Откуда должна начаться загрузка системы? Я так понимаю, что Джорнада должна начать грузить Нетку, но откуда? Можно по подробней? Пожалуйста:))