2008年2月16日 星期六

Linux Kernel Source Code folder 描述

以下資料參考 Linux核心

並加上自己系統的資料


核心原始碼的系統

位置:

Linux


Ubuntu

/usr/src/linux


/usr/src/linux-headers-2.6.22-14/

(看來ubuntu並沒有在這邊有source code)

arch 該目錄下放著所有的與體系結構有關的核心程式碼 ----------------------------------- ls /usr/src/linux-headers-2.6.22-14 ----------------------------------- arch Documentation include Kbuild Makefile scripts usr block drivers init kernel mm security crypto fs ipc lib net sound

ls /usr/src/linux-headers-2.6.22-14/arch

alpha avr32 frv ia64 m68knommu powerpc sh sparc64 x86_64

arm blackfin h8300 m32r mips ppc sh64 um xtensa

arm26 cris i386 m68k parisc s390 sparc v850

ls /usr/src/linux-headers-2.6.22.14/arch/i386

boot Kconfig.debug mach-es7000 Makefile oprofile

crypto kernel mach-generic Makefile.cpu pci

Kconfig lib mach-visws math-emu power

Kconfig.cpu mach-default mach-voyager mm

ls /usr/src/linux-headers-2.6.22.14/arch/arm

boot mach-davinci mach-ixp23xx mach-realview Makefile

common mach-ebsa110 mach-ixp4xx mach-rpc mm

Kconfig mach-ep93xx mach-ks8695 mach-s3c2400 nwfpe

Kconfig.debug mach-footbridge mach-l7200 mach-s3c2410 oprofile

Kconfig-nommu mach-h720x mach-lh7a40x mach-s3c2412 plat-iop

kernel mach-imx mach-netx mach-s3c2440 plat-omap

lib mach-integrator mach-ns9xxx mach-s3c2442 plat-s3c24xx

mach-aaec2000 mach-iop13xx mach-omap1 mach-s3c2443 tools

mach-at91 mach-iop32x mach-omap2 mach-sa1100 vfp

mach-clps711x mach-iop33x mach-pnx4008 mach-shark

mach-clps7500 mach-ixp2000 mach-pxa mach-versatile

include 該目錄下放著系統構建所需的大多數include檔案。


init 該目錄中是核心的初始化程式碼。建議讀者閱讀核心程式碼從這開始。 ls /usr/src/linux-headers-2.6.22-14/init Kconfig Makefile mm 該目錄中含有所有的記憶體管理程式碼。 drivers 所有的的設備驅動程式的目錄。

ls /usr/src/linux-headers-2.6.22-14/srivers

acorn char firewire Kconfig misc ps3 tc

acpi clocksource firmware kvm mmc rapidio telephony

amba connector hid leds mtd rtc usb

ata cpufreq hwmon macintosh net s390 video

atm crypto i2c Makefile nubus sbus w1

auxdisplay dio ide mca parisc scsi zorro

base dma ieee1394 md parport serial

block edac infiniband media pci sh

bluetooth eisa input message pcmcia sn

cdrom fc4 isdn mfd pnp spi


ipc 該目錄含有核心的程序間通信程式碼。 fs 檔案系統程式碼。 ls /usr/src/linux-headers-26.22-14/fs 9p coda ext2 hostfs Kconfig nfsd reiserfs adfs configfs ext3 hpfs Kconfig.binfmt nls romfs affs cramfs ext4 hppfs lockd ntfs smbfs afs debugfs fat hugetlbfs Makefile ocfs2 sysfs autofs devpts freevxfs isofs minix openpromfs sysv autofs4 dlm fuse jbd msdos partitions udf befs ecryptfs gfs2 jbd2 ncpfs proc ufs bfs efs hfs jffs2 nfs qnx4 vfat cifs exportfs hfsplus jfs nfs_common ramfs xfs kernel 主要的核心程式碼。與硬體相關的部份在arch/*/kernel中。 net 關於網路的程式碼。 ls /usr/src/linux-headers-26.22-14/net 802 bridge ieee80211 Kconfig netfilter rose unix 8021q core ipv4 key netlabel rxrpc wanrouter appletalk dccp ipv6 lapb netlink sched wireless atm decnet ipx llc netrom sctp x25 ax25 econet irda mac80211 packet sunrpc xfrm bluetooth ethernet iucv Makefile rfkill tipc


lib 該目錄含有核心的函式庫程式碼。與硬體相關的部份在arch/*/lib中。 根據作者的建議 可以先從系統初始化的部份開始閱讀 => 記憶體管理 => 核心 ...

系統初啟和初始化
對於基於Intel的系統,當loadlin.exe或LILO將核心裝載進入記憶體中並將控制交給核心時,
核心進入開始階段。請閱讀 arch/i386/kernel/head.S關於上述過程。Head.S做一些與體系結構
相關的設置工作,然後跳轉到init/main.c中的main()函數

透過Facebook分享

沒有留言: