OT: Jen si pekne ty "in" telefony kupujte...

Pavel Troller patrol na sinus.cz
Sobota Prosinec 10 22:03:33 CET 2011


Zdravím,
  má odpověď bude trošku delší, omlouvám se. Nechci ale, aby někdo získal
z mých předchozích odpovědí dojem, že "nějakej frajer se tady holedbá",
chci, abyste měli poněkud bližší představu, jak jsem se k tomuto stavu
(tj. že skutečně si vše pro svůj OS kompiluji, udržuji si vlastní distribuci
atd.) dostal a jaký je tedy "background" této situace.

> V tomto případě jste "extrémista". Já mám sice téměř vše taky zkompilováno,
> ale zdrojáků jsem četl asi pět a to jenom kvůli opravám, aby šly taky
> zkompilovat a na případnou hlubší kontrolu stejně nemám znalosti. 

Ano, s tímto názorem (extrémismus) souhlasím. Ale dovolte malou sondu do mé
"systémové historie":
1. počítač = ZX Spectrum. Osvojil jsem si ho tak, že bych (tehdy, dnes už ne)
zpaměti nakreslil schéma (snad i bez chyb), znal jsem adresy většiny
důležitějších rutin v ROM a samozřejmě tak 80% instrukcí Z80 zpaměti. Dodnes
si pamatuji začátek ROM: F3 AF 11 FF FF C3 CB 11 = DI : XOR A : LD DE,0FFFFH :
JP 11CBH. Konec konců, když se tu prodával Didaktik a jeho disketová mechanika
D40/80, ten OS v ní bylo moje děcko - značně zjednodušený a očesaný operační
systém SINDOS rovněž mé provenience napsaný v ASM "from scratch", který jsme
tehdy provozovali na námi rozšířené platformě s 80 kB RAM, která kdysi
vyšla v jakési ST (ročník a číslo si už, na rozdíl od těch instrukcí, 
nepamatuji :-) ). Jak byste ohodnotili v tomto případě "mastership" počítače ?
Souhlasíte s tím, že jsme (nebyl jsem to jen já, ale i pár výborných lidí,
dodnes skvělých přátel kolem mne) byli plnými "pány svých strojů" a ne
naopak ?

2. počítač = Commodore Amiga. Bylo to těžší - ROM bylo už 512 kB (kickstart
2.0 a vyšší), ale šlo to. Důkazem budiž SKick -
http://aminet.net/package/util/boot/skick346 , můj program na relokaci
Kickstartu do libovolné pozice paměti RAM. Používal se za účelem možnosti
spustit kickstart z disku (např. různé vývojové verze či betaverze). Na to,
aby to fungovalo i na strojích bez MMU (většina levnějších Amig), bylo nutno
najít všechny absolutní odkazy (což třeba v dos.library, napsané v jazyce
BCPL, bylo docela netriviální) a umístit je do tzv. relokační tabulky (pro tu
jsem dokonce sestavil speciální kompresní algoritmus) a kromě toho kickstart
na několika (cca 15) místech patchnout tak, aby byl schopen i po resetu najít
sám sebe a nepadalo to zpět do ROM či se jinak nehroutilo. Dodnes mi občas
chodí dotaz, zda bych nebyl schopen vyrobit .rtb soubor pro nějaký atypický
kickstart. Bohužel, už to nedělám. Nejdůležitější knihovnu - exec.library - 
jsme měli zdisassemblovanou a POCHOPENOU do poslední instrukce a dodnes 
z toho těžím - byl to opravdový preemptivní multitasking napsaný v čistém
ASM tak skvěle, že jsme ji použili v námi vyvíjených zařízeních pro M68000.
Ostatní moduly KS jsme alespoň disassemblovali, okomentovali alespoň 
entrypointy rutin včetně argumentů, prohnali optimalizací a znovu
zassemblovali, čímž jsme ušetřili až 80 kB prostoru, do kterého jsme mohli
přidat další moduly. Tím vznikl "Custom kickstart", který se dal buďto
vypálit do ROM místo originálního, nebo nahrát pomocí SKicku (a bylo možno
jej přímo zkompilovat pro požadovanou cílovou adresu, takže nebyla pak
ani třeba relokační tabulka a patch). A opět se ptám: Jak byste hodnotili 
"mastership" v tomto případě ? Nemluvím už o aplikacích, těch bylo tolik,
že samozřejmě se jim člověk nemohl věnovat, ale o OS ? Souhlasíte se mnou
ještě, že jsme stále byli "in" ?

3. Co dál ? Amiga nám umřela... Naprostým diletanstvím marketingu C= byla
odepsána, smetena ze stolu, zlikvidována. To, co teď žije, jsou jen zbytky
nadšenců, kteří byli ještě "fanatičtější" než my a rozhodli se svoji
"přítelkyni" neopustit ani po její smrti... Jenže kam dál ? Když jsme
byli nuceni hledat jinou platformu, "mainstreamová" PC byla zhruba na úrovni
windows 3.1. To by byl tak neuvěřitelný skok zpět, že tuto myšlenku jsme
zcela zavrhli. Nezbylo než opět zapracovat a vlastní pílí vypiplat něco, co
bychom mohli používat, ikdyž třeba zpočátku ne tak komfortně. Amiga byla
hodně blízká tehdejším minipočítačům - VAXům a různým tehdejším Unixům. 
VAXe jsme si domů pořídit nemohli (dnes mi běží jeho emulátor v Androidu
:-))))) ) a tak volba samozřejmě padla na Unix. Linux tehdy ještě neexistoval,
resp. možná už ano, ale ještě nebyl plně použitelný, tak jsme to dočasně
řešili pirátským provozováním různých komerčních Unixů (SCO, námi pohrdlivě
překřtěný na "System Crash Only", neboť překvapivě byl méně stabilní než ta
Amiga :-), Esix, nějaké tehdejší BSD (tuším se to jmenovalo BSD 386). Hledali
jsme, střídali jsme OSy, ale stále nám něco nevyhovovalo, to či ono chybělo,
ty krámy neměly ani kompilátor a gcc pro ty platformy nebyl  ani ke stažení,
prostě dnes bych to nazval takovou "dobou temna". Tehdy jsme skutečně
zažili situaci, že jsme nebyli pány svých OSů. Takže jakmile to šlo, 
vešli jsme do současné etapy, tj.

4. Linux. To bylo opravdové nadšení! Konečně svoboda! Mohu si sám dát do
OS vše, co se mi líbí! Praxe z Amigy dovedená až k dokonalosti! Už ne
kickstart, který bylo nutno reverzně inženýrovat, ale rovnou zdroják!
Teprve v tento čas jsem se naučil C, do té doby jsem byl čistý "assembly
man". A věřte nevěřte, to nadšení mi (a snad ještě tak 2 - 3 lidem, kteří
zbyli z naší původní skupiny) vydrželo. Proto také jsem začal s naprostým
minimem systému Slackware (to se psal rok 1994) jen proto, abych rozjel
kompilátor a začal vše od základu buď kompilovat, nebo třeba i psát 
(třeba systém init/shutdown scriptů a balíčků mám ve své "distribuci"
zcela vlastní, from scratch, nikde jinde se nevyskytující). A věřte mi,
stojí mi to za to. Nemohu si být jist aplikacemi (ty moc nestuduji, jen
kompiluji), ale věřím mi, že OS mám stále celkem pod detailní kontrolou
a stav, který jsem poprvé poznal na ZXS, víceméně přetrvává :-).

> Majitelé
> běžných distribucí obvykle vůbec netuší, co jim tam vlastně běží a co je
> nainstalováno. Generický kernel je sice určitě hlídaný, ale opět v
> distribucích může být cokoliv. I já na Gentoo, když si ten kernel kompiluju,
> tak si to klidně může něco svýho přihrknout a nebudu o tom vědět. Až na pár
> vyvolených je na tom zbytek stejně jako ve Windows. Nemají potuchy, co tam
> všechno běží, akorát kontrola díky zdrojákům je možná a výrazně jednodušší
> než ve Windows.

To máte pravdu.

> 
> Úplně mimo téma bych se rád zeptal, jaký přínos má EXT4 oproti EXT3? Zatím
> nikde nemám, ale mobil možná bude první... :-)

Už jsem tam viděl odkaz na web, nebudu jej psát znovu, jen pár praktických
zkušeností: 

1) Smazání rozsáhlého stromu adresářů, např. kernel tree (stejný hardware):
ext3 - cca 15 sekund. ext4 - do 300 milisekund.

2) fsck (ne jen journal recovery) 1TB partitionu: ext3 - přes hodinu,
ext4 - 5 minut (your mileage may vary - hodně závisí na obsahu toho
oddílu, ale moje zkušenost je tak nějak "průměrná" - např. /home
partition).

Ještě bych se vyjádřil k reiseru - ano, je obecně rychlejší, ale nikdy 
nebyl zbaven všech chyb - např. je známo, že pokud má wine své "bottles"
na reiserfs oddíle, řada windows aplikací neběží správně nebo vůbec a
nikdo neví, proč. Protože systém se dále nevyvíjí - autor sedí ve vězení
za vraždu a jeho firma se rozpadla, nedoporučuji jej pro nové instalace.

S pozdravem Pavel

> 
> > -----Original Message-----
> > From: hw-list-bounces na list.hw.cz [mailto:hw-list-bounces na list.hw.cz] On
> > Behalf Of Pavel Troller
> > Sent: Saturday, December 10, 2011 5:02 PM
> > 
> > Ano, domnivam se, ze prave jadro je natolik exponovana zalezitost, ze
> > to skutecne bude "ciste" a jakykoliv pokus o znecisteni bude velice
> > brzy odhalen a odstranen.
> > 
> > >
> > > > s maximem bezpecnostnich
> > > voleb zapnutych, jako je -fstack-protector atd.
> > >
> > > To ma malo spolocne s tym druhom bezpecnosti, o ktorom tu hovorime.
> > >
> > To je naprosta pravda, to jsem napsal jen na okraj.
> > 
> > > > Ano. Firefox, OpenOffice, to vse zkompilovano vlastnorucne.
> > >
> > > Tym, ze su to korporatne zalezitosti, je sanca ze tam "nieco je",
> > hoci aj v zdrojakoch, daleko vacsia. To, ze to prekladate vlastnorucne,
> > na tom maloco zmeni.
> > >
> > > Tych 1TB zdrojakov je vlastne te hlavny argument, preco je to defacto
> > neskontrolovatelne. Slovo "komunita" bohuzial nekoresponduje so slovom
> > "zodpovednost"...
> > >
> > >
> > Mate pravdu v tom, ze pokud je nejaky "chrobak" primo injikovany
> > hlavnim autorem aplikace/baliku, jen tezko se tomu da v te mase branit.
> > Na druhou stranu jsou veci, kterym zabranit muzete - treba takovy
> > FireFox ma v sobe zabudovany QA (Quality Assurance) klient, jehoz
> > primarnim ucelem je bonzovat crashe, ale nemuzete si byt jisti, zda tim
> > nebude bonzovat i neco jineho. Tedy neni problem jej nezakompilovat a
> > mate jistotu, ze tam nebude a ze ikdyz ho vypnete, nebudou situace, ze
> > bude bonzovat proti vasi vuli.
> > Napr. ja ho zakompilovany nemam :-).
> > 
> > Proti tomu se lze branit castecne - pokud napr. chci pouzivat
> > OpenOffice, mohu ji zakazat sitovou aktivitu (iptables umi blokovat
> > sitovy pristup dle konkretni spustene aplikace) a budu vedet, ze si
> > domu nezavola :-). Na co by mel kancelarsky balik sitovat, ze... Vzdy
> > mu mohu postahovat externi soubory a komponenty na lokalni disk. Nutno
> > rici, ze to ale nedelam - nejsem zase tak paranoidni a verim, ze
> > komunita kolem OO je dost siroka na to, aby se to prolaklo - znam
> > nejmene 4 prispevatele z CR, kteri maji ten source hodne dobre prolezly
> > a neco takoveho by nestrpeli.
> > >
> > > > A to vsetko prekladacom poctivo odbootstrapovanym tak, ze v nom
> > > > zarucene nie je Thompsonov trojan? :-)
> > >
> > > > gcc a veskere dalsi soucasti toolchainu samozrejme tez vlastnorucne
> > > >zkompilovane a zkontrolovane na autenticitu
> > >
> > > Neodpovedali ste na moj argument.
> > 
> > A proc ste tedy ptate, kdyz pak napisete, ze jsem neodpovedel na
> > argument ?
> > Odpovedel jsem na otazky :-).
> > 
> > Moje odpoved, kterou bych rad povazoval v teto diskusi za konecnou, je:
> > Delam vse pro to, abych mel maximum kontroly nad svym OS i aplikacemi.
> > Jisty 100%ne si samozrejme byt nemohu, jako si nemohu byt jisty, ze se
> > zitra rano probudim nebo ze se budu mit do ceho probudit :-). Ale
> > dovoluji si tvrdit, ze vim o softwaru na svem stroji o neco vice nez
> > BFU, coz mi dava urcite vyhody nad "ovcemi", o kterych tato diskuse
> > zacinala (viz uplne prvni prispevek). Nadto ja se jen podivoval nad
> > tim, ze se nekdo boji smirovani v mobilu a pritom se neboji smirovani v
> > PC, kde je podle mne pravdepodobnost neceho podobneho jeste vyssi.
> 
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list


Další informace o konferenci Hw-list