/var/log/dmesg´Â ºÎÆÃÇÏ´Â µ¿¾È Ä¿³ÎÀÇ ±â·ÏÀ» ³²°Ü ³õÀº ÆÄÀÏÀÌ´Ù. ÀÌ ÆÄÀÏÀÇ Ãâ·ÂÀ» ±¸ºÐÁö¾î ¾î´À ´Ü°è¿¡¼ ¾î¶² ¸Þ½ÃÁö°¡ Ãâ·ÂµÇ´ÂÁö º¸ÀÚ.
´Ü°è¸¦ ±¸ºÐÁö¾î ³õÀ¸¸é start_kernel()À» ºÐ¼®Çϴµ¥ ¸¹Àº µµ¿òÀÌ µÉ °ÍÀ̰í Ä¿³Î ºÎÆÃ Áß¿¡ ¿¡·¯°¡ ³µ´Ù¸é ¾î´À ´Ü°è¿¡¼ ¿¡·¯ ³µ´ÂÁö ¹üÀ§¸¦ Á¼È÷°í ã¾Æ³»´Âµ¥ ¸¹Àº µµ¿òÀÌ µÉ °ÍÀÌ´Ù.
(1) Linux version 2.4.16 (root@halite) (gcc version 2.95.3 20010315 (release)) #22 2002. 02. 27. (¼ö) 13:30:14 KST (2) BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 000000000009fc00 (usable) BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved) BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 000000001ffec000 (usable) BIOS-e820: 000000001ffec000 - 000000001ffef000 (ACPI data) BIOS-e820: 000000001ffef000 - 000000001ffff000 (reserved) BIOS-e820: 000000001ffff000 - 0000000020000000 (ACPI NVS) BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved) (3) On node 0 totalpages: 131052 zone(0): 4096 pages. zone(1): 126956 pages. zone(2): 0 pages. (4) Local APIC disabled by BIOS -- reenabling. Found and enabled local APIC! (5) Kernel command line: BOOT_IMAGE=linux ro root=301 mem=nopentium hdd=ide-scsi ide_setup: hdd=ide-scsi (6) Initializing CPU#0 (7) Detected 1009.016 MHz processor. (8) Console: colour VGA+ 132x43 (9) Calibrating delay loop... 2011.95 BogoMIPS (10) Memory: 512920k/524208k available (1213k kernel code, 10900k reserved, 482k data, 228k init, 0k highmem) Checking if this processor honours the WP bit even in supervisor mode... Ok. (11) Dentry-cache hash table entries: 65536 (order: 7, 524288 bytes) (12) Inode-cache hash table entries: 32768 (order: 6, 262144 bytes) (13) Mount-cache hash table entries: 8192 (order: 4, 65536 bytes) (14) Buffer-cache hash table entries: 32768 (order: 5, 131072 bytes) (15) Page-cache hash table entries: 131072 (order: 7, 524288 bytes) (16) CPU: Before vendor init, caps: 0183fbff c1c7fbff 00000000, vendor = 2 Intel machine check architecture supported. Intel machine check reporting enabled on CPU#0. CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line) CPU: L2 Cache: 256K (64 bytes/line) CPU: After vendor init, caps: 0183fbff c1c7fbff 00000000 00000000 CPU: After generic, caps: 0183fbff c1c7fbff 00000000 00000000 CPU: Common caps: 0183fbff c1c7fbff 00000000 00000000 CPU: AMD Athlon(tm) Processor stepping 02 Enabling fast FPU save and restore... done. Checking 'hlt' instruction... OK. (17) POSIX conformance testing by UNIFIX (18) enabled ExtINT on CPU#0 ESR value before enabling vector: 00000000 ESR value after enabling vector: 00000000 (19) Using local APIC timer interrupts. (20) calibrating APIC timer ... ..... CPU clock speed is 1009.0421 MHz. ..... host bus clock speed is 201.8084 MHz. (21) cpu: 0, clocks: 2018084, slice: 1009042 CPU0<T0:2018080,T1:1009024,D:14,S:1009042,C:2018084> (22) mtrr: v1.40 (20010327) Richard Gooch (rgooch@atnf.csiro.au) mtrr: detected mtrr type: Intel (23) PCI: PCI BIOS revision 2.10 entry at 0xf1180, last bus=1 (24) PCI: Using configuration type 1 (25) PCI: Probing PCI hardware (26) Unknown bridge resource 0: assuming transparent (27) PCI: Using IRQ router VIA [1106/0686] at 00:04.0 PCI: Found IRQ 10 for device 00:0b.0 PCI: Sharing IRQ 10 with 00:11.0 PCI: Found IRQ 5 for device 00:0d.0 PCI: Sharing IRQ 5 with 00:04.2 PCI: Sharing IRQ 5 with 00:04.3 PCI: Disabling Via external APIC routing (28) isapnp: Scanning for PnP cards... isapnp: No Plug & Play device found (29) Linux NET4.0 for Linux 2.4 Based upon Swansea University Computer Society NET3.039 (30) Initializing RT netlink socket (31) apm: BIOS version 1.2 Flags 0x03 (Driver version 1.15) (32) Starting kswapd JFS development version: $Name: $ (33) ACPI: APM is already active, exiting (34) pty: 256 Unix98 ptys configured (35) Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI ISAPNP enabled ttyS01 at 0x02f8 (irq = 3) is a 16550A (36) block: 128 slots per queue, batch=32 (37) Uniform Multi-Platform E-IDE driver Revision: 6.31 (38) ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx (39) VP_IDE: IDE controller on PCI bus 00 dev 21 VP_IDE: chipset revision 16 VP_IDE: not 100% native mode: will probe irqs later VP_IDE: VIA vt82c686a (rev 22) IDE UDMA66 controller on pci00:04.1 ide0: BM-DMA at 0xd800-0xd807, BIOS settings: hda:DMA, hdb:DMA ide1: BM-DMA at 0xd808-0xd80f, BIOS settings: hdc:DMA, hdd:DMA (40) PDC20265: IDE controller on PCI bus 00 dev 88 PCI: Found IRQ 10 for device 00:11.0 PCI: Sharing IRQ 10 with 00:0b.0 PDC20265: chipset revision 2 PDC20265: not 100% native mode: will probe irqs later ide2: BM-DMA at 0x8000-0x8007, BIOS settings: hde:DMA, hdf:DMA ide3: BM-DMA at 0x8008-0x800f, BIOS settings: hdg:DMA, hdh:pio (41) hda: Maxtor 4W080H6, ATA DISK drive hdb: IC35L040AVER07-0, ATA DISK drive hdc: QUANTUM FIREBALLlct15 20, ATA DISK drive hdd: LG CD-RW CED-8080B, ATAPI CD/DVD-ROM drive (42) ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 ide1 at 0x170-0x177,0x376 on irq 15 hda: 160086528 sectors (81964 MB) w/2048KiB Cache, CHS=9964/255/63, UDMA(33) hdb: 80418240 sectors (41174 MB) w/1916KiB Cache, CHS=5005/255/63, UDMA(33) hdc: 39876480 sectors (20417 MB) w/418KiB Cache, CHS=39560/16/63, UDMA(33) (43) Partition check: hda: hda1 hda2 hdb: hdb1 hdc: [PTBL] [2482/255/63] hdc1 hdc2 hdc3 (44) Floppy drive(s): fd0 is 1.44M FDC 0 is a post-1991 82077 (45) Linux agpgart interface v0.99 (c) Jeff Hartmann agpgart: Maximum main memory to use for agp memory: 439M agpgart: Detected Via Apollo Pro KT133 chipset agpgart: AGP aperture is 128M @ 0xe0000000 [drm] AGP 0.99 on VIA Apollo KT133 @ 0xe0000000 128MB [drm] Initialized mga 3.0.2 20010321 on minor 0 (46) Linux Kernel Card Services 3.1.22 options: [pci] [cardbus] [pm] (47) NET4: Linux TCP/IP 1.0 for NET4.0 IP Protocols: ICMP, UDP, TCP, IGMP IP: routing cache hash table of 4096 buckets, 32Kbytes TCP: Hash tables configured (established 32768 bind 32768) NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. (48) ds: no socket drivers loaded! (49) request_module[nls_EUC-KR]: Root fs not mounted Unable to load NLS charset EUC-KR (50) VFS: Mounted root (jfs filesystem) readonly. (51) Freeing unused kernel memory: 228k freed |
Ä¿³ÎÀÇ ÃʱâÈ µ¿¾È µî·ÏµÈ µå¶óÀ̹öµéÀÌ ÀÚµ¿À¸·Î ½ÇÇàµÇ°í ÃʱâÈ µÇµµ·Ï Çϴµ¥, Ä¿³ÎÀ» ¾î¶»°Ô ¼³Á¤Çϴ°¡¿¡ µû¶ó Ä¿³Î¿¡ Æ÷ÇԵǴ °ÍÀÌ ´Ù¸£¹Ç·Î ÀÏÀÏÈ÷ ±â·ÏÇÏ´Â ´ë½Å¿¡ ÀÚµ¿À¸·Î Ä¿³Î ÄÄÆÄÀÏÇÏ´Â µ¿¾È Æ÷ÇԵǵµ·Ï ÇÒ ¼ö ÀÖ´Ù. ÇÊ¿äÇÑ ¸ðµâ¿¡ __init¶õ ¼Ó¼ºÀ» »ç¿ëÇϰí module_init()¸¦ »ç¿ëÇØ ÀÌ·± ÀÏÀÌ °¡´ÉÇϵµ·Ï ÇÑ´Ù.
module_init()´Â include/linux/init.h¿¡ ´ÙÀ½°ú °°ÀÌ Á¤ÀǵǾî ÀÖ´Ù.
#define module_init(x) __initcall(x); |
__initcall(x)´Â module·Î ÁöÁ¤µÆ´Â°¡ ¾Æ´Ñ°¡¿¡ µû¶ó Á¤Àǰ¡ ´Þ¶óÁö´Âµ¥ ¾îÂîµÆµç .initcall.init¶õ ¼½¼Ç¿¡ ¼ÓÇÏ°Ô µÈ´Ù. ¿©±â¿¡ ¼ÓÇϸé Ä¿³ÎÀÇ ¸µÅ· µ¿¾È ¸ð¾ÆÁø .initcall.init°¡ do_basic_setup() ȤÀº do_initcalls()¿¡ ÀÇÇØ ÀÚµ¿À¸·Î ºÒ·ÁÁö°Ô µÈ´Ù(vmlinux.lds¸¦ º¸¸é .initcall.init¸¦ ¸ð¾ÆÁÖ´Â ºÎºÐÀÌ ÀÖ´Ù).