1,解压内核源码
tar -xvf linux-3.0.8.tar.bz2
2,内核的编译步骤:
a,设置交叉工具链--目标文件运行在arm处理上, 修改Makefile
195 ARCH ?= arm
196 CROSS_COMPILE ?= arm-none-linux-gnueabi-
b,选择当前开发的soc:内核源码兼容性比较强:s3c2410, s3c6410, s5pv210
make s5pv210_defconfig // 原理: arch/arm/configs/s5pv210_defconfig ==》拷贝到当前目录: .config (控制源码编译)
c, 进一步选择内核模块(裁剪) //如果出现编译报错,需要安装'make menuconfig' requires the ncurses libraries.
//解决: sudo apt-get install libncurses5-dev
make menuconfig //产生一个图形界面,选择自己需要的东西
d, make zImage -j2 //编译内核. -j2表示双线程编译
最原始的内核是不能直接运行成功, 需要做移植:
D:\Linux驱动课程-fs210_1804\驱动参考代码和资料\1st_搭建环境\实验\系统环境搭建移植文档.doc
编译完成之后:自动生成
arch/arm/boot/zImage
3, 启动内核:
cp arch/arm/boot/zImage /tftpboot
uboot设置:
FS210 # set bootcmd tftp 0x40008000 zImage \; bootm 0x40008000
// bootcmd变量作用: uboot倒计时自动要做的事情
FS210 # save
4, 挂载根文件系统
D:\Linux驱动课程-fs210_1804\source\rootfs_fs210.tgz ==》 /opt
Ubuntu中配置
sudo tar -xvf rootfs_fs210.tgz ==> /opt/rootfs
配置nfs服务器:
sudo vim /etc/expo