LTIB使用总结

来源:互联网 发布:4端口输入异或门表达式 编辑:程序博客网 时间:2024/05/18 11:23


这里附上LTIB使用总结,学习资料主要来自mpc8641dhpcn板子的资料,主要参考了<readme>,写的不是很详细板级支持包BSP的下载www.freescale.com/powerbsp搜索相应的板子型号, 注册下载即可. 写在前面
符号’##’后面语句均为注释 需要做的操作命令以’$或’#’开头,且都位于一行的开始 以下绝大部分操作是针对于我们的开发主机(PC),其他是针对于开发板(MPC8349itx) 。对于主机上的操作,所说目录路径是相对于/usr/local/mpc8349/mytest/来描述的。开发主机的系统为fedora14,开发板通过串口1连接主机,终端工具为minicom 。在主机上使用的普通用户名为liuby,用户主目录为/home/liuby/ 。符号’<<’和’>>’之间的内容表示随开发板自带的文件名 由于这是一个介绍ltib使用并涉及相关部分的文档,所以首先来介绍一下ltib的安装 ##首先将linux_BSP光盘放入光驱,然后以root用户挂载 。$su-root ## 切换身份到root用户,需要root用户密码 。#mount/dev/cdrom/mnt /cdrom-oloop ## 挂载光驱 #cp -rf /mnt/cdrom/ltib-mpc8349e-mitx /home/liuby/ ##copy 到liuby的主目录下 ## 上面两步没做测试,可能有误 #umount /mnt /cdrom ## 卸载光盘 #mkdir -m 777 /usr/local/mpc8349 ##创建安装ltib的根目录 ##由于安装ltib需要是普通用户身份,但部分命令要超级用户权限才行,所以需要执行isudo增加用户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,会弹出BusyBoxConfiguration配置对话框,配置和上面一样,下面随便举一例: ## 如删除fdisk工具编译,进入Linux System Utilities,去除选项 []fdisk ## 如添加mount工具的nfs选项支持,进入并选 中 Linux SystemUtilities--->[*]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最后添加运行脚本和程序的语句(后面详细介绍)