飞凌OK210学习笔记

2016.04

一 linux 内核配置与编译

将光盘提供的内核文件解压,进入linux内核文件总目录

清除:

执行make distclean

配置:

cp foxlin210 .config(官方提供好的config文件)

执行make menuconfig (需要先安装nurse-dev)

ls -a查看隐藏文件.config

编译:

make zImage开始编译,时间5-10min

编译好的uImage在/linux_x.x.x/arch/arm/boot中

注:使用内核文件需要借助uboot,可以自动烧录也可以用cmdline加载


二 Uboot的配置与编译

主要就是

1 make distclean

2 make xx_config

3 make              

最后生成uboot.bin文件


三 文件系统的配置与编译

这一章跟第一章的联系更为紧密一些,编译出来的kernel uImage不能直接进行运行,需要我们再创立一个rootfs。

主要步骤有两步:1,创立目录2,安装配置各个目录的内容

这里介绍initramfs和NFS

这两个区别在于initramfs是将文件系统集成在kernel中,如果需要在文件系统中添加某些文件,需要进行内核的重新编译;

而NFS一般在开发阶段使用,可以使得开发板上的内核和文件系统使用主机端的文件和系统;

主要步骤:

---------根文件系统制作---------

1.创建目录

mkdir rootfs

cd rootfs

mkdir bin dev etc...

mkdir usr/bin usr/lib.....

2.创建设备文件

cd dev/

mknod -m 666 console c 5 1

mk node -m 666 null c 1 3

cd ..

3.安装/etc配置文件,这里直接使用x86系统的解压包

tar etc.tar.gz -C /xxx/rootfs

4.编译内核模块

makie module ARCH=arm CROSS_COMPILE=arm-linux-

5.安装内核模块(存在/rootfs/lib/kernel/modules/driver/char)

make modules_install ARCH=arm INSTAL_MOD_PATH=/xxx/rootfs

6.配置busybox

cd busybox-1.17.2

make menuconfig

----------------build option:build busybox as a static 

----------------------------------cross compiler prefix-》arm-linux-

-------------install option:填写rootfs的路径

7.编译安装busybox

make ARCH=arm CROSS_COMPILE=arm-linux-

make install

结束后在rootfs/bin/中检查可以发现多了许多命令

---------文件系统制作---------

配置内核:make menuconfig ARCH=arm

打开Initial RAM file system and RAM disk support

或者(NFS):Network File System:1client system support 2root NFS

进入根文件系统进行软连接

ln -S ./bin/busybox init (ln -s P1 P2  软链接, P2指向P1)

最后重新编译内核make uImage ARCH=arm CROSS_COMPILE=arm-linux-


四 内存管理

32位:二级映射 pgd(目录表,10位)->pte(页表,10位),pte中的每个页有12位,4K数据.

64位:

1、硬件查表不会去“执行”代码,32位系统中就是cr3找pgd,然后找pte
2、“统一成四级映射”只是说内核去构造相应的分页表的时候而已。大概看了一下代码,好像是这样的:
    a, nopud的情况下(nopmd类似)分配pud是返回空的
    b, nopud的情况下获取pud实际返回的是pgd
    c, 综合上述情况,实际就是构造分页表的时候,首先分配pgd,然后分配pud(NULL),pgd指向null,然后分配pmd(NULL),pud(根据b返回的是pgd)指向pmd,然后pmd(返回的还是pgd)指向pte

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值