4.4 BSD kernel v distribucích

fantasy

4.4 BSD kernel v distribucích
« kdy: 17. 09. 2011, 15:12:48 »
Ahoj,
když je tady na rootu velká debata o BSD, tak bych se chtěl tak okrajově zeptat pár otázek:

1. Ohledně 4.4 BSD, je stále vyvíjen, nebo každá distribuce je založena na BSD 4.4 a má vlastní vývojáře pro kernel? (stručně řečeno, jestli existuje jednotný kernel pro všechny distribuce jako je to u Linuxu)

2. Jak takový vývoj vypadá? Existuje něco jako LKML?

3. BSD kernel se dá stáhnout i v binárce, tak prosím někoho, aby mi krátce vysvětlil, co všechno ta binárka obsahuje a jestli je to podobné Linuxu (tzn. že Linux má vše na jedné hromadě)

Díky moc všem za odpovědi, celkem hodně mě to zajímá.


stewe

Re: 4.4 BSD kernel v distribucích
« Odpověď #1 kdy: 17. 09. 2011, 16:39:09 »
1) *BSD nie je "distribucia", myslim, ze to je nespravne slovo, pomenovat OpenBSD alebo FreeBSD distribucia, to slovo je skor pouzivane v linux svete.

Jednotny kernel pre vsetky bsd systemy neexistuje. Kernel si kazdy robi po svojom. To neznamena, ze cast kodu nepreberaju od seba navzajom.

2) neviem

3) no tak asi samotny kernel a moduly, inak mozes mat aj moduly samostatne a len pouzijes kldload (tusim :) ) Velmi nechapem otazku.

stewe

Re: 4.4 BSD kernel v distribucích
« Odpověď #2 kdy: 17. 09. 2011, 16:45:17 »
treba si uvedomit, ze model vyvoja v BSD svete (napr. taky OpenBSD) nie je taky ako v linuxe. ani nahodou. BSD system je kernel + userland. To je jeden celok od seba neoddeliteny. Tym padom v tom nie je taky bordel ako v linuxe. Nie je to ako skladacka v linuxe, kde zoberem jadro, postahujem z netu zdrojaky pre userland, nejako to poskladam a je distro. Tu to funguje tak, ze kernel aj userland sa robia spolocne a jedna sa o jeden celok. Prave preto nic take ako bsd jadro neexistuje.

stewe

Re: 4.4 BSD kernel v distribucích
« Odpověď #3 kdy: 17. 09. 2011, 17:00:48 »
« Poslední změna: 19. 09. 2011, 11:38:00 od Petr Krčmář »

fantasy

Re: 4.4 BSD kernel v distribucích
« Odpověď #4 kdy: 17. 09. 2011, 17:07:35 »
Díky, asi jsem špatně položil pojem distribuce do bsd světa, nevěděl jsem, jak to nazvat.
Díky za základní model vývoje a že jsem s pojmem bsd kernel vedle, velmi mi to pomohlo se zorientovat a přiučit se. :)


stewe

Re: 4.4 BSD kernel v distribucích
« Odpověď #5 kdy: 17. 09. 2011, 17:16:00 »
aby sa ma nechapal zle, samozrejme ze bsd kernel existuje, ale nie je to nieco ako kernel.org, ktory bezi univerzalne a len sa na to nalepi system okolo. skus sa na to proste pozriet z nadhladu :) v tom linku vidis, ze userland, systemove utility atd sa vyvijaju rovnako ako jadro, ktore je v sys adresari (teda tusim ze tam), to by sme mohli povedat, ze je bsd kernel, ale neexistuje to v takej podobe, aku si mal ty na mysli.

dufam, ze ma skalni bsd-ckari neukamenuju :)

fantasy

Re: 4.4 BSD kernel v distribucích
« Odpověď #6 kdy: 17. 09. 2011, 17:32:47 »
Jo, prošmejdil jsem to tam skoro celé  :D asi už mám jasno, jak to zhruba vypadá. Dík

x

Re: 4.4 BSD kernel v distribucích
« Odpověď #7 kdy: 17. 09. 2011, 21:17:10 »
Jo, prošmejdil jsem to tam skoro celé  :D asi už mám jasno, jak to zhruba vypadá. Dík

Kernel samotneho OpenBSD je tady http://www.openbsd.org/cgi-bin/cvsweb/src/sys/arch/i386/conf/GENERIC?rev=1.727  . Pozdeji odpovim na ty prvni otazky.

x

Re: 4.4 BSD kernel v distribucích
« Odpověď #8 kdy: 18. 09. 2011, 07:43:10 »
Ahoj,
když je tady na rootu velká debata o BSD, tak bych se chtěl tak okrajově zeptat pár otázek:

1. Ohledně 4.4 BSD, je stále vyvíjen, nebo každá distribuce je založena na BSD 4.4 a má vlastní vývojáře pro kernel? (stručně řečeno, jestli existuje jednotný kernel pro všechny distribuce jako je to u Linuxu)

2. Jak takový vývoj vypadá? Existuje něco jako LKML?

3. BSD kernel se dá stáhnout i v binárce, tak prosím někoho, aby mi krátce vysvětlil, co všechno ta binárka obsahuje a jestli je to podobné Linuxu (tzn. že Linux má vše na jedné hromadě)

Díky moc všem za odpovědi, celkem hodně mě to zajímá.

Omlouvam se, ze to bude asi delsi ;-)

1) Samotne BSD existovalo 1977 - 1995
Umyslne ted pouziju hodne velkou zkratku a z pohledu modernich distribuci se zminim hodne zjednodusene jen o koncovem obdobi.

Z 4.3BSD Reno vzniklo bokem BSD/Net2 a z nej 386BSD, ktere bylo zakladem pro FreeBSD a NetBSD. Pri ukonceni BSD na univerzite v Berkeley vzniklo jako posledni 4.4BSD Lite2, ktere bylo jednak oprosteno od problematickeho kodu z pohledu licenci a stalo se tak hlavnim zdrojem vsech naslednych BSD z nich zjednodusene zbylo FreeBSD z ktereho pozdeji vzniklo DragonFlyBSD; a NetBSD z ktereho pomerne zahy vzniklo OpenBSD.

To byla uprimne hodne velka zkratka a kdokoliv kdo to mysli uprimne s Unixem jako takovym a to at uz komercnim nebo jeho open source derivaty by mel znat celou historii a specialne kvuli BSD a jeho vlivu by to mela byt asi povinna cetba i pro Linux.

Z tohoto pohledu jednoznacne doporucuji tento odkaz http://oreilly.com/catalog/opensources/book/kirkmck.html a klidne i nasledujici kapitoly kde je podobne skvele popsano IETF, GNU a dalsi od cloveka, ktery to asi umi nejlepe popsat. Jsou tam misty i zajimave popisy toho jak vznikli i ruzne nastroje, kteri mnozi z nas denne pouzivaji jako vi, termcap a podobne.

Kdo chce o neco kratsi verzi (i presto ale velmi presnou a zajimavou), tak muze vyuzit http://en.wikipedia.org/wiki/Berkeley_Software_Distribution , ale i presto doporucuji prvni odkaz tak nebo tak. Na wiki je i zajimavy graf kde je videt vznik BSD a jeho ovlivnovani a prispeni do dalsich systemu.

Jeste kratsi verzi lze precist tady v levem sloupecku http://www.openbsd.org/lyrics.html#44 kde je zaroven odkaz na prvni odkaz co jsem tady dal.

Z te moderni historie stoji za to i z pohledu Linuxu vypichnout jeste tohle http://en.wikipedia.org/wiki/USL_v._BSDi (je to zminovano a rozebirano do detailu i v mnou nabizenych odkazech). Proc je neco takoveho zajimave? Staci se podivat na soucasne kauzy Oracle vs Google a Java, Apple vs Samsug, MS vs Android atp. a je jasne, ze Linux takove reseni jeste ceka a ze se bohuzel nepoucil na necem podobnem co uz probehlo. Jine BSD s ZFS, Dtrace (i kdyz to je o neco blize BSD, ale taky ne moc) a pripadne GPLv3 vecma se muzou znovu dockat neceho podobneho. U nich je to jeste horsi, ze se z historie nepoucili, navic, kdyz se tykala primo BSD. Jiste vetsina lidi rekne, ze je to nezajima, ze tomu nerozumi, ze to je blbost, ze jsou radi, ze to a to maji a ze to neni mozne, ale kdyz si clovek projde vsechny ty aktualni kauzy velkych firem, ktere se ruznym zpusobem dotykaji Linuxu, tak uz to tak nemozne nevypada. No a nekonecny a taky nesmrtelny pribeh SCO -> Nowell (Suse ;-)) -> Microsoft asi znaji vsichni take velmi dobre a ten jen tak taky neskonci.

Jednotny kernel pro *BSD systemy neni. Vychazi sice historicky (viz. vyse) ze stejnych zakladu, ale stejne nejsou, i kdyz maji mnoho spolecneho. Proto treba i portovani nekterych veci vzajemne je snazsi, ale neznamena to, ze to musi byt nutne prochazka ruzovym sadem. Souvisi to se zamerenim jednotlivych verzi.

2) Kazde BSD ma sve mailing listy, nektere maji i fora, blogy, jsou na IRC nebo jinde.

FreeBSD - neznam az tak dobre jejich metodu vyvoje, ale BSD konferenci se zucastnuji a v ramci vyvoje zcela jiste povazuji vyse popsane

NetBSD - mailing listy, BSD konference, s balikama se treba deji setkani na IRC kdy se 2,3 dny intenzivne testuje a hledaji bugy a muze se zapojit kazda platforma kde pkgsrc funguje

DragonFlyBSD - hlavni platformou je IRC, castecnou mailing listy, zdrojove kody dostupne pres git

OpenBSD - tam o tom vim nejvice, hlavnim bodem vyvoje jsou tzv. hackathons coz jsou setkani vyvojaru nekolikrat do roka http://www.openbsd.org/hackathons.html . Ty si platime my uzivatele z dotaci, nakupu tricek, CD atp. Tam vznika nejvice veci pro OpenBSD, vyvoj je samozrejme neustaly a dalsim casti jsou mailing listy hlavne tech@, source-changes@ a obcas i misc@, ale na nem to je hlavne o rychlem testovani nejakych fixu nebo oprav kdy o to vyvojari pozadaji. Obecne vyvojovy proces se lisi od cehokoliv co znate, tak je lepsi bud si procist http://www.openbsd.org/papers/asiabsdcon2009-release_engineering/  nebo se podivat na youtube na video z BSD konference o tomtez kde je vice povidani

3) Vse na jedne hromade ma jen OpenBSD (odkaz na jeho kernel (zdrojak) viz. muj pvni prispevek tady. Binarka jadra tady http://ftp.wu-wien.ac.at/pub/OpenBSD/4.9/i386/bsd (8.6MB) ). Ostatni BSD nebezi defaultne v securelevel a vyuzivaji intenzivne Kernel Loadable Modules pro ovladace a ruzne funkcnosti. Jeden velky kernel z nich udelat jde, ale preferuji se u nich spise ty moduly. Linux pokud take vim nema vse na jedne hromade a moduly vyuziva take velmi intenzivne.

Re: 4.4 BSD kernel v distribucích
« Odpověď #9 kdy: 18. 09. 2011, 09:16:18 »
Pokud by se fantasy-mu nechtělo studovat kupu materiálů (což by byla škoda, páč to jsou zajímavé věci), tak bych možná pro základní orientaci v problému dodal tohle:

FreeBSD* jako takové je víceméně jednolitý operační systém (kernel+userland) skládající se z různých částí, některé vyvíjené přímo FreeBSD týmem, některé přetažené odjinud (třeba openssl). Snaha je mít co nejvíc částí systému pod BSD licencí, ale některé části jsou i GPL (až donedávna třeba gcc). Operační systém se instaluje jako CELEK, nepoužívají se balíčky** tak, jak je to na Linuxu. Zdrojáky celého OS se uchovávají v jednom cvs - co tam je a není je možné se podívat tady http://www.freebsd.org/cgi/cvsweb.cgi/src/ - toto je samotné FreeBSD.

Kromě toho existují porty, což není nic jiného než make skripty, které slouží k usnadnění instalace software třetích stran (např. samba). Ve světě FreeBSD existuje poměrně striktní oddělení systému jako takového a softem "odjinud" (z portů) - zatímco třeba Ubuntu Linux tzv. "obsahuje sambu", FreeBSD ji prostě neobsahuje, jenom dává k dispozici elegantní způsob, jak sambu nainstalovat.

Takže když se třeba upgraduje FBSD 8.1 na 8.2 tak se neupgradují žádné balíčky, ale prostě se mění jednotlivé soubory - buď binárně (+ se patchují konfiguráky), nebo se prostě stáhnou zdrojáky nové verze 8.2, přeloží a nainstalují. Major verze dodržují binární kompatibilitu, takže při upgradu 8.x na 8.y není potřeba znovu překládat software třetích stran.

* budu mluvit o něm, ale asi to platí pro *BSD obecně
** resp. systém je rozdělený na několik částí z nichž některé jsou volitelné, ale nejsou to balíčky pro jednotlivý soft tak, jako na Linuxu, jsou to logické celky - např. man pages, games, source

fantasy

Re: 4.4 BSD kernel v distribucích
« Odpověď #10 kdy: 18. 09. 2011, 12:49:09 »
Díky, právě si čtu o BSD na anglické wikipedii. Díky x za odkaz na tu publikaci, někdy si to určitě přečtu. Taky jsem si přečetl tyhle dva články http://www.root.cz/clanky/historie-os-unix/ a http://www.root.cz/clanky/historie-os-unix-2/.

Než se pustím do stažení nějakého BSD systému a instalací do virtualboxu, tak se chci zeptat, jaký je základní rozdíl ve Freebsd a Openbsd.

Mám freebsd na jednom starém pc, kde jsem ho nainstaloval a šoupl openbox a dál se nestaral. Neptám se na klikací programy, ptám se na počet binárek(!), instalace (něco jako pkg_add ve freebsd), konfigurace (obsahují něco jako rc.conf v archlinuxu? dost mi tenhle styl vyhovuje) a podpora hardware (ovladače). Díky

x

Re: 4.4 BSD kernel v distribucích
« Odpověď #11 kdy: 18. 09. 2011, 13:29:29 »
Ty dva clanky neznam ja, tak se na ne podivam co tam :-)

Neni to snad tak jednoznacne rict, tech rozdilu je vice. Ve VirtualBox nebudes mit s FreeBSD prepokladam problem. S OpenBSD potrebujes mit dobry HW i pro ten VirtualBox kvuli problemum ve VirtualBoxu co jsem tu zminoval, ale i pan Krcmar tady daval radu par mesicu zpatky jak to rozjet.

Baliku ma vice FreeBSD, OpenBSD jich ma mene, ale to o systemu nic nerekne http://openports.se , pkg_add se jmenuje ve vsech BSD stejne, ale v OpenBSD je to uplne neco jineho a binarni baliky jsou v OpenBSD preferovane. Obecne pri praci s binarnima balickama je na tom nejlepe OpenBSD, ale pocet baliku ma nejnizsi. rc skripty jsou ve vsech *BSD. Drobne se lisi zpusob jejich pouziti, ale nijak vyznamne a pochopeni rozdilu pri prechodech mezi *BSD je otazka rychleho nahledu do Guide/FAQ/man, ale ani to spise ne a staci se podivat primo v nainstalovanem systemu na to co tam je. Co se tyce HW, tak tam teoreticky a obecne bude FreeBSD podporovat vice HW - OpenBSD nepodporuje proprietarni veci a pokud ano, tak mnohem, mnohem pozdeji nebo jen castecne a nedoporucuje jejich pouzivani v praxi. Nicmene s ACPI jsem jeste treba na OpenBSD problemy nemel (maji vlastni implementaci), zato na jinych BSD je mam pokazde. Da se rict, ze pokud mas bezny HW znameho a kvalitniho vyrobce, tak nebudes mit problemy s zadnym BSD i kdyby to treba muselo znamenat pouziti current/HEAD verze.

x

Re: 4.4 BSD kernel v distribucích
« Odpověď #12 kdy: 18. 09. 2011, 20:30:04 »
A pak, ze je OpenBSD paranoidni :-D

napred tady https://secure.wikimedia.org/wikipedia/en/wiki/ISC_license

a pak tady http://www.gnu.org/licenses/license-list.html#ISC

Jsem jediny komu pripada totalne prastene a ujete odrazovat od vyuzivani SW vytvoreneho pod touto licenci na zaklade casti vety vytrzene z kontextu jen proto, ze zacina stejne nebo zni podobne jako veta v uplne jine licenci? :D

Bylo by dobre treba resit vety, zneni a jejich kontext v tomhle http://www.gnu.org/licenses/gpl.html , ktere je snad delsi nez licence Windows nebo neco podobneho kde je v pravnicine vzdy ukryto plno speku. Pokud nekdo nepochopi licenci o jedne vete, tak mam vazne obavy o to, jestli chape vsechno v licenci o mnohem vice vetach. A pokud neco potrebuje 'A Quick guide to GPLv3', tak to je docela k zamysleni.

Muze mi nekdo z Linux uzivatelu vysvetlit v cem je problem v te vete? <ironie>Asi mi chybi ten GNU gen pro zbytecne komplikovani veci, ktere jsou jednoduche.</ironie>

pepazdepa

Re: 4.4 BSD kernel v distribucích
« Odpověď #13 kdy: 18. 09. 2011, 21:55:40 »
je to vubec mozne, ze se nekdo pta na takovou banalni otazku, co je bsd a jaky je rozdil mezi freebsd a openbsd? to ten clovek je tak linej nebo si mysli, ze je stredem vesmiru a ostatni mu to musi za jeho pasivity vysvetlit? aby pak nevznikla komunita jako je ta linuxova, kde budou ti "shopnejsi" psat pro line blbecky chaoticka howto :)

stewe

Re: 4.4 BSD kernel v distribucích
« Odpověď #14 kdy: 19. 09. 2011, 01:40:58 »
je to vubec mozne, ze se nekdo pta na takovou banalni otazku, co je bsd a jaky je rozdil mezi freebsd a openbsd? to ten clovek je tak linej nebo si mysli, ze je stredem vesmiru a ostatni mu to musi za jeho pasivity vysvetlit? aby pak nevznikla komunita jako je ta linuxova, kde budou ti "shopnejsi" psat pro line blbecky chaoticka howto :)

dobre napisane, ja prispievam do diskusii malo, aj ked musim uznat, ze moje vedomosti nie su bohvieake a vela krat len povrchne. odpisovat na banality unavuje. na vela veci staci blby dotaz do googlu a minimalna snaha nieco najst. osobne by mi ani nenapadlo zakladat na fore nejaku temu ked mam po ruke google. staci obcas trochu viac snahy smerom od seba a usetrim kopec casu ludom okolo mna. ludia su a budu cim dalej tym viac pohodlnejsi. to je proste fakt ...