打印
[工具和软件]

freescale LTIB使用总结1

[复制链接]
1615|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
powerful1|  楼主 | 2015-1-28 20:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 powerful1 于 2015-1-28 20:33 编辑



学习资料主要来自飞思卡尔的板子MPC8349E-mITXE板子的资料,主要参考了<readme>,写的不是很详细,而且后来发现中间还有部分错误,不过懒得再修改了。
板级支持包BSP的下载http://www.freescale.com/powerbsp搜索MPC8349E-mITXE,注册下载即可.
写在前面
        符号'##'后面语句均为注释
        需要做的操作命令以 '$' 或 '#'开头,且都位于一行的开始
        以下绝大部分操作是针对于我们的开发主机(PC),其他是针对于开发板(MPC8349itx)
        对于主机上的操作,所说目录路径是相对于/usr/local/mpc8349/mytest/来描述的
        开发主机的系统为redhat9,开发板通过串口1连接主机,终端工具为minicom
        在主机上使用的普通用户名为liuby,用户主目录为/home/liuby/
        符号'<<'和'>>'之间的内容表示随开发板自带的文件名


由于这是一个介绍ltib使用并涉及相关部分的文档,所以呢,首先来介绍一下ltib的安装
## 首先将linux_BSP光盘放入光驱,然后以root用户挂载
$ su - root                ## 切换身份到root用户,需要root用户密码
# mount /dev/cdrom /mnt/cdrom -o loop                        ## 挂载光驱
# cp -rf /mnt/cdrom/ltib-mpc8349e-mitx /home/liuby/        ## copy到liuby的主目录下
                                ## 上面两步没做测试,可能有误
                                ## 复制到主目录下的方式很多,比如ftp,nfs等                       
# umount /mnt/cdrom                ## 卸载光盘
# mkdir -m 777 /usr/local/mpc8349        ## 创建安装ltib的根目录
## 由于安装ltib需要是普通用户身份,但部分命令要超级用户权限才行,所以需要执行visudo增加用户liuby的权限,如下操作
# /usr/sbin/visudo                ## 此命令相对于vi打开了一个权限设置文件
                                ## 按i进入输入模式,在最后一行添加如下一行内容
liuby   ALL = NOPASSWD: /bin/rpm, /opt/freescale/ltib/usr/bin/rpm
                                ## 按ESC进入命令行模式,按:wq保存退出
$ exit                                 ## 退出root,回到普通用户身份liuby
$ cd /usr/local/mpc8349/                        ## 进入mpc8349目录,是因为默认安装到当前工作目录
$ /home/liuby/ltib-mpc8349e-mitx/install        ## 这个会有个提示询问你是否接受install
                                ## 输入'Y'接受install,回答'yes' 接受 EULA
                                ## 照上面操作,安装结束后的文件为/usr/local/mpc8349/ltib-mpc8349itx-20070221/
                                ## 此位置下的doc/*文档有各种说明
## 下面进行安装,首先是小文件系统形式
$ cp -a ltib-mpc8349itx-20070221   small         ## 这个只是复制,名字任意起的
$ cd small        ## 进入到small目录下
$ ./ltib --preconfig config/platform/mpc8349itx/defconfig-min-fs --batch        ## 开始build
                ## 此目录开始安装host支持包,第一次安装可能时间会长些,half an hour? maybe.
                ## 若发生错误,查看日志文件/usr/local/mpc8349/small/host_config.log
                ## 此编译的是小文件系统rootfs.ext2.gz.uboot,并在rootfs下产生文件系统
                ## 只编译了文件系统,没有内核镜像,没有uboot镜像
                ## rootfs作为NFS输出目录(NFS-exported),是目标板的根文件系统
                ## 此编译用的是uclibc的库
                ## 建立交叉编译环境,若想使用powerpc-linux-gcc自动补全功能,需# vi /etc/bashrc,在最后添加一句:export PATH=/opt/freescale/usr/local/gcc-3.4.3-uClibc-0.9.28-1/powerpc-linux/bin:$PATH,最后重启后,可用# echo $PATH来查看环境变量中是否有/opt/mtwk/usr/local/powerpc-linux/gcc-3.4.3-glibc-2.3.3/bin路径变量。
                ## 编译完毕会给出信息提示,然后继续完成下面的操作
$ cd ..                ## 回到/usr/local/mpc8349/目录下
## 下面进行安装,这次是大文件系统形式
$ cp -a ltib-mpc8349itx-20070221   large         ## 这个只是复制,名字任意起的
$ cd large        ## 进入large目录下
$ ./ltib        ## 开始了大文件系统的build
                ## 编译后的rootfs.ext2.gz.uboot会大很多,并产生rootfs下文件系统
                ## 此次编译了uboot,内核和文件系统镜像(难怪叫"the hard disk based file system")
                ## 编译后的u-boot,u-boot.bin,uImage(bootable_kernel),vmlinux,System.map,vsc7385_load.bin,linux.config在rootfs/boot/下
                ## 此次编译用的是glibc的库
                ## 调用的配置文件为config/platform/mpc8349itx/.config
                ## 等待吧,编译结束提示信息
## 注:其实以后随着对ltib的熟悉,就会发现完全没必要来做这舍生取义的事情。
## 注:文件夹ltib-mpc8349itx-20070221只是用来复制,我们没做任何操作,为何? 备份用的
## 注:当small或large下我们编译总是不成功时,备份的作用就来了,当然这是笨方法,新手嘛,值得原谅!
## 至此已经完成,下面是为了写这个文档而安装
$ cd /usr/local/mpc8349/        ## 进入未来工作目录的上一级
$ cp -a ltib-mpc8349itx-20070221   mytest         ## 未来的工作目录诞生了
$ ./ltib --preconfig config/platform/mpc8349itx/defconfig-min-fs --batch
                ## 这个跟上面完全一样,不做解释
                ## 编译完毕,我的准备工作就结束了
                ## 后面的大多数介绍操作都是在此目录下(/usr/local/mpc8349/mytest/)


下面略述一种简单有效的方法编译内核和文件系统,并顺便介绍ltib核心工作流程和思想,然后再部分详述。
需要修改内核或文件系统并编译时,一个比较简单的方法是利用自带的配置文件(eg:defconfig-min-fs),综述如下:
$ ./ltib --preconfig config/platform/mpc8349itx/defconfig-min-fs
## 此配置默认不编译bootloader: [ ] Build a boot loader
## 此配置文件默认编译时不能修改配置内核:(X) Dont build the Linux kernel
## 若想修改此配置:
        ## 若需要编译bootloader,请找到并选中 Build a boot loader
        ## 若要编译内核,请找到并选中 kernel (linux 2.6.13.4) ---> (X) linux 2.6.13.4 ;其内核的默认配置文件为nas_linux-2.6.13.4-mpc8349itx.config
        ## 若要修改内核的默认文件为其他,请找到 kernel config file,回车输入相应的配置文件名,其默认目录为config/platform/mpc8349itx/
        ## 若想在编译时并修改内核,请找到并选中 Configure the kernel
        ## 若想修改文件系统,添加或删除程序包,请进入 Package list ---> 并选中相应的包
        ## 若想修改busybox选项配置,请进入并选中 Package list --->   Configure busybox at build time
        ## 其他目标系统配置、目标镜像生成选项配置类似。
        ## (解释)Load an Alternate Configuration File选项是选则一个已有的配置文件来自动配置各个选项
        ## Save Configuration to an Alternate File选项是将当前的配置信息保存为一个命名的文件名(eg:defconfig.liuby.today804)
        ## 最后退出时会弹出对话框,选择Yes保存,默认保存到config/platform/mpc8349itx/,名字是上面的命名
        ## 开始编译
        ## 附注:同时生成的配置文件也会另存为 defconfig.dev(在config/platform/mpc8349itx/下),
        ## 再附注:defconfig.liuby.today804同样存在。
        ## 再再附注: 按键请看说明,主要包括上下左右键、空格、回车、搜索键(s)、ESC键。
        ## NB: 按ESC键要注意次数,多按容易前功尽弃!
## 上面的操作做完后开始编译,假如选择了编译时配置内核,会弹出内核的配置对话框,可用用上面类似的方法修改配置,以添加8021Q模块支持为例
        ## 添加8021Q: 进入 Networking ---> Networking support / Networking options ---> <*> 802.1Q VLAN Support (注:<M>是编译为模块的形式)
        ## 类似可以删除NTFS支持模块 < >NTFS file system support (注:以此为例是因为现在用不到NTFS)
        ## 检查是否支持NFS(注:写此是因为开发常用,不详写)
        ## 类似上面将内核配置信息保存为一个文件
        ## 内核开始编译
        ## 附注:生成的内核配置文件为 nas_linux-2.6.13.4-mpc8349itx.config.dev(在config/platform/mpc8349itx/下)
## 内核编译完成后,开始选择程序包的编译,如果选择了编译时配置busybox,会弹出 BusyBox Configuration 配置对话框,配置和上面一样,下面随便举一例:
        ## 如删除fdisk工具编译,进入Linux System Utilities,去除选项 [ ] fdisk
        ## 如添加mount工具的nfs选项支持,进入并选中 Linux System Utilities --->     Support mounting NFS file systems
        ## 类似上面将busybox配置信息保存为一个文件
        ## busybox开始编译
        ## 附注: busybox是linux常用命令工具集,可根据开发需要选择需要的命令工具
        ## 附注: 若不改文件名,生成的配置文件为busybox.config(在config/platform/mpc8349itx/下)
## 若是想向文件系统里添加自己写的应用程序,或shell脚本。需要将相应的文件copy到config/platform/mpc8349itx/merge/文件夹下,此文件夹下的文件在开发板上相当于位于根文件系统下面。若想将程序烧进开发板后,开发板上电能自动执行程序或脚本,可以修改config/platform/mpc8349itx/merge/etc/rc.d/rcS。注:此步操作需要在开始编译内核和文件系统之前做好。
        ## 以添加vlan配置模块vlan.ko,和添加vlan及配置脚本vlan_config.sh为例:
        ## 在config/platform/mpc8349itx/merge/下创建一个文件夹(eg: mypro);
        ## 将vlan.ko和vlan_config.sh添加到新建文件夹下config/platform/mpc8349itx/merge/mypro/下,配置好权限
        ## 在config/platform/mpc8349itx/merge/etc/rc.d/rcS最后添加运行脚本和程序的语句(后面详细介绍)


相关帖子

沙发
3113789518| | 2016-1-22 16:19 | 只看该作者
电子工程资料包10G,Easydatasheet,20份热门芯片中文Datasheet+名师视频+3000行源代码+36本高清电子书,还可在线元器件选型/比价/看库存,百度搜easydatasheet,选【E书包】栏目,即可查到

使用特权

评论回复
板凳
Bermanrep| | 2016-1-23 20:58 | 只看该作者
感觉Linux的东西确实多又复杂,不太好学

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

88

主题

430

帖子

4

粉丝