gug-bg-herd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Coreboot powered - freedom down to the bare metal!


From: Ivaylo Valkov
Subject: Coreboot powered - freedom down to the bare metal!
Date: Thu, 20 Jan 2011 00:10:25 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux)

Здравейте,

Поради важността на темата, се надявам, че няма да приемете написаното
като самохвалство, а полезна информация. Като се има предвид, че
занапред, а и вече основната битка за освобождаване (ще) се води на
фронтове като фърмуер, binary-blobs, BIOS и VGA BIOS, може би е важно,
това което съм постигнал (и за други освен мен). Особено, когато
архитектури като ARM и MIPS стават все по-мощни и навлизат в сферата на
настолните и преносими компютри и реално погледнато нямат BIOS. Е, имат
зареждаща програма. Даже няколко и все свободен софтуер. За компютри от
архитектурата x86 в момента единственото спасение е coreboot. Това e
свободен BIOS. Пояснявам, ако някой все пак не знае, въпреки че е в
списъка със задачи с висок приоритет на Фондацията за свободен софтуер.

От известно време, може би година следя бегло какво се случва с
coreboot.  Дори бях правил опити с една стара машина. Успях да пусна
серийния порт, но останалото се оказа непосилна задача за човек
запознаващ се с кода и нямащ много ясна представа за процеса на
зареждане на толкова ниско ниво. А и липсваше поддръжка за почти всичко
на платката.

Наскоро ми се повреди голяма част от хардуера, а останалата част забива
без никакви грешки и закономерност. Не мога да разчитам на такава
машина. Предполагам е хардуерен дефект, време беше. Все стари „щайги“,
но вършеха работа. Наложи се да си купя нов хардуер. Спрях се на дънна
платка (2 броя), за която се предполагаше, че ще бъде възможно да се
използва с coreboot (поне в близко бъдеще). Също така изглеждаше, че
всичките ѝ вградени устройства ще работят със свободна дистрибуция на
GNU/Linux. Реших да използвам случая с разваления хардуер да тествам
някои неизвестни около чипсета RS740 на AMD, който все още няма публично
изнесена документация. Имаше слухове, а и няколко теми в пощенския
списък на coreboot, че е почти същият като RS690. За него има поддръжка,
просто никой не беше правил опити.

Взех платките и събирах информацията искана от проекта. Оказа, че
програмата за запис на чипа съдържащ собственическия BIOS работи на
платката. Сглобих основна структура от код и успях да си кажа „Hello
free world“ на серийния порт. По-нататък късметът ми беше в това, че
всички компоненти на платката се поддържаха и кодът за поддържания
чипсет сработи с минимални промени. След копиране от кода на други
чипсети и платки в проекта и близо месец опити успях да доведа системата
до продуктивно състояние - зарежда GNU/Linux и всичкият хардуер е
достъпен. Има нужда от още работа и фини настройки, но е използваема.
Скоро кодът ще бъде приет в coreboot (предполагам). В момента се
преглежда от разработчиците.

Има един недостатък. За да работи вградената видео карта е необходимо да
се използва несвободен VGA BIOS копиран от паметта/собственическия
BIOS. :-/ :-! Това може да се избегне с външна видео карта, но реално не
е никакво решение. Такава карта също има собственически (в общия случай)
VGA BIOS, който се зарежда за да може тя да се използва. Работи се за
създаване на свободен еквивалент. Има поне една платка в coreboot, за
която знам, че работи със свободен VGA BIOS. Има минимален шанс да се
случи и за моята (и други с този чипсет). От AMD са дали доста
информация, въпросът е достатъчна ли е за да се инициализира картата без
техния VGA BIOS, поне в текстов режим. Това разбира се, ще ми го
отговори някой в пощенския списък на coreboot.

Платките поддържани от coreboot трудно се намират в момента на пазара,
някои изобщо не се произвеждат. Ако някой планира покупки и съм го
заинтригувал – платката е ECS A740GM-M и все още може да се намери в
България. При мен работи с процесор Sempron 140. За други може да се
наложи промяна в coreboot. Хардуерът на платката работи с напълно
свободната дистрибуция (Trisquel) и почистено ядро (Linux-libre). Скоро
смятам да си пусна и сървъра с втората платка, но на gNewSense 3.0 (да
ми е честито). В момента все още се движи от умираща машина, която
(a)периодично забива и изисква рестартиране.

След всичко изписано искам да кажа, че вече имам някаква (малка) вещина
в областта. Ако някой се интересува от coreboot или има нужда от помощ,
насреща съм. Все пак ще кажа, че не съм писал нов код. Просто събрах от
съществуващия за да заработи всичко.

P.S Технически подробности има в (архивите на) пощенския списък на
coreboot.

P.P.S. Останаха ми платки SDRAM (16, 32, 64, 128 MB), които (вероятно)
работят. Ако някой има нужда ги подарявам.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]