Установка NetBSD на Compact Flash

Калегин Сергей Николаевич
(июнь 2011 года)

В этой статье я хочу рассказать о том, как сделать загрузочный (спасательный) диск из обычной flash-карты, которые у многих лежат без дела и люди не знают куда их приспособить. Ниже будет представлен один из вариантов использовать эти носители как реаниматоры.
Итак. На сегодняшний день flash-накопители стали одним из самых популярных типов носителей информации, их выпускают в различных форматах и для разнообразных интерфейсов. Самыми популярными являются USB-накопители, так называемые "USB-флэшки" (или просто "флэшки"), и flash-карты для различных мультимедийных устройств, например, фотоаппаратов, видеокамер, медияплееров и т.п. Причём по скорости работы и техническим характеристикам они уже приближаются к медленным жёстким дискам, а значит флэшки вполне можно использовать в качестве основных и дополнительных накопителей информации в современных компьютерах. И многие энтузиасты (и не только) давно экспериментируют в этом направлении. Например, на базе флэшек собирают RAID-массивы, делают из них запасные или альтернативные "HDD" или даже используют их в качестве основных (системных) дисков в специальных компьютерах (в сетевых хранилищах данных и т.д.). Описания таких сборок и разработок можно найти на просторах Интернета, а здесь речь пойдёт немного о другом.
Учитывая всё выше сказанное, я решил сделать себе загрузочный диск из старой карты Compact Flash (CF) Silicon Power 200x 4GB (хотя можно брать и другие типы и модели flash-карт), так как у неё уже имеется поддержка UDMA (как у HDD) и достаточная скорость работы для нормального функционирования операционной системы. Но если даже такой карты под рукой нет, стоят CF-карточки сейчас недорого и приобрести их может любой желающий в любом городе. Плюс ко всему, CF-карты поддерживаются многими мобильными компьютерами, читаются практически в любом картридере и для карточек этого типа существует множество различных переходников типа "CF to IDE", "CF to SATA", "CF to PCMCIA" и т.д. Таким образом, данный "загрузочный диск" может быть универсальным реаниматором или же альтернативным загрузочным устройством для большинства современных персональных компьютеров, да к тому же очень надёжным и портативным.
Для создания своей загрузочной CF-карты я использовал самые простые и доступные средства:

1) Сама старенькая Compact Flash Silicon Power 200x 4GB (хотя лучше выбрать карту побыстрее);
2) Самый простой и дешёвый картридер с возможностью чтения таких карточек (во многих компьютерах он есть изначально);
3) Операционную систему (ОС) NetBSD 5.0 (хотя это непринципиально).
4) Программу управления виртуальными машинами VMWare 7.1 (но можно взять и другое подобное ПО). Хотя, вместо инсталляции VMWare можно просто взять установочный диск операционной системы, однако это потребует наличия CD/DVD привода (а он есть не везде) и дополнительных затрат.

Как видите, ничего дорого и сложного не требуется, так как оборудование довольно популярное и остоит копейки, ОС NetBSD распространяется свободно и абсолютно бесплатно, а VMWare можно скачать с официального сайта и использовать в триальном (тестовом) режиме некоторое время. Более того, NetBSD считается самой универсальной ОС в мире и может работать с различными компьютерными платформами и архитектурами, что является большим плюсом для диска-реаниматора. А программа VMWare разрабатывается для различных операционных систем и может быть запущена как под управление ОС Windows, так и Linux (и других Unix-систем). Кроме того, NetBSD, так же как OpenBSD, FreeBSD и т.п., очень быстро ставится (чуть больше минуты), что для экспериментов имеет большое значение, а дистрибутивный диск (образ) этой системы весит всего несколько сотен мегабайт и легко скачивается с любого FTP-сервера.
Теперь приступаем к самому интересному - установке и настройке всего этого добра. Ну на подключении картридера и самой flash-карты я останавливаться не буду, так как это, обычно, проблем не вызывает, а вот установку и настройку виртуальной машины стоит рассмотреть более обстоятельно, так как далеко не у всех есть опыт работы с подобным ПО.
Для начала, нужно скачать из Интернета (или найти где-то на дисках) дистрибутив VMWare и установить данную программку в свою систему. Далее, заходим в меню "файл" и создаём новую виртуальную машину (виртуальный компьютер) для установки NetBSD. При этом запускается мастер установки (создания) новой машины, который задаёт простые вопросы о том какую ОС мы будем ставить, в какой каталог и т.п. Здесь самое главное для нас - это выбор носителя (диска), на который будет устанавливаться система. VMWare позволяет либо создать новый виртуальный диск (обычный файл-образ диска) либо использовать уже существующий виртуальный диск (например от старой или другой виртуальной машины), или же, можно использовать реальный (физический) диск или раздел (то что нам нужно). Мы выбираем именно последний вариант и указываем нашу CF-карту (как правило последний диск в списке). Хотя разработчики это делать не рекомендуют ввиду опасности повреждения логической структуры диска, но для нас это не имеет значения, так как наш диск будет стёрт целиком и переразмечен. Остальные вопросы мастера можно игнорировать (просто жать "далее"), ведь работать с этой виртуальной машиной мы не собираемся, она нужна только для установки ОС. После завершения установки мы получаем новый виртуальный компьютер со своим набором "железа", своим BIOS-ом и т.д. А самое главное то, что в качестве основного (системного) диска у него установлена наша CF-карта. При желании, большинство настроек и состав виртуального оборудования можно поменять в свойствах виртуальной машины.
Теперь, когда у нас есть виртуальный компьютер, к которому подключена flash-карта, нам нужно скачать дистрибутив операционной системы NetBSD. Для этого можно зайти на официальный сайт http://netbsd.org/ или же найти его на других серверах (например, можно сделать поиск по серверам FTP). Для простоты я скачал загрузочный ISO-образ для своей платформы (IBM PC i386), который сразу же можно подключить к нашей виртуальной машине в качестве виртуального диска (ну или записать на CD). Для подключения его к виртуальному CD-ROM-у достаточно открыть свойства этого устройства и указать, что мы будем использовать ISO image (образ) NetBSD_5.0.iso (название файла образа может быть любым).
Всё, переходим к завершающему этапу - установке самой ОС. Для удобства, всё описание процесса установки я разбил на пункты, соответствующие экранам, выводимым на монитор компьютера.

1) Запускаем виртуальную машину и грузимся с нашего установочного образа. На первом экране появляется меню с предложением выбрать тип установки или выйти в командную строку. Мы выбираем первый пункт (Install Netbsd) и жмём клавишу Enter.
2) Далее запускается программа-установщик sysinst и предлагает выбрать язык надписей для последующей установки, а также даёт комментарии по работе с менюшками. Здесь обратите внимание на то, что перемещаться по меню можно с помощью нажатия букв, которые указаны возле каждого пункта, сочетаний клавиш Cntrl+N и CNTRL+P для перехода на следующий или предыдущий пункт соответственно. Кроме того, будут работать и обычные курсорные клавиши (стрелочки) на клавиатуре, если они есть. Итак, я выбрал первый пункт, чтобы все надписи при установке шли на английском языке.
3) Далее предлагается выбор раскладки клавиатуры, я оставил по умолчанию (unchanged).
4) На этом подготовка к работе sysinst закончена и выдаётся главное меню программы, где можно начать установку, сделать обновление системы, вызвать какие-то утилиты и т.д. Мы выбираем установку (первый пункт) и жмём Enter.
5) На следующем экране даётся пояснение о том, какие шаги нужно выполнить для установки ОС NetBSD и спрашивается будем ли мы продолжать. Выбираем Yes и идём дальше.
6) Затем sysinst показывает какие накопители были обнаружены и предлагает использовать один из них. В моём случае накопитель всего один, так что выбор небольшой. Кстати, обратите внимание на название диска. В операционных системах BSD свои обозначения и зависят они от интерфейса подключения накопителя и от самой ОС. В NetBSD диски могут обозначаться как wd0, rwd0, sd0, rsd0 и т.п. Здесь цифра указывает на номер диска в системе (начиная с нуля), а за ней может следовать буква, обозначающая логический диск (партицию с файловой системой) или раздел на данном носителе информации, например: wd0a - первый логический диск (или раздел) на первом носителе, wd0b - второй логический диск и т.д.. В моём случае, диск был опознан как sd0. Нажимаем Enter для установки ОС на этот диск.
7) Теперь нам нужно выбрать тип установки дистрибутивных пакетов ПО. Всего три варианта: Full, Minimal и Custom installation (полная, минимальная и выборочная установка соответственно). Мы выбираем последний пункт для выборочной установки и переходим на следующий экран.
8) Тут мы должны указать нужные нам дистрибутивные пакеты. Выбор осуществляется с помощью нажатия клавиши Enter на соответствующем пункте. Я отметил почти все, кроме игр (Games), текстовых редакторов (процессоров) и графической среды (X11), которые на спасательном диске ни к чему. Теперь переходим на последний пункт и нажимаем Enter, подтверждая установку выбранных пакетов.
9) Далее, инсталлятор показывает геометрию системного диска, как он её видит, и просит подтвердить или ввести её вручную. В данном случае я согласился с представленной геометрией.
10) Теперь sysinst даёт пояснения по разметке диска и объёму разделов для установки NetBSD. Если выбрать пункт "Use the entire disk", то вся информация с него будет стёрта и он будет переразмечен. При желании, можно выбрать первый пункт меню и отредактировать таблицу разделов, оставив на диске уже существующие слайсы (разделы) и создав новый для нашей операционной системы. Однако, в данном случае, у нас такой необходимости нет, поэтому выбираем второй пункт меню для использования всего диска под NetBSD. Нажимаем Enter для продолжения.
11) Далее нам предлагают переписать главную загрузочную запись (MBR) нашей flash-карты и установить в неё загрузочный код для старта NetBSD. Соглашаемся и идём дальше.
12) Теперь инсталлятор нам поясняет, что нужно сделать логические диски (партиции) в созданном разделе NetBSD и точки монтирования для доступа к ним. Делается это с помощью программы disklabel editor. Кроме того, здесь показана доступная ёмкость нашего диска (CF-карты) и минимальные объёмы, которые требуются для установки ОС NetBSD. В моём случае, доступный объём диска составляет аж 3831 мегабайт, а для базовой установки NetBSD достаточно всего 288 мегабайт без графической системы X Window (графического интерфейса) и 338 мегабайт с установкой графики. Так что у меня места более чем достаточно. Тут же задаётся вопрос, хотим ли мы сами установить размеры логических дисков с привязкой к точкам монтирования или же будем использовать уже существующую разметку. Выбираем первый пункт для редактирования логической структуры раздела и нажимаем Enter.
13) Далее нам даётся список основных точек монтирования с указанием размеров в мегабайтах, а в нижней строке показано сколько осталось свободного места. Для изменения размера любой партиции достаточно перейти на неё курсором и нажать клавишу Enter, затем ввести нужный размер и опять нажать Enter. Если оставить для партиции размер 0 мегабайт (как у меня для /home), то она создана не будет (то есть просто появится соответствующая папка в корневой файловой системе и всё). После окончания всех манипуляций выбираем последний пункт (Accept partition sizes) и жмём Enter.
14) На следующем экране просто ещё раз проверяем созданную таблицу (разметку) и подтверждаем её верность выбором последнего пункта (Partition sizes ok). Здесь же показано какие файловые системы будут созданы на соответствующих партициях (логических дисках). В данном случае это FFS первой версии.
15) Далее запрашивается метка диска. Это может быть любое сочетание букв и цифр.
16) Всё, сбор информации закончен. Все нужные сведения установщик получил и теперь готов начать разметку (разбивку) нашего диска (sd0). Но, на всякий случай, нам даётся последний шанс отменить установку (если мы вдруг вспомнили, что, например, на этой карточке у нас осталась нужная информация). И запрашивается подтверждение начала переразметки диска и установки ОС. Если всё в порядке, выбираем "Yes" и жмём Enter.
17) Далее просто показывается какие логические диски созданы (Обратите внимание на их обозначения!) и с какими параметрами они форматируются.
18) После окончания разметки и форматирования мы должны указать место расположения загрузочного блока (bootblock). Здесь есть возможность использовать удалённое (сетевое) администрирование, однако нам это не требуется. По умолчанию будет использован стандартный бутблок BIOS. Соглашаемся с первым пунктом и выбираем Exit для продолжения установки.
19) Теперь sysinst сообщает нам, что первая часть установки (то есть разметка диска и запись в MBR) закончена и можно приступать к установке дистрибутивных пакетов (filesets). Для удобства наблюдения за этим процессом нам предлагается выбрать строку индикации (progress bar) или же наоборот, отключить её (Silent) для экономии ресурсов системы, а также выводить название каждого файла отдельно. Я выбрал первый вариант.
20) Далее нужно указать с какого источника мы будем копировать эти дистрибутивные пакеты. В нашем случае это CD-ROM.
21) На следующем экране мы видим как инсталлятор определил виртуальный CD-ROM и из какой папки он собирается брать дистрибутивные пакеты. Если название устройства или путь к каталогу пакетов неверен, можно его подкорректировать простым нажатием клавиши Enter на соответствующем пункте. Но в моём случае это не требуется, так как CD-привод у меня один, а образ установочного диска был скачан с официального сайта ftp.netbsd.org. Кстати, тут следует обратить внимание на обозначение оптического диска в системе NetBSD (cd0a), это потом пригодится при монтировании. Для начала установки пакетов выбираем пункт "Continue" и нажимаем Enter.
22) Далее на экран выводится информация по установке дистрибутивных пакетов.
23) По завершению установки появляется победная надпись о том, что теперь ОС NetBSD может грузиться с нашего диска (то есть с нашей CF-карты). Осталось только сделать первоначальную настройку операционной системы. Нажимаем Enter и начинаем настраивать.
24) В первую очередь устанавливаем временную зону для нашей системы. Например для московского времени нужно выбрать Europe/Moscow (Европа/Москва).
25) Затем выбираем алгоритм шифрования паролей. Так как у нас обычный диск-реаниматор, то никаких особых требований к безопасности хранения паролей здесь не предъявлятся. А значит можно выбрать любой пункт меню или оставить по умолчанию.
26) Теперь нам предлагается установить пароль для администратора (пользователя root) операционной системы. Выбираем "Yes" и переходим к следующему экрану.
27) Далее устанавливаем этот пароль и вводим его подтверждение. Обратите внимание, что всё вводится "в слепую", то есть на экране при этом никакие символы не отображаются.
28) После установки пароля root-а выбираем командный интерпретатор (shell) для этого пользователя. По умолчанию предлагается /bin/sh.
29) Всё, можем собой гордиться. Теперь установка и первоначальная настройка ОС NetBSD полностью завершена. Для получения дополнительной информации нам рекомендуют почитать файл INSTALL и man по afterboot(8) (вызывается командой: man 8 afterboot). А для дополнительной конфигурации системы и запуска различных служб (демонов, в терминологии UNIX) можно воспользоваться файлами /etc/rc.conf (файл дополнительных настроек) и /etc/defaults/rc.conf (файл настроек по умолчанию). Нажимаем Enter и получаем поздравление по поводу успешной установки операционной системы NetBSD.
30) В конце-концов мы опять возвращаемся к главному меню программы sysinst, но уже без коментариев. Если её предполагается запускать в дальнейшем при работе с реаниматором, то можно выбрать последний пункт для завершения работы sysinst (при этом запустится командный интерпретатор) и скопировать её на наш диск (находится она прямо в корне виртуального CD). А для проверки работоспособности свежеустановленной ОС выбираем пункт "Reboot the computer" и перезагружаем виртуальную машину. При этом, для верности, лучше отключить виртуальный CD-ROM или "извлечь" из него установочный iso-образ. Сделать это можно в строке состояния (внизу) справа щелчком по иконке оптического привода или же через вернее меню виртуальной машины.

После перезагрузки виртуального компьютера NetBSD должна стартовать уже с нашей загрузочной Compact Flash. Если загрузка ОС прошла нормально, значит у нас всё получилось и теперь мы можем попробовать загрузить с неё реальный (физический) компьютер. Для этого нужно выключить виртуальную машину и закрыть программу VMWare, а затем перегагрузиться. В процессе перезагрузки компьютера нужно вызвать загрузочное меню (popup menu или boot menu), в котором выбирается загрузочный диск, и найти там свою flash-карту. Обычно это делается в первые секунды загрузки машины при выводе второго отчётного экрана POST (где показаны тип CPU, объём оперативной памяти, модели носителей и т.д.) или же графической заставки от производителя материнской платы. Чаще всего эта менюшка вызывается нажатием одной из функциональных клавиш (F1, F2, F8, F9, F11) или же клавишей Esc, хотя могут быть и другие варианты. Если загрузочное меню вызвать не удалось, то нужно просто зайти в настройки CMOS Setup (BIOS) и поменять последовательность загрузки (точнее опроса носителей при загрузке). Первым устройством должна стать CF-карта (в разных программах BIOS-а она может обозначаться по-разному).
Ну вот и все хитрости, которые необходимо знать при создании загрузочной флэшки-реаниматора. Разумеется это только начало большого дела. Дальше потребуется поставить и протестировать нужное ПО, адаптировать систему для загрузки на разных компьютерах и т.д., но эти вопросы выходят за рамки данной статьи. При желании, по такому же принципу можно делать и другие загрузочные устройства и на базе других операционных систем, главное с чего-то начать.

Аватар пользователя entr0py

Не знаю за NetBSD,

Не знаю за NetBSD, но загрузочную флеху с OpenBSD можно проще сделать:
1) В QEMU создать образ: qemu-img create openbsd.img 2000M
2) На него поставить OpenBSD, при установке выбрать "использовать весь диск" и разметить его под один раздел /.
3) Загрузиться с этого образа в QEMU, в /etc/fstab заменить wd0a на sd0a
4) записать полученный образ (openbsd.img) на флешку с помощью dd, например.
5) PROFIT! ;)
Нужный софт можно поставить хоть в QEMU (тогда там еще сеть настраивать придется), хоть с уже готовой флешки.

Аватар пользователя test00

Кто мешает

Кто мешает ставить OpenBSD сразу на флэшку? И qemu будет не нужна.

Аватар пользователя tiffanyjewelry

One of the most important

One of the most important abercrombie and fitch buying tips when it comes to gemstones, is to beware of imitations in plastic and glass.Traditionally most people look to ray ban sunglasses like mall outlets or specialized stores so as to meet their need.Whilst this is a choice which allows for individual interaction and the opportunity to try on various, it might not provide you with your best sunglasses discount in design and price.tiffany jewelry outlet are nothing but pendants that you can attach to any form of jewelry you like.One of the possibilities of tiffany jewelry that individuals ought to take is with the benefit of utilizing to protect their eyes from the damaging UV rays and improve the health of their eyes.But some ladies like it to be dangling from their cheap designer handbags.Well that is entirely a personal matter of choice, but first let us have a look at the abercrombie & fitch outlet available under the charm's category.For instance, a replica designer handbags is worn by someone who plays or likes to play violin.When it comes to wholesale tiffany jewelry, since natural pearls are rare, most pearls used in jewelry are either cultured or imitation pearls.Similarly a abercrombie and fitch sale is worn by someone who dreams of winning the same.Buying replica watches wholesale can often be confusing.Some of them are made of cheap tiffany jewelry and others of gold.So, replica handbags are more than just an accessory to enhance your style.These sunglasses discount are mostly worn to express your thoughts and personality.When considering what these options are, it is best to compare your oakley sunglasses that are available with this advantage of health.Among the most important swiss replica watches buying tips are - always buy only from a reputed store and read thoroughly through the warranty policy.If not, then you can get designer replica handbags engraved in the shape of your initials.A ray ban sunglasses's value is based on its size, and the quality of it's nacre coating, which imparts the sheen.Browse through our buying cheap replica watches tips to get an insight into buying the right one.Diet and exercise are often a hot topic of abercrombie sale in the fitness market as individuals try to maintain a healthy image and improve their daily lives.The synthetically manufactured oakley sunglasses are less expensive than naturally mined stones.When it comes to improving or maintaining an individual's health, there are various replica watches that can be followed to accomplish this objective.