Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Setup and Compile Linux Kernel Speaker: Yi-Ji Jheng Date: 2007.10.31.

Similar presentations


Presentation on theme: "1 Setup and Compile Linux Kernel Speaker: Yi-Ji Jheng Date: 2007.10.31."— Presentation transcript:

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


Download ppt "1 Setup and Compile Linux Kernel Speaker: Yi-Ji Jheng Date: 2007.10.31."

Similar presentations


Ads by Google