Kompilasi kernel – step 1: Persiapan

software-kernel-hardware

Aspek menyenangkan menjadi seorang Linuxer tak lain ialah terbukanya kesempatan untuk melakukan kompilasi kernel. Sedikit OOT: istilah yang tepat untuk menyebut nama sistem operasinya sebenarnya “GNU/Linux”, menyebut “linux” atau pun “Linux” sebenarnya tak lain mengarah ke kernel sistem operasi itu sendiri. Jika misalnya saja, Anda memakai “Hurd” sebagai kernelnya, tentunya sebutan bagi sistem operasi menjadi “GNU/Hurd”๐Ÿ˜‰ Saya bukan orang fanatik pada hal-hal beginian, hanya demi memperjelas sesuatu yang sebenarnya telah jelas tapi kadang masih juga tampak kabur bagi orang-orang tertentu. *no offence*๐Ÿ˜‰

Jadi, saya akan menyebut lengkap “GNU/Linux” jika jari saya tak terlalu lelah atau tak terlanjur salah ketik; tapi saya TIDAK akan membetulkan ejaan “Linux” sebagai rujukan ke nama sistem operasi. Siapa pun saya percaya cukup pintar membedakan maksud kalimat –sebodoh apapun dia. Fakta bahwa Anda bisa-bisanya blogwalking dan nyasar ke tempat ini adalah bukti bahwa Anda pintar๐Ÿ˜‰

Apakah “kernel” itu? Tanyakan pada Google, apa artinya. Tetapi sekedar info, kalau menurut Wikipedia, kernel adalah:

In computing, the kernel is the central component of most computer operating systems (OSs). Its responsibilities include managing the system’s resources and the communication between hardware and software components.
dikutip dari Wikipedia.

kernel-shell-commandIstilah-istilah yang agak asing telah saya carikan apa definisi atau pengertiannya; silakan lihat ke “daftar istilah” di akhir artikel ini.

Sebelum dengan “gagah berani” login sebagai root dan melakukan kompilasi, sangat dianjurkan kepada siapa saja untuk belajar serba sedikit tentang kernel, tentu Linux (karena Windows dan sistem operasi lain pun punya kernel).

Dua buah gambar yang saat ini pula tentunya bisa Anda lihat ialah dua buah contoh gambaran posisi atau peran kernel, dan sekaligus mendeskripsikan definisinya.

Jangan khawatir jika sekarang belum faham apa itu “shell“, “commands” dan yang lainnya. Dipelajari sambil jalan… Kita kembali ke topik utama; karena Linux ini software yang source code-nya tersedia bebas, maka ia bisa kita kita kompilasi. Namun sebelumnya perlu beberapa persiapan tertentu. Apa saja?

Pertama tentu file atau “berkasnya”. Linux bebas diunduh (saya sebenarnya risih mamakai kata terjemahan ini) di kernel.org; ada banyak mirror, ini lokasi resminya. Unduh dulu lalu mekarkan. Oya, saya sarankan mulai langkah setelah memekarkan ini Anda ada di text mode. Mula-mula berpindah ke root dengan perintah “su”. Jika file terkompres dengan Bzip2 mekarkan dengan:

kazekage@sunagakure:~# ls /mnt/bank0/downloads/other_sources/kernel.org/
kernel-2.6.20-log       linux-2.6.22.1.tar.bz2   log-2.6.22.9.log
linux-2.6.18.tar.bz2    linux-2.6.22.9.tar.bz2   log-2.6.23.12.log
linux-2.6.19.1.tar.bz2  linux-2.6.23.12.tar.bz2  log-2.6.23.9.log
linux-2.6.19.tar.bz2    linux-2.6.23.9.tar.bz2   nohup.out
linux-2.6.20.tar.bz2    log-2.6.22.1.log
kazekage@sunagakure:~# cd /usr/src/
kazekage@sunagakure:/usr/src# tar xjf /mnt/bank0/downloads/other_sources/kernel.org/linux-2.6.23.12.tar.bz2
kazekage@sunagakure:/usr/src# ls
linux-2.6.22.9/  linux-2.6.23.12/  slackbuilds/
kazekage@sunagakure:/usr/src#

Jika ingin melihat proses dekompresi berlangsung, tambahkan opsi “v” pada perintah “tar”. Prosesnya berlangsung relatif lama; setelah itu terlihat direktori baru tercipta. Tapi jangan terburu ke sana. Lakukan information gathering dulu…๐Ÿ˜‰ Lakukan itu dengan memberikan perintah “lspci”. Contoh hasilnya sebagai berikut:

kazekage@sunagakure:/usr/src# lspci
00:00.0 Host bridge: VIA Technologies, Inc. CN700/VN800/P4M800CE/Pro Host Bridge
00:00.1 Host bridge: VIA Technologies, Inc. CN700/VN800/P4M800CE/Pro Host Bridge
00:00.2 Host bridge: VIA Technologies, Inc. CN700/VN800/P4M800CE/Pro Host Bridge
00:00.3 Host bridge: VIA Technologies, Inc. PT890 Host Bridge
00:00.4 Host bridge: VIA Technologies, Inc. CN700/VN800/P4M800CE/Pro Host Bridge
00:00.7 Host bridge: VIA Technologies, Inc. CN700/VN800/P4M800CE/Pro Host Bridge
00:01.0 PCI bridge: VIA Technologies, Inc. VT8237 PCI Bridge
00:0b.0 Ethernet controller: D-Link System Inc RTL8139 Ethernet (rev 10)
00:0f.0 IDE interface: VIA Technologies, Inc. VIA VT6420 SATA RAID Controller (rev 80)
00:0f.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06)
00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
00:10.3 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
00:10.4 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 86)
00:11.0 ISA bridge: VIA Technologies, Inc. VT8237 ISA bridge [KT600/K8T800/K8T890 South]
00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 60)
00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 78)
01:00.0 VGA compatible controller: VIA Technologies, Inc. UniChrome Pro IGP (rev 01)
kazekage@sunagakure:/usr/src#

Perhatikan, beberapa buah informasi mungkin telah Anda mengerti tanpa belajar sebelumnya sebab telah sangat jelas. Chipset VGA ternyata sebuah “Unichrome Pro IGP” dari VIA. Kita juga tahu ternyata ada dukungan USB 2.0 sekaligus backward support kepada USB 1.1 (hal yang umum). Untuk kartu jaringan, yang tersedia ialah sebuah “Rhine-II” (ini nama chipset NIC) dari VIA juga. Kemudian kartu suara juga dari VIA, chipset VT8233/A/8235/8237. Semuanya onboard. Dari mana saya tahu? Tentu dari melihatnya sendiri…:mrgreen:

Benar. Anda perlu (kadang kala) melihatnya sendiri; maksud saya “buka casing lalu melihatnya dengan mata kepala sendiri” (bukan mata orang lain). Jika perlu cabut komponennya (tentunya jika bukan onboard).

Ada NIC satu lagi, dengan chipset RTL8139 buatan D-Link. Yang satu ini tentunya bukan onboard (komponen onboard hampir pasti seragam dengan NorthBridge dan SouthBridge). Lalu masih ada lagi; yakni chipset yang bertugas menangani hard disk (dan ATAPI compatible devices lainnya) ialah “VT82C586A/B/VT82C686/A/B/VT823x/A/C”. Mungkin angka-angka dan semua istilah asing itu membuat kepala pening; tetapi itu penting (dan bagaimana pun juga, mereka bagian dari sistem yang membuat Anda bisa nonton VCD film favorit dengan nyaman).

Apakah hanya itu saja? Tidak juga; masih ada yang lain. Misalnya, menginvestigasi output dmesg. Jalankan perintah “dmesg”, filter output perintah itu dengan “less” lalu cermati… Kalau punya saya seperti ini:

kazekage@sunagakure:/usr/src# dmesg
Linux version 2.6.22.9-suna_rebuilt1 (kazekage@sunagakure) (gcc version 4.1.2) #2 Mon Oct 1 23:19:26 WIT 2007
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009f800 (usable)
BIOS-e820: 000000000009f800 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 000000001f7f0000 (usable)
BIOS-e820: 000000001f7f0000 - 000000001f7f3000 (ACPI NVS)
BIOS-e820: 000000001f7f3000 - 000000001f800000 (ACPI data)
BIOS-e820: 00000000fec00000 - 0000000100000000 (reserved)
503MB LOWMEM available.
found SMP MP-table at 000f35f0
Entering add_active_range(0, 0, 129008) 0 entries of 256 used
Zone PFN ranges:
  DMA             0 ->     4096
  Normal       4096 ->   129008
early_node_map[1] active PFN ranges
    0:        0 ->   129008
On node 0 totalpages: 129008
  DMA zone: 32 pages used for memmap
  DMA zone: 0 pages reserved
  DMA zone: 4064 pages, LIFO batch:0
  Normal zone: 975 pages used for memmap
  Normal zone: 123937 pages, LIFO batch:31
DMI not present or invalid.
Using APIC driver default
ACPI: RSDP 000F76F0, 0014 (r0 P4M80P)
ACPI: RSDT 1F7F3040, 002C (r1 P4M80P AWRDACPI 42302E31 AWRD        0)
ACPI: FACP 1F7F30C0, 0074 (r1 P4M80P AWRDACPI 42302E31 AWRD        0)
ACPI: DSDT 1F7F3180, 50FC (r1 P4M80P AWRDACPI     1000 MSFT  100000E)
ACPI: FACS 1F7F0000, 0040
ACPI: APIC 1F7F82C0, 0068 (r1 P4M80P AWRDACPI 42302E31 AWRD        0)
ACPI: PM-Timer IO Port: 0x408
ACPI: Local APIC address 0xfee00000
ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
Processor #0 15:2 APIC version 20
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] disabled)
ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0])
IOAPIC[0]: apic_id 2, version 3, address 0xfec00000, GSI 0-23
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
ACPI: IRQ0 used by override.
ACPI: IRQ2 used by override.
ACPI: IRQ9 used by override.
Enabling APIC mode:  Flat.  Using 1 I/O APICs
Using ACPI (MADT) for SMP configuration information
Allocating PCI resources starting at 20000000 (gap: 1f800000:df400000)
Built 1 zonelists.  Total pages: 128001
Kernel command line: vga=773 root=/dev/hda13 ro
mapped APIC to ffffd000 (fee00000)
mapped IOAPIC to ffffc000 (fec00000)
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Initializing CPU#0
PID hash table entries: 2048 (order: 11, 8192 bytes)
Detected 1792.829 MHz processor.
Console: colour dummy device 80x25
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 507692k/516032k available (1980k kernel code, 7844k reserved, 773k data, 208k init, 0k highmem)
virtual kernel memory layout:
    fixmap  : 0xfffb6000 - 0xfffff000   ( 292 kB)
    vmalloc : 0xe0000000 - 0xfffb4000   ( 511 MB)
    lowmem  : 0xc0000000 - 0xdf7f0000   ( 503 MB)
      .init : 0xc03b4000 - 0xc03e8000   ( 208 kB)
      .data : 0xc02ef341 - 0xc03b0744   ( 773 kB)
      .text : 0xc0100000 - 0xc02ef341   (1980 kB)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
Calibrating delay using timer specific routine.. 3590.16 BogoMIPS (lpj=7180325)
Security Framework v1.0.0 initialized
Mount-cache hash table entries: 512
CPU: After generic identify, caps: bfebfbff 00000000 00000000 00000000 00004400 00000000 00000000
CPU: Trace cache: 12K uops, L1 D cache: 8K
CPU: L2 cache: 128K
CPU: After all inits, caps: bfebfbff 00000000 00000000 0000b080 00004400 00000000 00000000
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU0: Intel P4/Xeon Extended MCE MSRs (12) available
Compat vDSO mapped to ffffe000.
CPU: Intel(R) Celeron(R) CPU 1.80GHz stepping 09
Checking 'hlt' instruction... OK.
ACPI: Core revision 20070126
ENABLING IO-APIC IRQs
..TIMER: vector=0x31 apic1=0 pin1=2 apic2=-1 pin2=-1
NET: Registered protocol family 16
ACPI: bus type pci registered
PCI: PCI BIOS revision 2.10 entry at 0xf9f40, last bus=1
PCI: Using configuration type 1
Setting up standard PCI resources
ACPI: Interpreter enabled
ACPI: Using IOAPIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (0000:00)
PCI: Probing PCI hardware (bus 00)
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 6 7 *10 11 12)
ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 6 7 10 *11 12)
ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 6 7 10 *11 12)
ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 6 7 10 11 12) *5
ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 6 7 10 11 12) *0, disabled.
ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 6 7 10 11 12) *0, disabled.
ACPI: PCI Interrupt Link [LNK0] (IRQs 3 4 6 7 10 11 12) *0, disabled.
ACPI: PCI Interrupt Link [LNK1] (IRQs 3 4 6 7 10 11 12) *0, disabled.
ACPI: PCI Interrupt Link [ALKA] (IRQs *20)
ACPI: PCI Interrupt Link [ALKB] (IRQs *21)
ACPI: PCI Interrupt Link [ALKC] (IRQs *22)
ACPI: PCI Interrupt Link [ALKD] (IRQs *23)
Linux Plug and Play Support v0.97 (c) Adam Belay
pnp: PnP ACPI init
ACPI: bus type pnp registered
pnp: PnP ACPI: found 13 devices
ACPI: ACPI bus type pnp unregistered
SCSI subsystem initialized
libata version 2.21 loaded.
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
PCI: Using ACPI for IRQ routing
PCI: If a device doesn't work, try "pci=routeirq".  If it helps, post a report
pnp: 00:00: iomem range 0xd0000-0xd3fff has been reserved
pnp: 00:00: iomem range 0xf0000-0xf7fff could not be reserved
pnp: 00:00: iomem range 0xf8000-0xfbfff could not be reserved
pnp: 00:00: iomem range 0xfc000-0xfffff could not be reserved
pnp: 00:02: ioport range 0x400-0x47f has been reserved
pnp: 00:02: ioport range 0x500-0x50f has been reserved
Time: tsc clocksource has been installed.
PCI: Bridge: 0000:00:01.0
  IO window: disabled.
  MEM window: fa000000-fbffffff
  PREFETCH window: f4000000-f7ffffff
PCI: Setting latency timer of device 0000:00:01.0 to 64
NET: Registered protocol family 2
IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
TCP established hash table entries: 16384 (order: 5, 131072 bytes)
TCP bind hash table entries: 16384 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 16384 bind 16384)
TCP reno registered
Machine check exception polling timer started.
audit: initializing netlink socket (disabled)
audit(1199628704.296:1): initialized
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
io scheduler noop registered
io scheduler deadline registered (default)
PCI: VIA PCI bridge detected. Disabling DAC.
PCI: Bypassing VIA 8237 APIC De-Assert Message
Boot video device is 0000:01:00.0
vesafb: framebuffer at 0xf4000000, mapped to 0xe0080000, using 1536k, total 8192k
vesafb: mode is 1024x768x8, linelength=1024, pages=9
vesafb: protected mode interface info at c000:a3d4
vesafb: pmi: set display start = c00ca422, set palette = c00ca493
vesafb: scrolling: redraw
vesafb: Pseudocolor: size=8:8:8:8, shift=0:0:0:0
Console: switching to colour frame buffer device 128x48
fb0: VESA VGA frame buffer device
input: Power Button (FF) as /class/input/input0
ACPI: Power Button (FF) [PWRF]
input: Power Button (CM) as /class/input/input1
ACPI: Power Button (CM) [PWRB]
input: Sleep Button (CM) as /class/input/input2
ACPI: Sleep Button (CM) [SLPB]
ACPI: Fan [FAN] (on)
ACPI: Thermal Zone [THRM] (40 C)
Real Time Clock Driver v1.12ac
Hangcheck: starting hangcheck timer 0.9.0 (tick is 180 seconds, margin is 60 seconds).
Hangcheck: Using get_cycles().
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
00:08: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
00:09: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
loop: module loaded
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
VP_IDE: IDE controller at PCI slot 0000:00:0f.1
ACPI: PCI Interrupt Link [ALKA] enabled at IRQ 20
ACPI: PCI Interrupt 0000:00:0f.1[A] -> Link [ALKA] -> GSI 20 (level, low) -> IRQ 16
VP_IDE: chipset revision 6
VP_IDE: not 100% native mode: will probe irqs later
VP_IDE: VIA vt8237 (rev 00) IDE UDMA133 controller on pci0000:00:0f.1
    ide0: BM-DMA at 0xcc00-0xcc07, BIOS settings: hda:DMA, hdb:DMA
    ide1: BM-DMA at 0xcc08-0xcc0f, BIOS settings: hdc:pio, hdd:pio
Probing IDE interface ide0...
Switched to high resolution mode on CPU 0
hda: ST3802110A, ATA DISK drive
hdb: LITE-ON CD-ROM LTN-5291S, ATAPI CD/DVD-ROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Probing IDE interface ide1...
Probing IDE interface ide1...
hda: max request size: 512KiB
hda: 156301488 sectors (80026 MB) w/2048KiB Cache, CHS=16383/255/63, UDMA(33)
hda: cache flushes supported
 hda: hda1 hda2 hda3 hda4 < hda5 hda6 hda7 hda8 hda9 hda10 hda11 hda12 hda13 >
usbmon: debugfs is not available
USB Universal Host Controller Interface driver v3.0
ACPI: PCI Interrupt Link [ALKB] enabled at IRQ 21
ACPI: PCI Interrupt 0000:00:10.0[A] -> Link [ALKB] -> GSI 21 (level, low) -> IRQ 17
uhci_hcd 0000:00:10.0: UHCI Host Controller
uhci_hcd 0000:00:10.0: new USB bus registered, assigned bus number 1
uhci_hcd 0000:00:10.0: irq 17, io base 0x0000d000
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
ACPI: PCI Interrupt 0000:00:10.1[A] -> Link [ALKB] -> GSI 21 (level, low) -> IRQ 17
uhci_hcd 0000:00:10.1: UHCI Host Controller
uhci_hcd 0000:00:10.1: new USB bus registered, assigned bus number 2
uhci_hcd 0000:00:10.1: irq 17, io base 0x0000d400
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected
ACPI: PCI Interrupt 0000:00:10.2[B] -> Link [ALKB] -> GSI 21 (level, low) -> IRQ 17
uhci_hcd 0000:00:10.2: UHCI Host Controller
uhci_hcd 0000:00:10.2: new USB bus registered, assigned bus number 3
uhci_hcd 0000:00:10.2: irq 17, io base 0x0000d800
usb usb3: configuration #1 chosen from 1 choice
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 2 ports detected
ACPI: PCI Interrupt 0000:00:10.3[B] -> Link [ALKB] -> GSI 21 (level, low) -> IRQ 17
uhci_hcd 0000:00:10.3: UHCI Host Controller
uhci_hcd 0000:00:10.3: new USB bus registered, assigned bus number 4
uhci_hcd 0000:00:10.3: irq 17, io base 0x0000dc00
usb usb4: configuration #1 chosen from 1 choice
hub 4-0:1.0: USB hub found
hub 4-0:1.0: 2 ports detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver libusual
PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:PS2M] at 0x60,0x64 irq 1,12
serio: i8042 KBD port at 0x60,0x64 irq 1
serio: i8042 AUX port at 0x60,0x64 irq 12
mice: PS/2 mouse device common for all mice
usbcore: registered new interface driver hiddev
usbcore: registered new interface driver usbhid
drivers/hid/usbhid/hid-core.c: v2.6:USB HID core driver
Advanced Linux Sound Architecture Driver Version 1.0.14 (Thu May 31 09:03:25 2007 UTC).
ALSA device list:
  No soundcards found.
Netfilter messages via NETLINK v0.30.
nf_conntrack version 0.5.0 (4031 buckets, 32248 max)
IPv4 over IPv4 tunneling driver
ip_tables: (C) 2000-2006 Netfilter Core Team
arp_tables: (C) 2002 David S. Miller
TCP cubic registered
Initializing XFRM netlink socket
NET: Registered protocol family 1
NET: Registered protocol family 17
Using IPI Shortcut mode
input: AT Translated Set 2 keyboard as /class/input/input3
ReiserFS: hda13: found reiserfs format "3.6" with standard journal
ReiserFS: hda13: using ordered data mode
ReiserFS: hda13: journal params: device hda13, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30
ReiserFS: hda13: checking transaction log (hda13)
ReiserFS: hda13: Using r5 hash to sort names
VFS: Mounted root (reiserfs filesystem) readonly.
Freeing unused kernel memory: 208k freed
Linux agpgart interface v0.102 (c) Dave Jones
agpgart: Detected VIA VT3314 chipset
agpgart: AGP aperture is 32M @ 0xf8000000
8139too Fast Ethernet driver 0.9.28
ACPI: PCI Interrupt 0000:00:0b.0[A] -> GSI 19 (level, low) -> IRQ 18
eth0: RealTek RTL8139 at 0xe005a000, 00:50:ba:cb:c0:17, IRQ 18
eth0:  Identified 8139 chip type 'RTL-8139C'
hdb: ATAPI 52X CD-ROM drive, 96kB Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.20
ACPI: PCI Interrupt Link [ALKC] enabled at IRQ 22
ACPI: PCI Interrupt 0000:00:11.5[C] -> Link [ALKC] -> GSI 22 (level, low) -> IRQ 19
PCI: Setting latency timer of device 0000:00:11.5 to 64
Adding 248996k swap on /dev/hda3.  Priority:-1 extents:1 across:248996k
input: PC Speaker as /class/input/input4
input: ImPS/2 Generic Wheel Mouse as /class/input/input5
parport_pc 00:0a: reported by Plug and Play ACPI
parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE]
lp0: using parport0 (interrupt-driven).
Capability LSM initialized
kjournald starting.  Commit interval 5 seconds
EXT3 FS on hda2, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting.  Commit interval 5 seconds
EXT3 FS on hda6, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting.  Commit interval 5 seconds
EXT3 FS on hda7, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting.  Commit interval 5 seconds
EXT3 FS on hda8, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
ReiserFS: hda9: found reiserfs format "3.6" with standard journal
ReiserFS: hda9: using ordered data mode
ReiserFS: hda9: journal params: device hda9, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30
ReiserFS: hda9: checking transaction log (hda9)
ReiserFS: hda9: Using r5 hash to sort names
ReiserFS: hda10: found reiserfs format "3.6" with standard journal
ReiserFS: hda10: using ordered data mode
ReiserFS: hda10: journal params: device hda10, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30
ReiserFS: hda10: checking transaction log (hda10)
ReiserFS: hda10: Using r5 hash to sort names
ReiserFS: hda11: found reiserfs format "3.6" with standard journal
ReiserFS: hda11: using ordered data mode
ReiserFS: hda11: journal params: device hda11, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30
ReiserFS: hda11: checking transaction log (hda11)
ReiserFS: hda11: Using r5 hash to sort names
ReiserFS: hda12: found reiserfs format "3.6" with standard journal
ReiserFS: hda12: using ordered data mode
ReiserFS: hda12: journal params: device hda12, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30
ReiserFS: hda12: checking transaction log (hda12)
ReiserFS: hda12: Using r5 hash to sort names
eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
kazekage@sunagakure:/usr/src#

Apa saja yang bisa diambil informasinya? Sangat banyak; misalnya tentang prosesor. Ternyata sebuah “Intel Celeron 1.8 GHz”. Bahkan besarnya L2 cache juga dilaporkan (yakni 128K). Berapa besar RAM? Oh, ternyata 503 MB (yah, saya tahu sebenarnya 512 MB). BIOS mendukung skema power management yang mana: ACPI atau APM? Ternyata mendukung ACPI (hal umum di board keluaran baru).

ACPI sendiri banyak fiturnya, yang saya sukai adalah “Power Button” (cari teks itu di output dmesg tadi). Enaknya adalah: pencet tombol power sekali dan sistem shutdown otomatis. Tak perlu login root dan “shutdown -h now” lagi:mrgreen:

Lalu ada pula baris diawali “vesafb”, ini “vesa framebuffer”. Sedikit yang saya ketahui ialah, saat booting ada gambar pinguin di sudut layar. Tanpa fitur ini, gambar itu tak bisa muncul. CMIIW.

Terlihat pula jenis hard disk, CDROM, berapa request maksimum yang bisa ditangani oleh hard disk itu, apakah hard disk mendukung cache flushing, layout partisi hard disk, jenis mouse, kartu AGP… Terlalu banyak untuk disebut, dan mungkin tak semua perlu difahami sekarang. Yaa, paling tidak, Anda kenal nama-namanya sekarang. Jangan lupakan buku manual motherboard๐Ÿ˜‰

Lalu, periksa lagi panel belakang, pertimbangkan port apa saja yang sering Anda pakai nantinya. Ada port pararel, tapi apa masih punya printer pararel di jaman sekarang? Port serial, misalnya juga ada; apa masih akan dipakai? Pertanyaan itu perlu dipertimbangkan (bukan cuma dijawab).

Mengapa? Tentunya sebagai bahan pengetahuan untuk memutuskan fitur mana saja yang Anda ingin masukkan “ke dalam” kernel, istilah lainnya ialah: built-in. Patut diketahui (jika belum tahu) bahwa sebuah fitur bisa dibangun menjadi satu dengan kernel, dan bisa pula terpisah. Arti jadi satu itu yaa… “menjadi satu file”; dan arti “terpisah” itu ya “di file yang lain”. Umumnya “file lain” itu disebut “file driver“, atau lebih populer lagi: “file modul kernel”. Tentu saja ADA hal-hal tertentu yang tak bisa dijadikan sebagai “modul”. Misalnya, dukungan terhadap chipset hard disk tempat partisi utama berada (ini logis, ya khan?). Yaa, sebenarnya “bisa”, tapi sistem Anda gagal boot ntar…:mrgreen:
Semakin banyak fitur yang menjadi satu dengan kernel, file kernel jadi makin besar; bukan cuma itu, konsumsi memori perlu diperhitungkan. Tentu boros khan… Ya, jadi kumpulkan informasi selengkap-lengkapnya, lalu buatlah analisa dan rencana.

Langkah berikutnya tentu saja: kompilasi!๐Ÿ˜€

Sampai jumpa di step 2: kompilasi kernel…๐Ÿ˜‰

Daftar istilah

  • Hurd:

    GNU Hurd (usually referred to as the Hurd) is a computer operating system kernel. It has been under development since 1990 by the GNU Project of… . Sumber:Wikipedia.

  • Linux:

    Linux (IPA pronunciation: /หˆlษชnสŠks/, lin-uks) is a Unix-like computer operating system family. Linux is one of the most prominent examples of free software and of open source development; its underlying source code is available for anyone to use, modify, and redistribute freely.
    Sumber:Wikipedia

  • GNU:

    GNU (pronounced /หˆgnuห/) is a computer operating system composed entirely of free software. Its name is a recursive acronym for GNU’s Not Unix, which was chosen because its design is Unix-like, but differs from Unix by being free software and by not containing any Unix code. …
    Sumber:Wikipedia

  • kernel:

    In computing, the kernel is the central component of most computer operating systems (OSs). Its responsibilities include managing the system’s resources and the communication between hardware and software components. …
    Sumber:Wikipedia

  • login:

    From ‘log in.’ (ie: sign into a log book, etc.) In variable senses, as a noun, verb and adjective. Refers to the process of signing on to a given computer system by typing in one’s user ID and password.
    Sumber:http://teladesign.com/ma-thesis/glossary.html

  • root:

    root is the account name of the system administrator. In order to run programs as root, simply open a Terminal window, then run: $ su - This will prompt you for the password of the root user of your system, and after that you will be able to system administration tasks that require special root …
    Sumber:www.winehq.com/site/docs/wineusr-guide/glossary

  • shell:

    In computing, a shell is a piece of software that provides an interface for users. Typically, the term refers to an operating system shell which provides access to the services of a kernel. …
    Sumber:Wikipedia

  • commands:

    A command is an instruction telling a computer to do something. The term can refer to either (1) the name of a program to launch or to (2) a more complex instruction that might contain multiple program names as well as options (ie, switches or flags that modify it in some pre-set way), arguments …
    Sumber:www.linfo.org/confusing_terminology.html

  • software:

    Software, consisting of programs, enables a computer to perform specific tasks, as opposed to the physical components of the system (hardware). …
    Sumber:Wikipedia

  • operating system:

    An operating system (OS) is a set of computer programs that manage the hardware and software resources of a computer. An operating system rationally processes electronic devices in response to approved commands. …
    Sumber:Wikipedia

  • mirror:

    A mirror in computing is a direct copy of a data set. On the Internet, a mirror site is an exact copy of another Internet site. …
    Sumber:Wikipedia

  • bzip2:

    bzip2 is a free software/open source data compression algorithm and program developed by Julian Seward. …
    Sumber:Wikipedia

  • chipset:

    1. A chipset is a group of integrated circuits (“chips”) that are designed to work together, and are usually marketed as a single product.In computing, the term chipset is commonly used to refer to the specialized motherboard chips on a computer or expansion card. … Sumber: Wikipedia.

    2. A group of microchips that actually control the flow of information on your computer. They are the controllers for the memory, cache, hard drive, keyboard, etc.. These groups of chips direct traffic along the bus and can allow devices to talk to each other without having to go through the CPU.
    Sumber:www.pccomputernotes.com/pcterms/glossaryc.htm.

    3. A term used to describe the northbridge and southbridge combination on the motherboard…
    Sumber:www.mcsx.co.uk/articles/glossary.php.

  • NIC:

    1. A expansion board you insert into a computer so the computer can be connected to a network. Most NICs are designed for a particular type of …
    Sumber:www.att.com/gen/general

    2. Abbreviation for Network Interface Card. Network cards connect to local area networks via ethernet cables or some other means of connectivity to bring computers together electronically.
    Sumber:www.pcstats.com/glossary.cfm

  • VGA:

    Video Graphics Adapter – the interface from your video card or integrated video connector and the system display monitor.
    Sumber:www.pcbargainhunter.com/computers/computer-glossary.html

  • USB:

    A Universal Serial Bus is an external bus with a maximum transfer speed of 12 megabits per second. It’s hot-swappable, which means that a device can be connected or disconnected while the computer is running. The Operating System can recognise and use the device as soon as its plugged in. …
    Sumber:www.pccomputernotes.com/pcterms/glossaryu.htm

  • VIA:

    VIA Technologies is a Taiwanese manufacturer of integrated circuits, mainly motherboard chipsets, CPUs, and memory, and is part of the Formosa Plastics…
    Sumber:Wikipedia

  • onboard:

    Metaphorically, the term on-board is often used to refer to some piece of technology that is integrated in a moving vehicle, for example: …
    Sumber:Wikipedia

  • D-Link:

    D-Link Corporation is a Taiwanese company that manufactures wireless and Ethernet computer networking products for both consumer and SOHO users. …
    Sumber:Wikipedia

  • hard disk:

    A hard disk (commonly known as a HDD (hard disk drive) or hard drive (HD) and formerly known as a fixed disk) is a non-volatile storage device which stores digitally encoded data on rapidly rotating platters with magnetic surfaces. …
    Sumber:Wikipedia

  • CDROM:

    CD-ROM (an abbreviation of “Compact Disc read-only memory”) is a Compact Disc that contains data accessible by a computer. While the Compact Disc format was originally designed for music storage and playback, the format was later adapted to hold any form of binary data. …
    Sumber:Wikipedia

  • ATAPI:

    1. (AT Attachment Packet Interface), also known as IDE or ATA, is a drive implementation that includes the disk controller on the device itself. It allows CD-ROMs and tape drives to be configured as master or slave devices, just like hard drives.
    Sumber:www.usbman.com/glossarycomputerterms.htm

    2. Advanced Technology Attachment Packet Interface A series of standards that enable mass stor-age devices other than hard drives to use the IDE/ATA controllers. Extremely popular with CD-ROM drives and removable media drives.
    Sumber:experienceintegrate.com/a.html

  • North bridge:

    1. That portion of the chip set hub that connects faster I/O buses (for example, AGP bus) to the system bus.
    Sumber:www.uen.org/lessonplan/upload/6948-2-10840-Repair2.doc

    2. north bridge typically will only work with one or two different southbridge ASICs; in this respect, it affects some of the other features that a given…
    Sumber:Wikipedia

  • South bridge:

    1. The northbridge would then be connected to the rest of the chipset via a slow bridge (the southbridge) located south of other system devices as drawn. …
    Sumber:Wikipedia.

    2. That portion of the chip set hub that connects slower I/O buses (for example, ISA bus) to the system bus.
    Sumber:www.uen.org/lessonplan/upload/6948-2-10840-Repair2.doc

  • ACPI:

    1. Advanced Configuration and Power Interface. An industry standard for power management of computers. This configuration is controlled through the bios and / or software settings.
    Sumber:www.wilsonselectronics.net/dictionary.htm

    2. The other important feature of ACPI is in bringing power management… ACPI uses its own ACPI Machine Language (or AML) for implementing power event…
    Sumber:Wikipedia

  • APM:

    1. Advanced Power Management (APM) is an API developed by Intel and… ACPI is intended as the successor to APM. Microsoft has dropped support for APM in…
    Sumber:Wikipedia

    2. Advanced Power Management. It describes a layered control system that controls PC devices to reduce power consumption using both BIOS and API interfaces.
    Sumber:www.computergate.com/glossary.cfm

  • AGP:

    1. Advanced Graphics Port. AGP is a high-speed point-to-point connection between the system chip set (northbridge) and the AGP graphics chip. The intent of AGP is to enhance the quality, frame rate, and interactivity of 3-D applications in a cost effective manner. …
    Sumber:www.c-3.com/Dict.cfm

    2. Accelerated Graphics Port. It is a bus slot, designed by Intel, that is used for graphics cards. PCI graphics ports typically run at 33 MHz and have a maximum transfer rate of 132 MB/sec. AGP ports, on the other hand, run at 66 MHz and can transfer data up to 528 MB/sec. …
    Sumber:mavidesign.com/glossary.html

    3. This led to the development of AGP, a “bus” dedicated to graphics adapters. … The original version supports same bandwidth as AGP 8x, while Ultra-AGPII…
    Sumber:Wikipedia

  • port:

    1. In computer hardware, a ‘port‘ serves as an interface between the computer and other computers or devices. Physically, a port is a specialized outlet on a…
    Sumber:Wikipedia

    2. An interface on a computer to which you can connect a device. In TCP/IP and UDP networks, an end point to a logical connection. For example, port 80 is used for HTTP traffic.
    Sumber:www.ask-edi.com/glossary.htm

    3. A place where information goes into or out of a computer.
    Sumber:support.alentus.com/glossary.aspx

  • printer:

    1. A computer printer, or more commonly a printer, produces a hard copy (permanent human-readable text and/or graphics) of documents stored in electronic form, …
    Sumber:Wikipedia

    2. A device that puts computer data onto paper.
    Sumber:www.micro2000uk.co.uk/hardware_glossary.htm

  • compile:

    1. This is the process of turning text-based code written by a computer programmer into the actual instructions used by a computer.
    Sumber:www.e-traffik.com/resource-center.html

    2. A compiler is a computer program (or set of programs) that translates text written in a computer language (the source language) into another computer language (the target language). The original sequence is usually called the source code and the output called object code. …
    Sumber:Wikipedia

Selesai ditulis setelah riset 9 jam lebih non stop… Cuappe’ dech…๐Ÿ˜•

11 responses to “Kompilasi kernel – step 1: Persiapan

  1. @Dobelden and Herr: Iya… kalo’ emang bukan bidangnya ya mesti terasa berat, tapi buat orang yg tiap malam kelonan ama komputer, yaa.. berat ga’ berat, susah atau mudah, musti dijalani… Lha gmn wong kerjaannya๐Ÿ˜€
    Mas Herr…, online ya๐Ÿ˜‰
    Kalo’ gatel, saatnya keramas loh mas:mrgreen:

  2. @Jepe: mbahmu iku…๐Ÿ˜ˆ
    Aq emang (masih) seorang guru. Tapi bukan guru yg baek; guru yg baek tentu ora kelonan ma komputer tiap malem: blogwalking, ngimel, chat, googling nyari kluwek… *eh, ngelantur*๐Ÿ˜
    Bukan berarti guru yg baek ditafsirkan “yg kelonan ma muridnya”๐Ÿ˜†
    *uwis ah, ngawur ngomongnya*:mrgreen:

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s