Используем LinuxBIOS на системах VIA EPIA-M::Журнал СА 8.2005
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Событие  

В банке рассола ждет сисадмина с полей фрактал-кукумбер

Читайте впечатления о слете ДСА 2024, рассказанные волонтером и участником слета

 Читать далее...

Организация бесперебойной работы  

Бесперебойная работа ИТ-инфраструктуры в режиме 24/7 Как обеспечить ее в нынешних условиях?

Год назад ИТ-компания «Крок» провела исследование «Ключевые тренды сервисного рынка 2023». Результаты

 Читать далее...

Книжная полка  

Читайте и познавайте мир технологий!

Издательство «БХВ» продолжает радовать выпуском интересных и полезных, к тому же прекрасно

 Читать далее...

СУБД PostgreSQL  

СУБД Postgres Pro

Сертификация по новым требованиям ФСТЭК и роль администратора без доступа к данным

 Читать далее...

Критическая инфраструктура  

КИИ для оператора связи. Готовы ли компании к повышению уровня кибербезопасности?

Похоже, что провайдеры и операторы связи начали забывать о требованиях законодательства

 Читать далее...

Архитектура ПО  

Архитектурные метрики. Качество архитектуры и способность системы к эволюционированию

Обычно соответствие программного продукта требованиям мы проверяем через скоуп вполне себе понятных

 Читать далее...

Как хорошо вы это знаете  

Что вам известно о разработках компании ARinteg?

Компания ARinteg (ООО «АРинтег») – системный интегратор на российском рынке ИБ –

 Читать далее...

Графические редакторы  

Рисование абстрактных гор в стиле Paper Cut

Векторный графический редактор Inkscape – яркий представитель той прослойки open source, с

 Читать далее...

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

 Читать далее...

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

 Читать далее...

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

 Читать далее...

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

 Читать далее...

Книжная полка  

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

 Читать далее...

Разбор полетов  

Ошибок опыт трудный

Как часто мы легко повторяем, что не надо бояться совершать ошибки, мол,

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 6143
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 6856
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 4139
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 2978
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3781
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3789
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6283
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3134
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3434
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7246
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10616
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12336
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 13969
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9100
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7053
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5362
Комментарии: 3
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4594
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3402
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 3129
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 3379
Комментарии: 0
Рецензия на книгу «MongoDB в действии»

 Читать далее...

02.12.2013г.
Просмотров: 3000
Комментарии: 0
Не думай о минутах свысока

 Читать далее...

Друзья сайта  

 Используем LinuxBIOS на системах VIA EPIA-M

Архив номеров / 2005 / Выпуск №8 (33) / Используем LinuxBIOS на системах VIA EPIA-M

Рубрика: Администрирование /  Оборудование

АНТОН БОРИСОВ

Используем LinuxBIOS на системах VIA EPIA-M

Почти каждый из вас в детстве играл в конструктор – собирал железную дорогу или машинки. По мере взросления у сильной половины человечества игрушки не исчезают, а только становятся более дорогими. В прошлом номере мы познакомились с историей развития LinuxBIOS-проекта. Сегодня мы вдохнем жизнь в barebone-систему на базе EPIA-M и LinuxBIOS.

Приготовления в аппаратной

Что для этого потребуется? Аппаратная часть, которая представлена материнской платой VIA EPIA-M 10000, корпусом Morex Cubid 3677S, устройством сохранения FlashROM – RD1-PL производства IOSS. В качестве носителя информации используем обычный жесткий диск формата 3,5’, плотностью в 160 Гб (кто-то скажет: «А почему не 500 Гб?» – что ж, у меня не оказалось под рукой жесткого диска такого объема).

Обратимся на этом этапе к техническим характеристикам сегодняшних компонентов. Материнская плата – в какой-то степени шедевр на сегодняшний день. Некоторое время назад компания VIA предложила форм-фактор для материнских плат mini-ITX – это миниатюризированный вариант материнских плат, всего-то 17x17 см. На таком пространстве уместился процессор C3/Nehemiah – разработка компании VIA, созданный на фундаменте достижений компаний, приобретенных не так давно самой VIA – это Cyrix и WinChip. Тем, кто заинтересовался историей развития этих процессоров, следует ознакомиться с материалами [1-3]. Как и на «взрослых» платах, у этого малыша есть северный и южный мосты, что означает, что есть PCI-слот, правда, всего лишь один, 2 IDE-канала, FireWire-контроллер (кому-то повезет, если приобретет к такой системе FireWire-переносное устройство информации), 6 портов USB. То есть вы начинаете понимать, какой универсальный конструктор мы сегодня рассматриваем, не правда ли?

Помимо «взрослости» данной платы на ней также есть ставшие уже обычным явлением интегрированные аудио- и сетевой-контроллеры. Так как стандарт mini-ITX ориентируется на миниатюрность, то разработчикам пришлось также интегрировать и видео-контроллер. Стоит подчеркнуть наличие выхода S-Video и возможности построить звук в формате 5+1. Да, самое главное – процессор на этой модели имеет тактовую частоту в 1 ГГц. Не так чтобы и много, но, с другой стороны, и немало. Для процессора с такой частотой уже используются активные системы охлаждения, в то время как на более младших моделях в 800 МГц ограничились пассивным охлаждением, и поверьте, вполне хватает.

Данного малыша, или правильнее сказать малышку, следует пристроить в хорошие руки, с хорошим питанием и экологией – все правильно, надо подобрать правильную «одежду» – корпус. Поэтому для малыша я выбрал «подростковый» корпус с внешним источником питания Morex Cubid 3677S. Его габариты предусматривают использование только slim-компонентов – CD/DVD-привода, HDD-накопителя и FDD-накопителя. К сожалению, от первого и последнего компонента пришлось отказаться, зато вместо них удалось поставить HDD 3,5’. Поначалу казалось, что уместить диск такого форм-фактора в столь тонком корпусе невозможно. Но на практике оказалось иначе. Внешний источник питания в 62 ватта мощностью подает на внутреннюю плату корпуса 12 вольт, которые преобразуются в дальнейшем в +12, +5 вольт. Стоит отметить, что получить 12 вольт можно и от бортовой системы автомобиля. Впрочем, область применения мини-систем формата mini-ITX заслуживает отдельного разговора. Скажу, что именно на базе EPIA построены некоторые автомобильные системы.

Сбереги себя сам

Чтобы не получилось ситуации «Знал бы – соломинку подложил», придется приобрести или одолжить на некоторое время у знакомых технических специалистов специальное устройство сохранения FlashROM. Под устройством сохранения FlashROM подразумевается BIOS Savior – это некий симбиоз из 2 микросхем flash-памяти – одна из которых, оригинальная, находящаяся в PLCC-слоте, – микросхема, поставляющаяся в составе материнской платы. В ней находится PC BIOS – в нашем случае это AwardBIOS. Вторая микросхема – резервная, на которую записываются модификации PC BIOS. Таким образом, у нас получается вариант устройства с 2 чипами памяти, с помощью переключателя производится выбор, откуда делать «холодный» старт системы – или с оригинальной микросхемы с AwardBIOS, или с резервной, на которую мы будем записывать LinuxBIOS (альтернативу AwardBIOS). Устройство действительно необходимое, поэтому к его приобретению стоит отнестись с вниманием. При удачном запуске системы вы записываете в оригинальную микросхему LinuxBIOS и в дальшейшем можете прилепить на системный блок лейбл – «Designed for LinuxBIOS».

Тонкости охлаждения

И последним аппаратным блоком сегодняшнего нашего конструктора идет жесткий диск. Я руководствовался при его выборе в первую очередь скоростью вращения шпинделя – главной характеристикой в конечном итоге был уровень шума. Жесткие диски со скоростью 5400 об/минуту, по всей видимости, становятся достоянием истории, поэтому вместо SAMSUNG SV1604N пришлось взять SAMSUNG SP1604N (скорость вращения шпинделя – 7200 об/минуту). Впрочем, разница в пару децибелов шума между этими винчестерами не особенно влияет на общий фон. Стоит приглядеться, как смонтирован жесткий диск на плате. Его пришлось повернуть с ног на голову в буквальном смысле и положить на радиаторы охлаждения северного моста (рис. 1). Отмечу, при закрытом корпусе кажется, что плата жесткого диска соприкасается с крышкой, на самом деле это не так, зазор все равно остается. Благодаря зазору, а также вентиляторам на процессоре и вентилятору на самом корпусе перегрева не происходит (рис. 2). Обращу ваше внимание, что вентиляторы идут с датчиками вращения скорости. Однако на корпусном вентиляторе скорость в пределах 3000 об/минуту, что характеризует его как бесшумный, а вот вентилятор на процессоре пришлось заменить – идущий в составе материнской платы экземпляр обладает «бешеной» скоростью в 6 тыс. оборотов. Поэтому вентилятор был заменен на аналогичный корпусному. В итоге температура процессора в работе в рабочем режиме стала выше на 7-8 градусов, впрочем, не превысив допустимой нормы в 65 градусов Цельсия.

Рисунок 1. Жесткий диск лежит на радиаторах охлаждения

Рисунок 1. Жесткий диск лежит на радиаторах охлаждения

Рисунок 2. Расположение элементов охлаждения EPIA-M и дополнительный вентилятор на корпусе Morex Cubid 3677S

Рисунок 2. Расположение элементов охлаждения EPIA-M и дополнительный вентилятор на корпусе Morex Cubid 3677S

Теперь соберем программные компоненты нашей системы. Это Linux-дистрибутив – Slackware Linux 10.0 [4]. Компоненты мониторинга температуры – lmsensors [5], i2c [6], hddtemp [7]. Компоненты для построения LinuxBIOS – сам LinuxBIOS [8]-[9], «полезная нагрузка» (payload) – etherboot [10], filo [11]. На каком именно дистрибутиве вы будете собирать, в конечном итоге не принципиально.

Следим за температурой

Описывать установку и настройку системы я не буду. Сразу расскажу, как мониторить температурные режимы самой платы и жесткого диска. Если в вашем дистрибутиве используется ядро из серии 2.6, то озадачиваться интеграцией lmsensors и i2c в ядро, по-видимому, не стоит, т.к. по заявлениям разработчиков данные пакеты уже есть в составе ядра. Для тех же, кто работает на ядрах линейки 2.4, стоит прочитать в первую очередь README указанных пакетов, понять, по какому из 3 вариантов установки следует пойти – интеграция непосредственно в ядро и дальнейшая его пересборка, сборка в качестве отдельных модулей или половинчатая интеграция с ядром.

Я выбрал вариант сборки в виде отдельных модулей.

wget http://secure.netroedge.com/~lm78/archive/i2c-2.9.1.tar.gz

tar xzvf i2c-2.9.1.tar.gz

cd i2c-2.9.1

su

make && make install

wget http://secure.netroedge.com/~lm78/archive/lm_sensors-2.9.1.tar.gz

tar xzvf lm_sensors-2.9.1.tar.gz

cd lm_sensors-2.9.1

su

make && make install

Добавим в /etc/rc.d/rc.local следующие строки для загрузки модулей нашей платы EPIA.

# I2C adapter drivers

modprobe i2c-viapro

modprobe i2c-isa

# I2C chip drivers

modprobe eeprom

modprobe vt1211

/usr/local/bin/sensors -s

Теперь данные о температурном режиме у нас под рукой. Запускаем:

# /usr/local/bin/sensors

eeprom-i2c-0-50

Adapter: SMBus Via Pro adapter at 0500

Memory type:            DDR SDRAM DIMM

Memory size (MB):       256

 

vt1211-isa-6000

Adapter: ISA adapter

VCore1:    +2.31 V  (min =  +1.79 V, max =  +1.89 V)   ALARM

+5V:       +4.66 V  (min =  +4.73 V, max =  +5.24 V)   ALARM

+12V:     +12.14 V  (min = +10.77 V, max = +13.15 V)  

+3.3V:     +3.25 V  (min =  +3.13 V, max =  +3.45 V)  

fan1:     3343 RPM  (min = 3006 RPM, div = 2)         

fan2:        0 RPM  (min = 3006 RPM, div = 2)         

ERROR: Can"t get TEMP2 data!

Proc Temp: +44.1C  (high =   +65C, hyst =   +60C)  

MB2 Temp:  -28.4C  (high =   +45C, hyst =   +40C)  

vid:      +1.850 V  (VRM Version 9.1)

Как видите, некоторые значения с датчиков, отмеченные подстрокой ALARM, не находятся в допустимых пределах. Очевидно, что формулы для этих значений, записанные в /etc/sensors.conf, не совсем верны, либо диапазон допустимых значений слишком узок.

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

wget http://www.guzu.net/linux/hddtemp-0.3-beta12.tar.bz2

tar xjvf hddtemp-0.3-beta12.tar.bz2

cd hddtemp-0.3-beta12

./configure --with-db-path=/etc/hddtemp.db --prefix=/usr/local/hddtemp

make && make install

Добавляем в /etc/rc.d/rc.local автозагрузку службы мониторинга:

/usr/local/hddtemp/sbin/hddtemp -d -q /dev/hda

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

# telnet 127.0.0.1 7634

Trying 127.0.0.1...

Connected to 127.0.0.1.

Escape character is "^]".

|/dev/hda|SAMSUNG SP1604N|35|C|Connection closed by foreign host.

Что же, 35 градусов по Цельсию – вполне допустимая рабочая температура.

Подведем краткие итоги проделанной работы. Дистрибутив развернут, мониторинг температуры настроен, что позволяет нам удаленно по сети следить за температурным режимом. Осталось перевести рельсы на использование LinuxBIOS.

Полезная нагрузка

LinuxBIOS, который было бы уместнее называть FreeBIOS, является замещением проприетарного BIOS. С его помощью происходит первичная инициализация устройств в системе и затем передается управление на payload. Задача payload – загрузить ядро Linux либо по сети, либо с локального устройства. Нам в первую очередь интересно посмотреть на загрузку Slackware Linux с жесткого диска, поэтому в качестве payload выступит FILO – FIle Loader. Займемся подготовкой FILO.

wget http://te.to/~ts1/filo/filo-0.4.2.tar.bz

tar xjvf filo-0.4.2.tar.bz

cd filo-0.4.2

make

Отредактируем файл Config, заменив содержимое строки AUTOBOOT_FILE на:

AUTOBOOT_FILE = "hda3:/boot/vmlinuz oot=/dev/hda3 console=tty0 console=ttyS0,115200"

make

cp filo.elf ~/src/payloads/filo.m2.elf

ELF-образ нашего payload положили в специально отведенное место и назвали как filo.m2.elf.

С сайта LinuxBIOS возьмем обе ветки, и стабильную, известную под названием V1, и текущую, которая на данный момент находится в разработке, версия V2. Как только изменения для рабочей версии будут завершены и оттестированы, она также станет стабильной. Принципиальные отличия между версиями все-таки есть – это наличие только во второй версии поддержки ACPI. Изменен синтаксис файла конфигурации. И самое главное, в новой версии поменялся каркас построения системного ROM-файла. Считается, что он стал удобнее для добавления нового аппаратного обеспечения.

wget http://snapshop.linuxbios.org/freebios--devel--1.0--base-0.tar.bz2

tar xjvf freebios--devel--1.0--base-0.tar.bz2

cd freebios

Предварительно подготовим VIDEOROM от интегрированного видеоадаптера на плате:

su

dd if=/dev/mem of=vgabios.bin skip=1536 count=128

Предполагается, что компоновка и компилирование происходит на EPIA-M-системе.

Получился файл размером в 64 Кб. Он нам понадобится в дальнейшем при подготовке системного образа.

В файле freebios/HOWTO/EPIA хранится инструкция по компоновке LinuxBIOS для EPIA-систем. Воспользуемся ею. Во-первых, нам потребуется файл конфигурации, в котором указывается для какой системы подготавливается системный ROM-файл, «полезная нагрузка» (так называемая секция payload), параметры для порта RS232 и т. п. Приведу файл, который используется у меня:

#

# LinuxBIOS config file for: VIA epia-m mini-itx

#

target /home/anthony/epia-m

# via epia

mainboard via/epia-m

# Enable Serial Console for debugging

option SERIAL_CONSOLE=1

#option SERIAL_POST=1

option TTYS0_BAUD=115200

# for VGA support (optional)

option HAVE_FRAMEBUFFER=0

option CONFIG_VGABIOS=1

option CONFIG_REALMODE_IDT=1

dir src/bioscall

option CONFIG_PCIBIOS=1

option VGABIOS_START=0xfffe0000

addaction romimage dd if=./vgabios.bin of=romimage bs=65536 seek=2 conv=sync conv=notrunc

# end VGA support

option CONFIG_EPIAMVERSIONSTRING="5.0.0E-" __DATE__ " " __TIME__

target /home/anthony/src/epia-m/freebios/

option DEFAULT_CONSOLE_LOGLEVEL=9

option DEBUG=1

# Use 256KB Standard Flash as Normal BIOS

option RAMTEST=1

option USE_GENERIC_ROM=1

option STD_FLASH=1

option ROM_SIZE=262144

# payload size = 192KB

option PAYLOAD_SIZE=196608

# use ELF Loader to load Etherboot

option USE_ELF_BOOT=1

# Use FILO as our payload

payload /home/anthony/src/payloads/filo.m2.elf

Сохраним конфигурацию в файл config1 и подготовим Makefile для дальнейшей компиляции следующим образом:

python /home/anthony/src/freebios/util/config/NLBConfig.py config1 /home/anthony/src/freebios

В итоге получили новую директорию /home/anthony/src/epia-m/freebios, в которой и будет приготавливаться системный ROM-файл для нашей системы. Не забудем положить в эту же директорию файл от VIDEOROM.

cd ~/src/epia-m/freebios

make

В результате получили файл romimage. Его-то нам и нужно записать в чип flash-памяти. Для этой цели в директории ~/src/freebios/util/flash_and_burn приготовлена утилита записи во flash-память. Соберем ее и посмотрим, какие параметры ей необходимы.

cd ~/src/freebios/util/flash_and_burn

make

./flash_rom –h

The arguments are:

--h

./flash_rom: invalid option -- -

usage: ./flash_rom [-rwv] [-c chipname] [-s exclude_start] [-e exclude_end] [file]

-r: read flash and save into file

-w: write file into flash (default when file is specified)

-v: verify flash against file

-c: probe only for specified flash chip

-s: exclude start position

-e: exclude end postion

If no file is specified, then all that happens is that flash info is dumped

Необходимо использовать в качестве параметра имя файла системного ROM. Не забудем переключить с помощью BIOS Savior нужный нам чип flash-памяти и запустим с правами суперпользователя программу записи во flash-чип:

su

./flash_rom romimage

The arguments are:

romimage

Calibrating timer since microsleep sucks ... takes a second

Setting up microsecond timing loop

332M loops per second

OK, calibrated, now do the deed

Enabling flash write on VT8235...OK

Trying Am29F040B, 512 KB

probe_29f040b: id1 0x7f, id2 0x45

Trying At29C040A, 512 KB

probe_jedec: id1 0xbf, id2 0xb6

Trying Mx29f002, 256 KB

probe_29f002: id1 0xbf, id2 0xb6

Trying SST29EE020A, 256 KB

probe_jedec: id1 0xbf, id2 0xb6

Trying SST28SF040A, 512 KB

probe_28sf040: id1 0x7f, id2 0x45

Trying SST39SF020A, 256 KB

probe_jedec: id1 0xbf, id2 0xb6

SST39SF020A found at physical address: 0xfffc0000

Part is SST39SF020A

Programming Page: 0063 at address: 0x0003f000

Итак, в чип SST39SF020A записан LinuxBIOS. Во второй чип мы предварительно записали системный AwardBIOS, с которым поставлялась эта плата. На всякий случай.

Теперь перейдем на второй компьютер и с помощью нуль-модемного кабеля подключим порты RS232 на EPIA-M и на нашем компьютере. Зачем это надо? Для того чтобы отслеживать информацию, выводимую на терминал.

Запускаем терминальную программу minicom. Устанавливаем нужный COM-порт, скорость в 115200 бод и готовимся к холодному старту блока с LinuxBIOS на борту. Выключаем EPIA-M и, переведя дыхание, включаем заново. Смотрим, что же получилось. Привожу не все сообщения, а только наиболее характерные.

 

LinuxBIOS-1.0.0 Сбт Июн 25 21:48:38 MSD 2005 starting...

RB!0

 

LinuxBIOS-1.0.0 Сбт Июн 25 21:48:38 MSD 2005 starting...

80 08 07 0d 0a 01 40 00 04 60 70 00 82 08 00 01

0e 04 08 01 02 20 00 00 00 00 00 48 30 48 2a 40

75 75 45 45 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 21

00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

30 33 31 32 37 39 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Copying LinuxBIOS to ram.

Jumping to LinuxBIOS.

Выводятся сообщения о номере релиза LinuxBIOS и времени компиляции. Из flash-памяти образ LinuxBIOS в дальнейшем копируется в RAM для ускорения процесса загрузки и последующие манипуляции проводятся уже в ОЗУ.

На определенном этапе вы увидите такое сообщение:

POST: 0x89

POST: 0x70

totalram: 96M

Initializing CPU #0

На самом деле памяти у меня в системе почти в 2 раза больше – 256 Мб, однако в стабильной ветке LinuxBIOS 1.0 на тот момент не существовало механизма определения количества ОЗУ. Данная проблема решена во второй версии LB. Поэтому либо оставим как есть, либо вам придется, исходя из ваших возможностей, поменять в исходном файле параметр, задающий количество ОЗУ.

Далее интересная надпись – отработала инструкция CPUID, и мы видим, что же за чудо выпускает компания VIA:

Max cpuid index    : 1

Vendor ID          : CentaurHauls

Processor Type     : 0x00

Processor Family   : 0x06

Processor Model    : 0x09

Processor Mask     : 0x00

Processor Stepping : 0x05

Feature flags      : 0x0380b13d

CentaurHauls когда-то выпускала компания WinChip.

Следующая запись, заслуживающая вашего внимания:

Welcome to elfboot, the open sourced starter.

January 2002, Eric Biederman.

Version 1.2

 

POST: 0xf8

    37:init_bytes() - zkernel_start:0xfff00000  zkernel_mask:0x0000ffff

Found ELF candidate at offset 0

LinuxBIOS дошел до стадии загрузки «полезной загрузки» – прошу прощения за тавтологию. В качестве payload у нас выступает FILO. Вот что пишет FILO во время выполнения:

POST: 0xfe

FILO version 0.4.2 (anthony@athlon) Сбт Июн 25 21:47:32 MSD 2005

Press for default boot, or for boot prompt... 2. .1. .timed out

boot: hda3:/boot/vmlinuz root=/dev/hda3 console=tty0 console=ttyS0,115200

hda: LBA48 160GB: SAMSUNG SP1604N

Mounted ext2fs

Found Linux version 2.4.26 (root@tree) #8 Mon Jun 14 19:09:31 PDT 2004 bzImage.

Loading kernel... ok

Jumping to entry point...

Linux version 2.4.26 (root@tree) (gcc version 3.3.4) #8 Mon Jun 14 19:09:31 PDT 2004

FILO отрапортовал, что в качестве носителя найден жесткий диск SAMSUNG SP1604N, на котором в разделе hda3 находятся ядро системы и корневой раздел, и передал управление ядру операционной системы.

Дальнейшие записи уже вам привычны и знакомы.

С помощью SSH можно зайти в систему и проверить, например, температуру.

# ssh -l anthony -C via

anthony@via"s password:

Last login: Sat Jun 25 21:53:41 2005 from athlon.net

Linux 2.4.26.

 

anthony@via:~$ sensors

eeprom-i2c-0-50

Adapter: SMBus Via Pro adapter at 0f00

Memory type:            DDR SDRAM DIMM

Memory size (MB):       256

 

vt1211-isa-ec00

Adapter: ISA adapter

fan1:     3378 RPM  (min = 3006 RPM, div = 2)

fan2:        0 RPM  (min = 3006 RPM, div = 2)

Proc Temp: +47.2C  (high =   +65C, hyst =   +60C)

anthony@via:~$ telnet 127.0.0.1 7634

Trying 127.0.0.1...

Connected to 127.0.0.1.

Escape character is "^]".

|/dev/hda|SAMSUNG SP1604N|37|C|Connection closed by foreign host.

В целом работу нашего конструктора можно считать нормальной.

Подведем итоги. Мы скомпилировали LinuxBIOS, записали образ в ППЗУ и удачно загрузились. Также мы научились снимать данные о температуре с критически важных узлов нашей ПЭВМ. Полностью рабочая удаленная станция к вашим услугам.

Автор благодарит участников проекта LinuxBIOS за консультации при подготовке данного материала, в частности Josiah England, Jonathan McDowell, Adam Talbot, Jun Okajima. А также за краткую историю развития проекта LinuxBIOS за 1999-2004 года R.Minnich [12-13].

В следующем номере мы посмотрим, как запустить EPIA-M в качестве узла Beowulf-кластера, а также запустим на EPIA-M операционную систему Windows 2000 Professional. Плюс посмотрим, как наш блок EPIA-M превращается в терминальное решение.

Ссылки:

  1. http://en.wikipedia.org/wiki/WinChip.
  2. http://de.wikipedia.org/wiki/WinChip.
  3. http://en.wikipedia.org/wiki/Cyrix.
  4. ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-10.0-iso.
  5. http://secure.netroedge.com/~lm78/archive/lm_sensors-2.9.1.tar.gz.
  6. http://secure.netroedge.com/~lm78/archive/i2c-2.9.1.tar.gz.
  7. http://www.guzu.net/linux/hddtemp-0.3-beta12.tar.bz2.
  8. http://snapshots.linuxbios.org/freebios--devel--1.0--base-0.tar.bz2.
  9. http://snapshots.linuxbios.org/freebios--devel--2.0--patch-51.tar.bz2.
  10. http://citkit.dl.sourceforge.net/sourceforge/etherboot/etherboot-5.4.0.tar.bz2 (http://rom-o-matic.net).
  11. http://te.to/~ts1/filo/filo-0.4.2.tar.bz.
  12. http://www.linuxdevices.com/links/LK8294110575.html.
  13. http://www.beowulf.org/archive/2002-September/008021.html.

Комментарии
 
  15.12.2006 - 02:27 |  Андрей

Hi
Спасибо большое за статью - первые попытки установить linuxbios, используя лишь "родную" инструкцию reebios/HOWTO/EPIA, окончились неудачно. Вероятно, я что-то напутал с поддержкой VGA, т.к. загрузка обрывалась где-то около фразы "Jumping to LinuxBIOS", до инициализации видеоадаптера. Буду пытаться следовать Вашим инстукциям.
У меня вопрос - где всё-же можно купить BIOS Savior? Единственно, что мне удалось найти в инете по этому поводу - это заказать из-за границы по PayPal. Есть ли путь попроще?

  15.12.2006 - 12:05 |  velber

PayPal уже достаточно давно доступен для России.

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru