Chinaunix首页 | 论坛 | 博客
  • 博客访问: 147916
  • 博文数量: 35
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 305
  • 用 户 组: 普通用户
  • 注册时间: 2016-02-01 12:35
个人简介

不断超越自己,将更强大!

文章分类

全部博文(35)

文章存档

2022年(1)

2017年(5)

2016年(29)

我的朋友

分类: 嵌入式

2016-02-16 11:11:47

不断的归类,再重新走几遍,明白会更深入

主要解决的问题:
(1)BusyBox的选择
(2)交叉编译器的选择
(3)lib的问题,交叉编译器的库
(4)根文件系统初始化问题。

以上为主要的问题,
         再就是文件系统制作需要的几个主要的初始化文件,主要为文件系统挂载,初始化,开始的rcS,需要有执行的权限。

接下来,通过源码的阅读再进行一次移植,上次的全部归档,作为备用。

一:相关源码

(1)arm-2010q1-202-arm-none-linux-gnueabi.tar.bz2            交叉编译工具 gcc version 4.4.1 (Sourcery G++ Lite 2010q1-202)
(2)Bootstrap-V3.5.tar.bz2                        ATmel提供的一级Boot
(3)u-boot-2014.04.tar.bz2                        Uboot
(4)linux-2.6.39_OK.tar.bz2                        Linux Kernel
(5)busybox-1.13.0.tar.bz2                        制作根文件系统的工具包一
(6)e2fsprogs-1.42.13.tar.bz2                        PC端的制作UBI文件系统的打包工具:生成为mkfs.ubifs与ubinize
(7)lzo-2.03.tar.bz2                            UBI文件系统用到的库
(8)zlib-1.2.8.tar.bz2                            UBI文件系统用到的库
(9)mtd-utils.tar.bz2                            Uboot端烧写UBI用到的工具
(10)rootfs_ubi.tar.bz2                        制作的根文件系统:


把根文件系统打包,然后烧写入NandFlash即可。


二:烧写文件:

(1)at91sam9x5ek-nandflashboot-uboot-3.6.0.bin            BootStrap
(2)u-boot.bin                            Uboot
(3)uImage                            Linux内核文件:Linux 2.6.39
(4)ubi.img                            UBI根文件系统。


三:编译命令:

编译AT91SAM9X35ek AT91Bootstrap 3.6.0 的命令:

(1)make mrproper
(2)make at91sam9x5eknf_uboot_defconfig
(3)make ARCH=arm menuconfig
(4)make CROSS_COMPILE=arm-none-linux-gnueabi-

编译Uboot 2014.04的命令如下:
make distclean  
make at91sam9x5ek_nandflash_config            (这里采用bootstrap + uboot+kernel+rootfs全烧写在nandflash里,也就是nandflash启动。)
make CROSS_COMPILE=arm-none-linux-gnueabi-

编译Linux 2.6.39内核的命令如下:
make distclean
make ARCH=arm menuconfig
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- uImage(这是需要Uboot里的工具:mkimage)

编译BusyBox 1.13.0
修改Makefile文件,
CROSS_COMPILE = arm-none-linux-gnueabi-
ARCH = arm

make menuconfig(这里选择静态编译)
make
make install

然后在_install文件夹下,会生成根文件系统用到的相关命令集。



打包UBI根文件
首先需要获取PC端的两个工具:mkfs.ubifs    ubinize

mkfs.ubifs -r rootfs -m 2048 -e 126976 -c 1872 -o rootfs.img
ubinize -o ubi.img -m 2048 -p 128KiB -s 2048 ubinize.cfg

ubinize.cfg文件的内容如下:
[ubifs]
mode=ubi
image=rootfs.img
vol_id=0
vol_size=200MiB 
vol_type=dynamic
vol_name=rootfs
vol_flags=autoresize    

其他:
sam-ba_2.15.exe 烧写软件:Windows下的。
Jlink 烧写工具
SecureCRT.rar 串口监控工具,类似于超级终端

     后期将不断细化移植过程中的问题与经验总结并写出来,不断前进。化技术为应用。

阅读(2191) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~