4. Ostali štosovi
4.1 Kompajliranje novog kernela
Evo pravog posla za okorjelog linksaša! Osobito ako imate kakav tvrdoglavi i neposlušni komadić očvrsja koji uporno odbija proraditi sa Sargeovim kernelom izabranim pri instalaciji. Za početak, pomoću Synaptic-a pogledajte pakete kernel-source-x.x.x , to vam je izvorni kod Linuxovih kernela. Imate i cijeli niz već gotovih, predefiniranih (paketi kernel-image-x.x.x), ali ne pokušavajte ih instalirati, jer ste još uvijek samo početnik i neznalica.
Nekad je kompajliranje kernela bilo nešto složenije. Ako baš želite stariji, pogledajte u KAKO za Woody ili Potato, jer ću se ovdje usredotočiti samo na 2.6.x inačice. Pozor, nemojte iznova kompajlirati Debianov 2.6.8 kernel. Prema uputama u ovom KAKO stavili ste ga kod instalacije i kao novak daleko ćete lakše zapeti (i čak možda zeznuti cijeli sustav kojeg ste dosad - nadam se - već prilično dobro podesili) s njim, nego s nekim novijim.
Dakle, hodite na Kernel.org ili malo bliže ftp.linux.hr i skinite najnoviju linux-*.tar.bz2 datoteku (naravno, umjesto zvjezidice inačica). Manje su nego .tar.gz , ali ne skidajte one koje u sredini imaju neparni broj (npr. 2.5.x ), te su valjda razvojne i nestabilne. Ne dopustite da vas uplaši što su velike po 35 i više Mb. Brigu ostavite za početak mjeseca kad vam stigne telefonski račun :-)
Pretpostavimo da ste novi kernel skinuli u svoj /root direktorij. Prvo ga premjestite u direktorij /usr/src , recimo ovako:
mv /root/linux*tar.bz2 /usr/src/linux*tar.bz2
...potom hodite tamo, otpakirajte ga i na direktorij u kojem se bude pojavio načinite simboličku poveznicu linux . Ne pitajte ništa, samo radite:cd /usr/src
bunzip2 -d linux*tar.bz2
tar -xvvf linux*tar
ln -s linux-2.6.x linux
Naravno, u zadnjem redu namjesto x... skužili ste. Koji davež, a? A mogli ste sve to lijepo i bez silnog tipkanja s Gnome-commander-om ili TkDesk-om :-) Postavite se u direktorij /usr/src/linux i napišite:
make xconfig
...i pojavljuje se... ne pojavljuje se, kaže ne može naći QT instalaciju. Kvragu, ni make gconfig ne radi, buni se da nema ni GTK+, što god to bilo. Vjerovali ili ne, iz prve ne šljaka čak ni make menuconfig . Čovjek bi pomislio da je kompajliranje kernela neka teška konspiracija, misterija i frka!? :-) No dobro, za QT vam treba paket libqt3-dev (i cijelo čudo drugih), a za GTK+ paketi libglade2-dev i libgtk2.0-dev. Na kraju, ako baš predano ljubite tekstualne štosove, menuconfig će proraditi nakon instalacije paketa libncurses5-dev .
U ovome slučaju KDE sučelje je uvjerljivo najkvalitetnije, točka. Otvara se lijepi prozor, a mnoštvo mogućnosti s lijeve strane jedva čeka da ih kliknete. Međutim, tek započinju pravi problemi, jer sada morate znati, kao prvo, zašto uopće kompajlirate novi kernel, i kao drugo, sve što imate u svome računalu. Koji chipset na matičnoj ploči, koji procesor, koju grafičku, zvučnu i mrežnu karticu, koji modem itd. Većina dodatnih uređaja ima svoje posebne zahtjeve. Niste mogli montirati Windows particiju? Možda vam nedostaje podrška za taj datotečni sustav. Nema zvuka? Možda nemate podršku za svoju zvučnu karticu!
Ako se ne varam, 2.6.x kerneli imaju preko tisuću opcija i sad, što odabrati? To vam nitko živ ne može sigurno reći bez neposrednog uvida. Kako što kliknete, u donjem prozorčiću pojavit će se opis za pomoć, ali često razumljiv samo programerima i osobama koje u napadima zlobe pišu one krasne i jednostavne man stranice zbog kojih je ovaj KAKO čisti gubitak vremena.
Cijeli niz mogućnosti već je ponuđen i označen, pa će se dogoditi da puno toga zapravo trebate izbaciti. Besmiseno je kompajlirati podršku uređajima koje nemate na računalu, zar ne? :-) No, dobro, još jednom ću se prihvatiti uzaludnog posla i pokušati popisati najosnovnije od onog što je meni trebalo na drugom računalu (uz dodatak ISDN-a koji više ne koristim):Loadable module support
Enable loadable module support / (sve osim Source checksum...) y
Power management options (ACPI, APM)
Power management support y
Bus options (PCI, PCMCIA...)
PCI support y
Executable file formats
Kernel support for ELF binaries y (ostalo m)
Parallel port support
Parallel port support m (paralelni pisač)
Parallel port support
Parallel port support
PC-style hardware m (paralelni pisač)
Plug and Play support
Plug and Play support y
Plug and Play support
Auto-probe for parallel devices m (paralelni pisač)
Block devices
Normal floppy disk support y
Block devices
Loopback device support m
ATA/ATAPI/MFM/RLL support
ATA/ATAPI/MFM/RLL support y
ATA/ATAPI/MFM/RLL support
Enhanced IDE/MFM/RLL/disk/cdrom/tape/floppy support y
ATA/ATAPI/MFM/RLL support
Enhanced IDE/MFM/RLL/disk/cdrom/tape/floppy support
Include IDE/ATA-2 DISK support y
ATA/ATAPI/MFM/RLL support
Enhanced IDE/MFM/RLL/disk/cdrom/tape/floppy support
Include IDE/ATAPI CDROM support y
ATA/ATAPI/MFM/RLL support
Enhanced IDE/MFM/RLL/disk/cdrom/tape/floppy support
SCSI emulation support m
ATA/ATAPI/MFM/RLL support
Enhanced IDE/MFM/RLL/disk/cdrom/tape/floppy support
generic/default IDE chipset support y
SCSI device support
SCSI device support y
SCSI device support
SCSI device support
SCSI disk support m
SCSI device support
SCSI device support
SCSI CDROM support m
SCSI device support
SCSI device support
SCSI generic support m
IEEE 1394 (FireWire) support
IEEE 1394 (FireWire) support m
Networking support
Networking options
TCP/IP networking y
Networking support
Networking options
Network device support
Dummy net driver support m
Networking support
Networking options
Network device support
Ethernet (10 or 100 Mbit) y (LAN i ADSL)
Networking support
Networking options
Network device support
Ethernet (10 or 100 Mbit)
EISA, VLB, PCI and on board controllers y (LAN i ADSL)
Networking support
Networking options
Network device
support
Ethernet (10 or 100 Mbit)
EISA, VLB, PCI and on board
controllers
SiS 900/7016 PCI Fast Ethernet
Adapter support m (LAN i ADSL)
ISDN subsystem
ISDN support m
ISDN subsystem
ISDN support
Old ISDN4Linux (obsolete) m (obsolete, vraga)
ISDN subsystem
ISDN support
Old ISDN4Linux (obsolete)
Support synchronous PPP y
ISDN subsystem
ISDN support
Old ISDN4Linux (obsolete)
Support generic MP (RFC 1717) y (channel
bundling)
ISDN subsystem
ISDN support
Old ISDN4Linux (obsolete)
Passive cards
HiSax Siemens ChipSet driver support m
ISDN subsystem
ISDN support
Old ISDN4Linux (obsolete)
Passive cards
HiSax Siemens ChipSet driver support
HiSax Support for Euro/DSS1 y
ISDN subsystem
ISDN support
Old ISDN4Linux (obsolete)
Passive cards
HiSax Siemens ChipSet driver support
HiSax Supported Cards / y (odaberite svoju ako je tamo, ako
nije, kockajte se i pokušajte s HFC karticama)
Input device support
Generic input layer
Mouse interface m
Input device support
Generic input layer
Mouse interface
Provide legacy /dev/psaux device y
Input device support
Generic input layer
Input device drivers
Keyboards
AT keyboard y
Input device support
Generic input layer
Input device drivers
Mouse y
Input device support
Generic input layer
Input device drivers
Mouse
PS/2 Mouse y
Input device support
Generic input layer
Input device drivers
Miscellaneous devices
PC speaker support m
Input device support
Serial I/O support
i8042 PC Keyboard controller y
Input device support
Serial I/O support
Serial port line discipline y
Character Devices
Virtual terminal y
Character Devices
Virtual terminal
Support for console on virtual terminal y
Character Devices
Unix98 PTY support y
Character Devices
Legacy (BSD) PTY support y
Character Devices
Parallel printer Support m (paralelni pisač)
Character Devices
/dev/agpgart (AGP support) y
Character Devices
/dev/agpgart (AGP support)
SiS chipset support y
Character Devices
/dev/agpgart (AGP support)
Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) y
Character Devices
/dev/agpgart (AGP support)
Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) m
Character Devices
Serial drivers
8250/16550 and compatible serial support y
Character Devices
Serial drivers
8250/16550 and compatible serial support
Extended 8250/16550 serial driver options y
Graphics support
Console display driver support
VGA text console y
Graphics support
Console display driver support
VGA text console
Video mode selection support y
Sound
Sound card support m
Sound
Advanced Linux Sound Architecture
Advanced Linux Sound Architecture m
Sound
Advanced Linux Sound Architecture
Advanced Linux Sound Architecture
Sequencer support m
Sound
Advanced Linux Sound Architecture
Advanced Linux Sound Architecture
Generic devices
Dummy /dev/null soundcard m
Sound
Advanced Linux Sound Architecture
Advanced Linux Sound Architecture
PCI devices
C-Media 8738, 8338 m
Sound
Advanced Linux Sound Architecture
Advanced Linux Sound Architecture
PCI devices
Intel/SiS/nVidia/AMD/Ali AC97 Controller m
USB Support
Support for Host-side USB y
USB Support
Support for Host-side USB
USB verbose debug messages y
(ovo uzrokuje masu USB poruka i brbljanja pri podizanju sustava)
USB Support
Support for Host-side USB
EHCI HCD (USB 2.0) support m
USB Support
Support for Host-side USB
OHCI HCD support m
USB Support
Support for Host-side USB
UHCI HCD support m
USB Support
Support for Host-side USB
USB printer support m
USB Support
Support for Host-side USB
USB Mass Storage
Support m (za USB flash memory štapiće)
USB Support
Support for Host-side USB
USB Mass Storage
Support
USB Mass Storage
verbose debug y
USB Support
Support for Host-side USB
USB Human Interface Device (full HID) support m
USB Support
Support for Host-side USB
USB Human Interface Device (full HID) support
HID input layer support y
USB Support
Support for Host-side USB
USB Human Interface Device (full HID) support
/dev/hiddev raw HID device support y
Filesystems
Second extended fs support y (i sve ostalo pod tim)
Filesystems
Ext3 journaling fs support y (i sve ostalo pod tim)
Filesystems
ROM file system support m
Filesystems
CD-ROM/DVD Filesystems
ISO 9660 CDROM file system support y
Filesystems
CD-ROM/DVD Filesystems
ISO 9660 CDROM file system support
Microsoft Joliet CDROM extensions y
Filesystems
CD-ROM/DVD Filesystems
ISO 9660 CDROM file system support
UDF file system support m
Filesystems
DOS/FAT/NT Filesystems
MSDOS fs support y
Filesystems
DOS/FAT/NT Filesystems
VFAT (Windows-95)fs support y
(možete staviti default codepage 852, a default iocharset iso8859-2)
Filesystems
DOS/FAT/NT Filesystems
NTFS filesystem support y
Filesystems
Pseudo Filesystems
/proc file system support y
Filesystems
Base native language Support
Codepage 437 m
Filesystems
Base native language Support
Codepage 852 m
Filesystems
Base native language Support
Windows CP1250 m
Filesystems
Base native language Support
NLS ISO 8859-1 m
Filesystems
Base native language Support
NLS ISO 8859-2 m
Filesystems
Base native language Support
NLS ISO UTF8 m
make bzImage
...pa ako sve prođe bez problema, tj. bez ispadanja uz poruku da vam nedostaje žmrlj.x.23 ili štogod (imate Synaptic), obavili ste dobar dio posla. Novi kernel naći ćete u direktoriju /usr/src/linux/arch/i386/boot , kao bzImage . Presnimite ga u direktorij /boot . Stari kernel (kod mene vmlinuz-2.6.8-2-k7) ne dirajte, možda će vam trebati. Novi kernel preimenujte u standardno vmlinuz-2.6.x . Načinite simbolički link, recimo novi-kernel u korijenskom direktoriju / na vaš novi kernel, ovako:
ln -s /boot/vmlinuz-2.6.x /novi-kernel
Nakon toga u isti taj direktorij /boot presnimite datoteku /usr/src/linux/System.map i preimenujte je u System.map-2.6.x , tako da odgovara inačici novog kernela. Slično učinite s datotekom /usr/src/linux/vmlinux , presnimite je u /boot i preimenujte u initrd.img-2.6.x . I na nju načinite simbolički link u korijenskom direktoriju, recimo novi-initrd , možda ovako:
ln -s /boot/initrd.img-2.6.x /novi-initrd
Ostaje vam još par koraka, svi iz terminala u /usr/src/linux :make modules
make modules_install
depmod -a 2.6.x
...ali pozor! Ako ste bili neposlušni i ipak iznova iskompajlirali isti kernel koji već imate na računalu, ne smijete zadati ove posljednje dvije naredbe prije no što uklonite direktorij sa starim modulima /lib/modules/inačica_starog_kernela . Možete ih sačuvati, sažeti u neku arhivu, a zatim obrisati direktorij. Isto tako, nikako ne valja kopirati novi kernel preko istoimenog starog, ako je stari kernel aktivan. Zapamtite, čak i ako ste jako pažljivi i dobro znate što radite, uvijek postoji mogućnost da se novi kernel odbije podići. Da to izbjegnete, jednostavno kompajlirajte različitu inačicu kernela, a staru ostavite u pričuvi, kako savjetujem.
Nakon što ste učinili sve opisano, ostaje vam podesiti lilo. U /etc/lilo.conf dodajte:
# 2.6.x
image=/novi-kernel
label=deb-novi
initrd=/novi-initrd
optional
...zatim spremite datoteku i opalite lilo -b /dev/fd0 (dižete ga s diskete, ne?). Ako ste sve učinili prema naputku, vidjet ćete kako lilo dodaje deb*, deb-novi i win, pa ponovo pokrenite sustav da doznate šljaka li novi kernel. U lilo boot izabirniku pojavit će vam se i deb-novi, pokušajte. Što ako odbije i zakoči se na pola? Tja, resetirajte stroj, dignite stari kernel, obrišite sve nove datoteke i ponovite, uzimajući u obzir gdje ili zašto se zakočio. Nešto će vam već napisati. Ili pokušajte s nekom drugom inačicom.
Još upozorenja: kažu da za kompajliranje 2.6.x kernela ne treba naredba depmod -a [inačica_kernela]. Ja sam je iz nekog razloga morao rabiti na svom drugom računalu, jer se u direktoriju /lib/modules/[novi_kernel]/ nisu pojavile datoteke modules.* . Dalje, ako vam se novi kernel uzme kočiti i paničariti oko nečeg što se zove init ili initrd , pokušajte s dodatnom naredbom:
mkinitrd -o /boot/initrd.img-2.6.x 2.6.x
...gdje naravno namjesto x stoji inačica kernela koji ste kompajlirali. To je bio slučaj s Gericom nakrilnikom. Upucajte me ako kužim zašto.Za početak, izaberite direktorij u kojem ćete kompajlirati. Većini omiljeni je /usr/src , ali možete otići bilo kamo, nije previše bitno. Koji god Linux program dobili, obično će biti u obliku kompresirane .tar ili .tar.gz datoteke s izvornim kodom. Osim, naravno, ako se radi o Slackware .tgz paketu, ali to je druga priča. Za Debian korisnika idealno je doći do odgovarajućeg .deb paketa, već pripremljenog za dpkg , ali nije loše ni ako se dobije Red Hat-ov .rpm, jer ga je relativno lako pretvoriti.
Dakle, imate sažetu datoteku s izvornim kodom. Presnimite je u
neki direktorij i otpakirajte. Najvjerojatnije će se pojaviti novi direktorij s imenom
i inačicom programa, hodite u njega i pronađite kakvu README ili
INSTALL
datoteku. U nekih 90% slučajeva u njoj će pisati da prvo morate pokrenuti
konfiguracijsku skriptu configure , koja će reći imate li na sustavu
sve što treba, a zatim make (kompajliranje), te na kraju
make
install (instalacija iskompajliranog). Djeluje prilično jednostavno,
zar ne? Aha, da, naravno, kako da ne... :-) Pogledajte tu 'jednostavnost' na jednom starom primjeru... :-)
Hmm... za video nema problema, imate Aplikacije / Multimedija / Alsa player. Neka vas ne zavara naslov, to je Xine...
4.5 Kako natjerati skener da radi
Ako ste programer, teško da čitate ovo - programeri su obično
osobe koje u slobodno vrijeme pišu one divne, dopadljive i svima na prvi pogled razmljive man
stranice zbog kojih ovaj KAKO nikome uopće ne treba.
Dakle niste programer, ali potrošili biste višak svoga
slobodnog vremena i zanima vas kako ta čuda barem izvana izgledaju. Okej.
Sa Sargeom ste dobili Visual Tcl (paket je visual-tcl, pokreće se s vtcl), pa se poslužite Synaptic-om
i instalirajte ga. Osim njega postoji i Borlandov Kylix,
besplatni Delphi za Linux. Bio je na BUG/Mrežinom
CD-u broj ... koji? Zaboravio sam :-( ...a inače ga se se moglo skinuti
odavde
(pozor, prilično je velik). Iako je sam program besplatan za privatnu uporabu, postupak dobijanja aktivacijske .txt datoteke preko Interneta
bio je živi pain in the ass zadnji put kad sam pokušao.
Sama instalacija
je jednostavna, otpakirate, imate INSTALL i README, pokrenete setup i to je sve.
x.y Dopuštenja na datotekama i simbolički linkovi
Ni u ludilu... :-)
6.2.8.1 Kako postati tajkun
6.2.8.1.3.4.5 Kako izbjeći zatvor
6.2.8.1.3.4.6 ...