Zcela nedávno začal na root.cz vycházet seriál o instalaci NetBSD na běžném PC-kompatibilním notebooku. Autor seriálu je jistě nadšenec, ale první díl působil tak amatérsky, že se pod ním rozpoutala nekonečná debata, ze které jsem si mimo jiné odnesl tuto zajímavou myšlenku: autoři x86 verze systému jsou povětšinou úplně normální lidé, používají úplně normální, často notebookový hardware a vetšina věcí by tak měla na běžném PC-kompatibilním hardware relativně bezproblémově fungovat.
Opravdu zajímavé – tohle mě osobně nikdy nenapadlo, operační systémy s BSD v názvu, jsem vždy měl zejména za skvělé open source systémy pro alternativní hardware, kterého mám plné skříně. Pro hardware ve velkých bednách s hučícími ventilátory a masivními klávesnicemi. Například OpenBSD spokojeně používám na Sun Ultra 5, kde je dokonce v aktuální verzi svižnější než deset let starý Solaris.
Řekl jsem si ale, že na tom třeba něco bude, stáhl instalační image pro USB flashdisk a jednoho deštivého dovolenkového pátečního večera zkusil OpenBSD nainstalovat na disk, který mám v HP EliteBook 2530p místo DVD mechaniky.
OpenBSD vzniklo v roce 1995 poté, co byl na konci předchozího roku Theo de Raadt, jeden ze zakladatelů NetBSD a člen hlavního vývojářského týmu, vyzván aby rezignoval na své pozice v rámci NetBSD. Jsa tvrdohlavé nátury, opustil projekt NetBSD úplně a o rok a půl později vyšla první verze OpenBSD označená jako 2.0 (číslování navázalo na předchozí číslování NetBSD).
OpenBSD se profiluje jako velmi otevřený (zdrojové kódy systému jsou od počátku přístupné komukoliv přes CVS, což v polovině 90. let nebylo zdaleka tak běžné jako dnes), bezpečný (zdrojáky jsou permanentně auditované) a zejména svobodný (nikdy není distribuován s binárními ovladači, programy šířené pod nesvobodnými licencemi jsou nahrazovány vlastními ekvivalenty) operační systém, který – i když to není hlavním cílem jako třeba u NetBSD – běží na poměrně slušném počtu hardwarových platforem.
Projektu až do dnešních dnů stále šéfuje Theo de Raadt, který je velkým kritikem nesvobodného software a bordelu, který je mezi světovou populací znám jako Linux. Více o jeho názorech se můžete dozvědět například v tomto článku na Forbesu, za vše mluví nejlépe tato věta:
Linux people do what they do because they hate Microsoft.
We do what we do because we love Unix.
Pojďme ale k instalaci samotné. Před jejím započetím je dobré se seznámit se třemi variantami (flavors) OpenBSD:
- -release Verze vydávaná jednou za půl roku na instalačních CD.
- -stable Release doplněný o opravy kritických chyb
- -current Aktuální vývojová verze OpenBSD. Jednou za půl roku je z ní generován -release, který už se nadále nemění až do dalšího -release.
Zvolit si jednu z těchto variant a pamatovat si ji je důležité pro instalaci dalšího software do již nainstalovaného systému. Instalační obrazy najdete například na českém OpenBSD mirroru: release, current. Já zvolil install55.fs ve verzi current.

Instalace probíhá ve vizuálně zcela nepřijatelném textovém režimu, což ale osobně považuju za veliké plus. Na těch několik základních otázek není třeba honosného GUI, ostatně pokud dostatečně vládnete instalačním jazykem, nebudete se s instalátorem znát dlouho.

První netradiční věcí, na kterou dosavadní uživatel Linuxu narazí, je rozdělení disku. Systémy BSD se obvykle instalují do jediného oddílu, který si uvnitř rozdělují na tzv. „slices“, tedy jakési oddíly v oddílu. Je zcela jedno, zda instalujete na PC s Master Boot Record tabulkou oddílů, která umí tři hlavní a k nim ještě několik vedlejších oddílů, nebo na Macu s Apple Partition Map, kde pro změnu musí oddíly následovat v určitém pořadí – z hlediska nativních oddílů je použit vždy jeden a systém si už operuje uvnitř něj.
I relativně nepozorný čtenář si všimne, že automatické rozdělení vytváří relativně hodně slices a vlastní „oddíly“ mají adresáře, které by v Linuxu byly v rámci oddílu jednoho. Z různých dokumentů jsem pochopil, že to je spíše tradiční záležitost a ponechal jsem vše tak, jak instalátor chtěl – co roky funguje, nemá se bořit.

Už při bootu je dobré si všimnout, u kterého hardware je napsáno, že jej systém nezná a tudíž nebude během instalace k dispozici. Pokud nerozezná síťová zařízení není příliš dobré chtít instalovat ze síťových mirrorů. Stejně tak to není dobrý nápad, pokud jste v divočině s pouze GPRS připojením, jako jsem byl onoho dne já. Zvolil jsem tedy instalaci pouze balíků obsažených v instalačním obrazu. I tak tam bylo zhruba vše potřebné pro základní fungování počítače, pokud tedy jako já holdujete jednoduchým okenním manažerům (fvwm) a web vám nevadí v textové podobě (lynx).

Samotná instalace těch několika balíků byla tak rychlá, že než foťák na mobilu v mém temném doupěti zaostřil, bylo hotovo. Po výběru časového pásma jsem restartoval do nového systému a po chvíli bootování jsem dostal přihlašovací obrazovku.

Co jsem zjistil po přihlášení, co funguje, co nefunguje a jak přidat oblíbené programy – o tom bude další díl.
Diky, tesim se na dalsi dily. 🙂
Ve srovnani s clankem na Rootu o 100% lepsi.
Uz mam Vas blog v RSS ctecce.
>> Například OpenBSD spokojeně používám na Sun Ultra 5
Gopher klient je tam jen pro zajimavost, nebo ho opravdu pouzivate?
>> Theo de Raadt, který je velkým kritikem nesvobodného
>> software a bordelu, který je mezi světovou populací
>> znám jako Linux.
To je trochu prehnane :-/
Planujete dalsi dily? Zajimalo by me, jak udelat z BSD „plnohodnotny“ desktop. Tim myslim Gnome/XFCE/LXDE Firefox/Chrome Open/LibreOffice.
Muzete shrnout nejake vyhody oproti Linuxu na desktop (i obecne treba na serveru), krome podpory ne-x86 hardware, kterou ma Linux v mensi mire taky? Nemyslim to jako kritiku BSD, jen to neznam.
Proc jste si vybral zrovna OpenBSD a ne jine BSD?
[2] Ten gopher je tam, protože ho opravdu používám. Provozuju v současnosti asi jediný český gopherový server, pravidelně sleduju zahraniční, jsem v kontaktu s člověkem co udržuje fulltextový vyhledávač Veronica-2 a tvoří moderní gopherový server software a snažím se tu o Gopheru víceméně pravidelně psát. Viz http://blog.i-logout.cz/tag/gopher
Na mém gopheru jsou nově třeba meteorologické informace převzaté z ČHMÚ, jen bez toho zbytečného HTML balastu, takže je to dost rychlé, což jsem ocenil zejména na dovolené s GPRS připojením. Viz gopher://lgt128.eu (do FireFoxu existuje plugin Overbite, který přináší podporu gopheru).
Ad bordel – z hlediska filosofie OpenBSD nelze Linux nazvat jinak, byť je to samozřejmě nadsázka. OpenBSD říká, že nikdy nebude distribuovat binární ovladače neznámého obsahu a pochybných licencí, to některé distribuce Linuxu dělají. Sám používám Linux někdy od dob RedHat 6.1, mám Linux jako hlavní systém na notebooku, ale když se na věc podívám pohledem autorů BSD, musím souhlasit. To nic neříká o použitelnosti systému pro běžné činnosti, jen prostě kernel volá věci o kterých nic neví kromě toho, jak je zavolat a to je bordel.
Další díly určitě plánuju, díl dva bude o rozebíhání hardware který nebyl po instalaci podporován a o instalaci některého základního software. V díle tři nainstaluju nějaký ten desktop, budu ale dlouho vybírat – kromě KDE v Linux Mint 14 na pět let starém notebooku nemám žádné zkušenosti s „moderním“ desktopem – používám dwm, WindowMaker a teď i fvwm – to vše na mém hardware s věkovým průměrem kolem 10 let spokojeně funguje.
Ty výhody a nevýhody jsou značně subjektivní, zkusím to v některém příštím dílu shrnout přímo, aby to bylo víc na očích. OpenBSD jsem zvolil z prostého důvodu: FreeBSD jsem zkoušel někdy v roce 2004 zhruba půl roku mezi přechodem z Mandrake Linuxu na SlackWare a nemám s ním žádné další zkušenosti. O NetBSD jsem tu už stručně psal před pár lety – http://blog.i-logout.cz/876950-netbsd-posledni-poradny-system.php a teď o něm píšou na rootu, takže jsem si vybral do třetice – systém, který alespoň trochu znám z Ultry.
„Ad bordel – z hlediska filosofie OpenBSD nelze Linux nazvat jinak, byť je to samozřejmě nadsázka. OpenBSD říká, že nikdy nebude distribuovat binární ovladače neznámého obsahu a pochybných licencí, to některé distribuce Linuxu dělají. Sám používám Linux někdy od dob RedHat 6.1, mám Linux jako hlavní systém na notebooku, ale když se na věc podívám pohledem autorů BSD, musím souhlasit. To nic neříká o použitelnosti systému pro běžné činnosti, jen prostě kernel volá věci o kterých nic neví kromě toho, jak je zavolat a to je bordel.“
Pokud bychom to brali takhle do extremu, tak Linux je pouze jadro. A jadro imho v sobe nema *zadne* nesvobodne binarni ovladace – takze zadny bordel.
Pak jsou tu spravne receno „distribuce GNU/Linuxu“, coz je linuxove jadro, GNU nastroje a software okolo. Je logicke, ze tvurci distribuci pridaji do zakladniho systemu nesvobodne ovladace. Stejne by 99,9% majitelu napr. nvidia karet po instalaci chtelo ovladac nainstalovat. A proc taky ne? Kdyz uz mam vykony hardware, nebudu ho prece o desitky procent degradovat svobodnym generickym ovladacem.
Takze v *BSD se, pokud chcete vyzdimat z hardware maximum take neobejdete bez binarniho blobu…
„Na mém gopheru jsou nově třeba meteorologické informace převzaté z ČHMÚ, jen bez toho zbytečného HTML balastu, takže je to dost rychlé, což jsem ocenil zejména na dovolené s GPRS připojením. Viz gopher://lgt128.eu (do FireFoxu existuje plugin Overbite, který přináší podporu gopheru).“
Jeste poznamka k vyhodam gopheru. Pokud nechcete velky prenos HTML, je mozne vracet webserverem treba JSON (nebo TXT). Je to dobre parsovatelne a pokud se neodstrani bile znaky tak i pro uzivatele relativne dobre citelne.
http://teplomer.obechnanice.cz/json.php
A vyhody? Zkousne to kazdy prohlizec.
Jinak nevim, jak gopher, ale http je strasne ukeceny protokol.
Treba jen ty retezce: „Host: „, „User-Agent: „, „Accept-Charset: “ jsou podle me zbytecne dlouhe. Tvurci to jiste mohli navrhnout jinak. Ale stejne se hlavicky komprimuji.
GET /wiki/Wikipedie HTTP/1.1
Host: cs.wikipedia.org
User-Agent: Opera/9.80 (Windows NT 5.1; U; cs) Presto/2.5.29 Version/10.60
Accept-Charset: UTF-8,*
[4] Je to zajímavé, ale každý linuxák k tomu nakonec dojde a začne slovíčkařit o tom co je a co není Linux, od roku 1998 jsem u tuhle debatu vedl mockrát. Ano Linux je jen kernel. Nicméne ovladač nVidie je kernelový modul a ten kernel na něj prostě spoléhá a volá ho. A není od něj zdroják, protože to je binární blob. OpenBSD, kromě toho že takové slovíčkaření nemá, protože celý systém je kompaktní celek tvořený jedním týmem, nemá ani binární bloby. Hardware který nelze zdokumentovat a napsat pro něj svobodný ovladač není podporován, protože takový hardware odmítají používat. Není se pak co divit, že se jim zdá Linux býti bordelem, protože v jejich počítači není kód o kterém by si nemohli zjistit, jak funguje. Toť vše.
[5] My Gopher udržujeme naživu primárně proto, že chceme udržovat Gopher naživu.
Spočítejme si ale tak odhadem jaký je overhead na načtení 1kB výsledného textu, který čte uživatel. U HTTP/HTML jsou to řádově stovky bajtů na straně HTTP protokolu kdy já někam pošlu GET a server mi odpoví zhruba tím, co jste citoval. Pak mi pošle HTML soubor, který – pokud splňuje W3C standardy – bude mít také řádově stovky bajtů ale klidně i několik kilobajtů HTML tagů – bude tam určitě sekce head s meta tagy, text bude zabalený v nějakých blocích, klidně úplně pominu, že bude třeba načíst nějaký CSS soubor, který také obvykle není malý. Abych tedy dostal stránku obsahující 1kB textu, proteče určitě minimálně trojnásobek dat.
Abych dostal 1kB text viditelný pro uživatele na Gopheru, připojí se klient na port 70 a pošle tam jen URL. Server mu bez jakékoliv další komunikace pošle daný soubor. Tento soubor je čistý plaintext, pokud obsahuje nějaké odkazy, každý takový odkaz zabírá dva bajty navíc. Gopher nemá žádné tagy. Čili na 1kB textu který čte uživatel proteklo sítí 1kB+URL+2B za každý odkaz. To se nedá ničím v HTML/HTTP světě přebít, i ten JSON musí ve výsledku něco zpracovat – buď ještě na straně serveru nebo až něco v klientu (pokud to bude javascript v browseru, bude to taky ještě hodně dat, která bude muset browser načíst). Čili – nedělám to primárně proto, abych někde šetřil data, je to vedlejší efekt toho, že se snažíme udržovat naživu historický a dobře navržený protokol.
[6] Jak rikali v mem oblibenem filmu Diktator: „Shodneme, ze se neshodneme“.
Ja pokud muzu vzdy uprednostnim svobodny ovladac a souhlasim, ze binarni blob do jadra nepatri.
Na druhou stranu ale nejsem ochotny vzdat se 3D akcelerace grafiky, WiFi, DVB-T a dalsich veci. Proto si myslim, ze by jadro/system mel umoznit pridani (uzivateli) binarniho blobu.
EOL
[8] OpenBSD ma 3D pro Intel a AMD/ATI diky KMS. Takze zadny problem. Jak je na tom Nvidia skrze Nouveau nebo jak se to pise nevim a Nvidia je znama velmi dobre tim, ze neumi vyrobit HW a anti-podporou open source, i kdyz se snazi tvarit jinak a jine systemy maji dojem, ze se tak nedeje, kdyz jsou oblazeni ovladaci 🙂
WiFi bez problemu s kvalitni kartou http://www.openbsd.org/cgi-bin/man.cgi?query=pci&sektion=4&manpath=OpenBSD+Current&arch=amd64&format=html nebo si najdi ve stejne sekci man stranku pro usb.
DVB-T to myslim ne, jen nejake klasicke karty pro analog TV. Ale uprimne v TV je stejne houby a vymyvarny a kdyz uz, tak to kvalitni sezene clovek po webu nebo koupi ke stazeni pokud to opravdu potrebuje. A ano, je to oblast kde to absolutne nema prioritu. Ale pokud se nekdo nudi a je k dispozici kvalitni HW s poradnou dokumentaci, tak nikdo nebrani to napsat samozrejme 🙂
[4] Unik k tomu, ze Linux je jen jadro vlastne jsem slysel za posledni roky mnohokrat, ale s jadrem toho moc praktickeho clovek neudela, ze ano 😉 Ale to je na dlouhe debaty, ktere se muzeme vyhnout.
Kdyz je ta Nvidia tak strasne open source a ma tak kvalitni HW a stoji to tolik penez, tak jiste ma takove ovladace, ktere podpori vetsinu proprietarnich a taky Unix-like OS.
Pokud tomu tak neni, tak bud je jejich HW opravdu hrozny srot, ze se to boji i dokumentovat ; nebo maji tak smejdske ovladace nebo Linux neni Unix-like ani omylem (vetsina ovladace je stejne s Windows). Co z toho je horsi? 😉
[2] Ohledne testu desktopu pro bezny mainstream bych doporucil otestovat v tomto poradi:
1) Gnome 3
2) KDE4
3) Xfce
A pokud jde o peknou grafickou alternativu k molochum, tak zcela jiste Enlightment E-17
Prosim vas lidi, mam Sun Ultra 5 a take se mi zadarilo tam nainstalovat openBSD (jakozto jediny boot obraz) 5.4 ale bohuzel nemam poneti jak nainstalovat dalsi sw. Jsem v xdm a co dal? Jak treba se dostanu na cdrom? Jestli je mozne www prohlizec atd. Dekuji Vam vsem za nejake info
[12] Doporučuju projít všechny tři díly článku o OpenBSD, které jsem tu psal, tj. kromě tohoto i další dva:
http://blog.i-logout.cz/openbsd-na-notebooku-2.php
http://blog.i-logout.cz/openbsd-na-notebooku-3.php
Stejný postup instalace jde aplikovat i na Ultra 5, jen místo verze 5.5 bude třeba všude použít verzi 5.4. Druhý díl říká jak nakonfigurovat instalaci balíčků, ve třetím je jak kompilovat ze zdrojáků.
Prohlížeč doporučuju jen lynx, na víc asi ta Ultra nebude mít paměť a uswapovala by se.