内核的终极目的——启动应用程序
获得内核二进制文件
第一步:解压缩
tar xjf linux-2.6.22.6.tar.bz2
第二步:打补丁
cd linux-2.6.22.6
patch -p1 < ../linux-u2.6.22.6_jz2440.patch
第三步:配置
如果遇到“** No rule to make target 's3c2410_defconfig'. Stop.”这个问题,可以参考:make s3c2410_defconfig 停止_Tim的嵌入式之旅-CSDN博客
一般有三种方法
第一种:make menuconfig,然后一个一个配置;
make menuconfig
第二种:使用默认配置(arch/arm/configs),然后再改;
make s3c2410_defconfig
make menuconfig
第三种:使用板子厂家提供的配置文件
将厂家提供的文件复制进来,如厂家提供config_ok文件:
cp config_ok .config
make menuconfig
第四步:编译
【如果在共享文件中,需要将文件拷贝在别的地方再编译】
make uImage
烧写内核后查看版本
cat /proc/version
内核启动流程
解析uboot传过来的内核参数(机器ID、启动参数)
1)判断这个CPU、板子是否支持liunx内核
2)建立页表
3)使能MMU
4)跳转到start_kernel(内核第一个C函数)
start_kernel启动流程
需要先挂接跟文件系统,才能执行应用程序