物联网仓储系统(三)—环境搭建—内核移植

ARM 190浏览
一、项目环境介绍:
1、Ubuntu 12.04 发行版
2、GCC 交叉编译工具链(版本 4.5.1)
3、U-boot-2010.03
4、FS4412 开发板(ARM Cortex-A9 内核)
5、FS_11C14 开发板(ARM Cortex-M0 内核)
二、本节目的:
1、Linux 3.0 内核移植
2、根文件系统挂载
三、内核移植介绍:
内核即操作系统
为底层可编程部件提供服务,为上层应用程序提供执行环境
内核裁剪就是对功能进行裁剪,选取满足特定平台和需求的功能
不同的硬件平台对内核的要求,从一个平台到另一个平台需要对内核重新配置和编译
操作系统从一个平台过渡到另一个平台称为移植
Linux 内核主要的 5 个部分:进程调度、内存管理、虚拟文件系统、网络接口、进程通信
四、内核移植:
1、将源码 linux-3.0-fs4412_v3.tar.xz 复制到相应目录并解压
本项目文件均在: ~/Documents/WarehouseSystem
2、配置内核
执行命令:
vim Makefile
修改以下内容:
为:
编译内核:
make zImage
看到如下界面表示编译成功:
拷贝内核到 tftpboot:
cp ./arch/arm/boot/zImage /tftpboot
五、根文件系统挂载:
将根文件系统 rootfs.tar.xz 复制到 /source 下并解压
六、EMMC 加载内核,网络挂载根文件系统:
1、设置开发板启动参数:
setenv ipaddr 192.168.1.5
setenv serverip 192.168.1.155
setenv bootcmd movi read kernel 40008000;bootm 40008000
setenv bootargs root=/dev/nfs nfsroot=192.168.1.155:/source/rootfs ip=192.168.1.5:192.168.1.155::255.255.255.0::eth0::off console=ttySAC2,115200 init=/linuxrc rw
saveenv
2、烧写内核到 EMMC:
tftp 40008000 zImage
movi write kernel 40008000
3、重启开发板,u-boot 自动加载,执行内核,内核移植完成