Linux之kernal分析与启动20160610

说一下LINUX内核的分析与启动:

. 内核启动流程,据此配置内核(机器ID)

1.1 修改Makefile

1.2 选择默认配置 : make s3c2410_defconfig

1.3 make uImage

步骤1

UBOOT里:

set machid 16a   // smdk2440  mach-smdk2440.c

set machid 7CF   // mini2440  mach-mini2440.c

步骤2

archarmmach-s3c24xxmach-smdk2440.c

s3c24xx_init_clocks(16934400);

改为

s3c24xx_init_clocks(12000000);

步骤3

配置/编译: make s3c2410_defconfig make mini2440_defconfig

           make uImage

步骤4

uboot里:set bootargs console=ttySAC0,115200 .....

uboot的默认MACH ID

gd->bd->bi_arch_number = MACH_TYPE_SMDK2410;  // 193

如果s = getenv("machid");成功,则使用它

否则使用默认的

set machid 16a   // smdk2440  mach-smdk2440.c

set machid 7CF   // mini2440  mach-mini2440.c

nfs 32000000 192.168.1.123:/work/nfs_root/uImage_new

bootm 32000000

附笔者的学习笔记,字写的不好勿怪,将就看吧:

1.内核编译:

2.内核配置

3.Makefile分析:

4.内核启动流程分析:

原文地址:https://www.cnblogs.com/yuweifeng/p/5573893.html