PĹedevÄĂrem se mi nÄjak sesypal disk. ProstÄ jsem chtÄl nainstalovat zdrojĂĄky BSD podle nĂĄvodu na instalaci FreeBSD sekce H, dal jsem po pĹĂsluĹĄnĂŠ ĂşpravÄ:
cvsup /usr/standard-supfile
no a zrovna kdyĹž jsem na druhĂŠ konzole mÄnil CFLAGS v make.conf na nÄco pĹesnÄ pro Crusoe, tak koukĂĄm Ĺže nÄjak moc hrabe disk. PĹepnul jsem se na prvnĂ disk (tam se ty zdrojĂĄky uĹž stahovali minimĂĄlnÄ pĹŻl hodiny) a jĂĄdro tam vypisovalo nÄjakĂŠ errory o disku (moc jsem to nezkoumal, ale nevypadalo to zrovna na nedostatek mĂsta na disku). KdyĹž jsem zmĂĄÄkl Ctrl+C tak to skonÄilo s kernel panic. Po rebootu to vĹždy vyhodilo po pĹipojenĂ partitions kernel panic a ĹĄlo to do rebootu a jedinĂŠ kdy to neudÄlalo, kdyĹž jsem dal boot do jednouĹživatelskĂŠho reĹžimu.
fsck -y
sem dĂĄt musel, protoĹže to hĂĄzelo opravdu tuny chyb a jĂĄ sem pĹi tom zaÄĂnal tuĹĄit Ĺže s touhle instalacĂ se mĹŻĹžu rozlouÄit. Sice jsem zkusil nabootovat po tom co to opravilo vĹĄechny nesrovnalosti, ale potvrdili se moje nejhorĹĄĂ obavy: nedalo se ani pĹihlĂĄsit (psalo to Ĺže chybĂ nÄjakĂĄ dĹŻleĹžitĂĄ knihovna).
MÄl jsem strach, Ĺže v tom notebooku je ĹĄpatnĂ˝ disk a tak jsem se odhodlal otestovat zĂĄpisovĂ˝m testem ten disk. NaĹĄel jsem k tomu hezkĂ˝ nĂĄvod Testing your hard drive in Linux. Nabootoval jsem tedy z vĂ˝bornĂŠho hypermini CD (velikosti vizitky) distribuce BBC LNX a pouĹžil jsem tohle:
badblocks -b 4096 -p 3 -c 8000 -w -s /dev/hda1
POZOR! Tohle je destruktivnĂ test, kdy se na disk zapisuje a pak se z nÄho Äte a zjiĹĄĹĽuje se jestli je to to co se tam zapsalo. Jak jsem dospÄl k hodnotÄ parametru c? Inu pomocĂ free jsem si zjistil Ĺže mĂĄm volnĂ˝ch zhruba 70MB RAM, a vypoÄĂtal jsem to nĂĄsledovnÄ:
70M /( 2 * 4096 )
V podstatÄ je ŞådoucĂ aby to ÄĂslo bylo co nejvyĹĄĹĄĂ aby test trval co nejkratĹĄĂ dobu. Na tom mĂŠm notebooku to trvalo ĹĂĄdovÄ hodiny, s tĂm Ĺže ten test probÄhl celkem asi 12x.
No a pĹed chvĂlĂ jsem se pustil do instalace novĂŠho FreeBSD a napadlo mÄ, Ĺže si krok za krokem zaznamenĂĄm svĹŻj postup:
* boot 5.2.1-RELEASE-i386-miniinst.iso CD a pak vyndĂĄnĂ PCMCIA CD-ROM a mĂsto nĂ do dĂĄt wifi sĂĹĽovku (jen pĹipomĂnĂĄm, Ĺže mĂĄm jen jeden PCMCIA slot). FreeBSD kernel se s ztrĂĄtou jednoho ĹadiÄe a objevenĂ se onovĂŠ karty vyrovnĂĄ ĂşplnÄ ukĂĄzkovÄ – jen na druhĂŠ konzoly vypĂĹĄe informaci co se stalo a co je to za kartu) je potĹeba v Options na volbÄ Re-scan Devices stisknout mezernĂk, aby o novĂŠ kartÄ vÄdÄlo nejen jĂĄdro, ale i ten instalaÄnĂ program bÄĹžĂcĂ v userspace.
* Volba Expres setup a na celĂŠ prvnĂ polovinÄ disku vytvoĹit BSD slice (od 63 do 11791583 bloku) celkem 11791521 bloku velkou a typu 165 (obÄ ty volby mi samozĹejmÄ nabĂdlo protoĹže jsem na zaÄĂĄtku druhĂŠ poloviny disku mÄl jiĹž vytvoĹenou partition pro hibernaci typu 160 – thinkpad hibernation partition).
* Zvolil jsem u vĂ˝bÄru co s MBR volbu Standard (druhĂĄ v poĹadĂ) aby jen ÄistÄ bootoval BSD (na druhĂŠ pĹŻlce disku chci nainstalovat Äasem Gentoo a finĂĄlnÄ se bude o MBR starat lilo). PĹi prvnĂ instalaci jsem zvolil BootMgr (prvnĂ volbu) ale to mĂĄ za nĂĄsledek, Ĺže tem boot manager vĂĄm na zaÄĂĄtku nabĂdne boot ze vĹĄech primary partitions (takĹže je tam vidÄt i ta hibernaÄnĂ, ale bootovat z nĂ nejde).
* Tu pĹŻlku disku (tedy asi 6GB) sem rozdÄlil nĂĄsledovnÄ:
ad0s1a / 500M
ad0s1b swap 250M (mĂĄm 128MB RAM, ale 20 z toho zabere procesor pro sw emulaci i386)
ad0s1d /var 200M
ad0s1e /usr zbytek
* Zvolil jsem Minimal a v Custom pak jeĹĄtÄ man a info (kromÄ toho co uĹž bylo vybrĂĄno)
* NĂĄsledoval vĂ˝bÄr mĂŠdia. ProtoĹže jsem doma za firewallem (a nÄjak jsem se jeĹĄtÄ poĹĂĄd nedostal k tomu, abych na serveru rozbÄhal modul do jĂĄdra umoĹžĹujĂcĂ i pĹes to pouĹžĂvat aktivnĂ reĹžim ftp) zvolil jsem FTP passive. Z nabĂdnutĂ˝ch serverĹŻ jsem vybral ftp.cz.freebsd.org (3xPgDown) a jelikoĹž jsem udÄlal po vloĹženĂ karty ten Re-scan v Options, tak z nabĂdnutĂ˝ch interfacĹŻ vyberu wi0 (btw jako sĂĹĽovĂ˝ interface je tu i firewire – ĹĄkoda Ĺže nemĂĄm v nÄjakĂŠm poÄĂtaÄi druhĂ˝ takovĂ˝ port). Pak staÄilo donastavit jmĂŠno a domĂŠnu stroje a uĹž se to instalovalo.
* Po stĂĄhnutĂ a rozbalenĂ balĂkĹŻ (probĂhĂĄ automaticky) jsem dal rovnou reboot. NÄjak dlouho to vyselo na ĂşvodnĂ obrazovce (bios se zĹejmÄ se ztrĂĄtou ĹadiÄe nevyrovnal tak hladce jako freebsd) tak jsem to vypnul a znovu zapnul tlaÄĂtkem power. TeÄ uĹž nabÄhlo samotnĂŠ freebsd.
* PĹihlĂĄsil jsem se (pĹi prvotnĂm nastavenĂ systĂŠmu root nemusĂ zadat heslo) a hned jsem podle ÄlĂĄnku na rootu zmÄnil v /etc/login.conf hodnotu :passwd_format na blf. Podle autora ÄlĂĄnku je to nejsilnÄjĹĄĂ ĹĄifrovĂĄnĂ. Zbytek jsem nechal tak jak je a nastavil jsem heslo roota:
passwd root
* Nainstaloval jsem bash, openssh, screen, wget a cvsup-without-gui
pkg_add -r bash openssh screen cvsup-without-gui
* ZmÄnil jsem default shell roota na svĹŻj oblĂbenĂ˝ bash a pro jistotu taky smÄnil shell druhĂŠho roota s nĂĄzvem toor na /bin/csh (protoĹže bash je jako program externĂ nainstalovanĂ˝ v /usr/local/bin/ tak aby se alespoĹ jeden root mohl pĹihlĂĄsit kdyby se z nÄjakĂŠho dĹŻvodu nenamountil svazek /usr)
pw user mod root -s /usr/local/bin/bash
pw user mod toor -s /bin/csh
passwd toor
* PĹidal jsem obyÄejnĂŠho uĹživatele nax patĹĂcĂho do skupiny wheel (protoĹže jen uĹživatelĂŠ z tĂŠto skupiny mohou udÄlat su – a tĂm se povýťit na roota). StaÄĂ adduser a pak se vĂĄs to postupnÄ zeptĂĄ na vĹĄe potĹebnĂŠ.
* Do souboru /etc/rc.conf jsem pĹidal ĹĂĄdky:
sshd_program=“/usr/local/sbin/sshd“
sshd_enable=“YES“
a pustil /etc/rc.d/sshd start
* Podle jiĹž jednou zmĂnÄnĂŠho ÄlĂĄnku na rootu jsem vytvoĹil vĹĄe potĹebnĂŠ na sledovĂĄnĂ zmÄn v konfiguraÄnĂch souborech:
# mkdir /etc/RCS
# ci /etc/rc.conf
/etc/RCS/rc.conf,v < -- /etc/rc.conf
enter description, terminated with single '.' or end of file:
NOTE: This is NOT the log message!
>> defaultni /etc/rc.conf s pridanymi vlastnostmi na start sshd
>> .
initial revision: 1.1
done
# co /etc/rc.conf
/etc/RCS/rc.conf,v –> /etc/rc.conf
revision 1.1
done
* UdÄlal jsem dalĹĄĂ Ăşpravy do rc.conf ale nejdĹĂv ho vytĂĄhnu ze sprĂĄvy RCS:
# co -l /etc/rc.conf
font8x14=“iso02-8×14″
font8x16=“iso02-8×16″
font8x8=“iso02-8×8″
nfs_server_enable=“NO“
sendmail_enable=“NO“
syslogd_enable=“YES“ # Run syslog daemon (or NO).
syslogd_flags=“-ss“ # Syslogd flags to not bind an inet socket
clear_tmp_enable=“YES“ # Clear /tmp at startup.
moused_enable=“YES“
a po zmÄnÄ tyto zase commitnou:
# ci /etc/rc.conf
KdyĹž bych chtÄl pak nÄkdy obnovit stav pĹed zmÄnou, tak napĂĹĄu:
# co -u /etc/rc.conf
* VytvoĹil jsem novĂ˝ soubor /etc/sysctl.conf s tĂmto obsahem:
hw.acpi.power_button_state=S5
hw.acpi.sleep_button_state=S4
hw.acpi.lid_switch_state=S4
hw.acpi.standby_state=S4
hw.acpi.suspend_state=S3
* Do souboru /etc/profile jsem si nastavil PS1 (aneb jak bude vypadat vĂ˝zva bashe (mĂĄm pravidlo, Ĺže na kaĹždĂŠm poÄĂtaÄi kterĂ˝ spravuji musĂ vypadat vĹždy vĂ˝zva shellu jinak – z bezpeÄnostnĂch dĹŻvodĹŻ: ono zahaltovat ĹĄpatnou maĹĄinu nenĂ vĹždy OK)
* Podle MadPenguin FreeBSD Install Guide jdu na kompilaci world:
# cp /usr/share/examples/etc/make.conf /etc/make.conf
# cp /usr/share/examples/cvsup/standard-supfile /usr
# cp /usr/share/examples/cvsup/ports-supfile /usr
# chmod u+w /etc/make.conf /usr/standard-supfile /usrrts-supfile
Pak jsem nastavil v souboru /etc/make.conf
CPUTYPE=i686
CFLAGS= -Wall -pipe -mpreferred-stack-boundary=2 -falign-functions=0 -falign-jumps=0 -falign-loops=0 -O2 -fomit-frame-pointer
Zhruba s tÄmahle CFLAGS se totiĹž kompiluje linuxovĂ˝ kernel, kdyĹž je zaĹĄkrtnutĂŠ aby byl optimalizovĂĄn pro procesor Transmeta Crusoe. No a vzhledem k tomu, Ĺže Linus Tornvalds, kterĂ˝ je otcem a hlavnĂm vĂ˝vojĂĄĹem jĂĄdra donedĂĄvna pracoval prĂĄvÄ pro Transmetu myslĂm, Ĺže nenĂ lepĹĄĂho mĂsta neĹž prĂĄvÄ tady pro zĂskĂĄnĂ optimĂĄlnĂho CFLAGS. Jen jsem musel odendat volby:
-msoft-float -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common
protoĹže zpĹŻsobovali pĂĄd u nÄkterĂ˝ch aplikacĂ z buildworld.
Napsat komentář
Pro přidávání komentářů se musíte nejdříve přihlásit.