Download presentation
Presentation is loading. Please wait.
Published byTracy Parker Modified over 8 years ago
1
1 Setup and Compile Linux Kernel Speaker: Yi-Ji Jheng Date: 2007.10.31
2
Outline Understand Linux Kernel Setup and Compile Linux Kernel Setup and Compile micro-Linux Kernel 2
3
UNDERSTAND LINUX KERNEL 3
4
Where is Kernel ? 4 Hardware Kernel Shell Hardware Kernel Shell, KDE, AP. User
5
What is Kernel ? Kernel (widely) Code Used by application Control hardware Hardware driver Modularization of driver Dynamic Static 5
6
Role of Kernel when boot (1/2) 1. Boot Turn on PC 2. Read BIOS Know boot device of sequence 3. Read MBR (Master Boot Record) on H.D. If the boot device is H.D. that we set 6
7
Role of Kernel when boot (2/2) 4. Execute the Boot Loader We use GRUB that is a kind of Boot Loader Load Kernel in main memory 5. Kernel work Decompress itself Know File System * Know File System Mount “/” and load modules Run Detect and drive hardware 6. Run first program - init 7
8
Why need to make kernel ? Stable Make system match your hardware New hardware support Other Embedded system 8
9
Get Linux Kernel http://www.kernel.org/ http://www.kernel.org/ 交大資科: ftp://linux.cis.nctu.edu.tw/kernel/ ftp://linux.cis.nctu.edu.tw/kernel/ 義守大學: http://ftp.isu.edu.tw/pub/Linux/kernel/ http://ftp.isu.edu.tw/pub/Linux/kernel/ 9
10
SETUP AND COMPILE LINUX KERNEL 10
11
Setup (1/2) #tar zxvf linux-2.4.25.tar.gz #cd./linux-2.4.25 #make mrproper Clean all of old *.o #cp /boot/config-2.4.20-8./.config Use default (Host Linux) setup to modify 11
12
Setup (2/2) #make menuconfig A text mode to select modules that we want Press “Y”, means to include in Kernel Press “M”, means to be modules Press “N”, means not to be modules and don’t include in Kernel 12
13
Modify SCSI setup SCSI support --> SCSI disk support --> SCSI low-level drivers BusLogic SCSI support ---> Save and quit 13
14
Make Kernel (1/2) #make dep Check dependency #make bzImage Make Kernel and compress to bzImage #make modules 14
15
Make Kernel (2/2) #make modules_install After install, modules would locate in /lib/modules/ #cp -a./arch/i386/boot/bzImage /boot/bzImage-2.4.25 Install Kernel by manual 15
16
Modify GRUB #vi /boot/grub/grub.conf title Red Hat Linux (2.4.25) root (hd0,0) kernel /bzImage-2.4.25 ro root=/dev/sda2 Save and quit 16
17
Reboot Reboot and select your new Kernel 17
18
SETUP AND COMPILE MICRO-LINUX KERNEL 18
19
Setup #cd./linux-2.4.25 #make clean #make menuconfig Disable all modules, unless mention below Tip : disable all modules first before you want to select 19
20
Processor type and features Processor type and features ---> (386) Processor family 20
21
General setup General setup ---> [*] Networking support [*] PCI support (Any) PCI access mode (ELF) Kernel core (/proc/kcore) format [*] Kernel support for ELF binaries 21
22
Networking options Networking options ---> [*] Packet socket [*] Unix domain sockets [*] TCP/IP networking [*] IP: multicasting 22
23
SCSI support SCSI support ---> [*] SCSI support [*] SCSI disk support [*] Probe all LUNson each SCSI device SCSI low-level drivers ---> [*] BusLogicSCSI support 23
24
Network device support Network device support ---> [*] Network device support Ethernet (10 or 100Mbit) ---> [*] Ethernet (10 or 100Mbit) [*] EISA, VLB, PCI and on board controllers [*] AMD PCnet32 PCI support 24
25
Character devices Character devices ---> [*] Virtual terminal [*] Support for console on virtual terminal [*] Standard/generic (8250/16550 and compatible UARTs) serial support 25
26
File systems File systems ---> [*] Ext3 journallingfile system support [*] /proc file system support [*] Second extended fssupport 26
27
Console drivers Console drivers ---> [*] VGA text console 27
28
Modify version of information #vi./include/linux/version.h #define UTS_RELEASE "2.4.25-min" 28
29
Make Kernel #make dep #make bzImage #cp -a./arch/i386/boot/bzImage /boot/bzImage-2.4.25-min 29
30
Modify GRUB #vi /boot/grub/grub.conf title Red Hat Linux (2.4.25-min) root (hd0,0) kernel /bzImage-2.4.25-min ro root=/dev/sda2 Save and quit 30
31
Reboot Reboot and select your new Kernel 31
32
REPLENISH 32
33
Kernel vs. File System If Kernel don’t know your File System Must make a Initrd (Initial RAM Disk) linuxrc that can let Kernel know File System of modules Kernel can know File System after it use Initrd to load module first 33
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.