freescale LTIB使用总结转.docx

上传人:b****7 文档编号:10784218 上传时间:2023-02-22 格式:DOCX 页数:15 大小:26.29KB
下载 相关 举报
freescale LTIB使用总结转.docx_第1页
第1页 / 共15页
freescale LTIB使用总结转.docx_第2页
第2页 / 共15页
freescale LTIB使用总结转.docx_第3页
第3页 / 共15页
freescale LTIB使用总结转.docx_第4页
第4页 / 共15页
freescale LTIB使用总结转.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

freescale LTIB使用总结转.docx

《freescale LTIB使用总结转.docx》由会员分享,可在线阅读,更多相关《freescale LTIB使用总结转.docx(15页珍藏版)》请在冰豆网上搜索。

freescale LTIB使用总结转.docx

freescaleLTIB使用总结转

MPC837XERDB_20100107_ltib

freescaleLTIB使用总结(转)

这里附上很久以前写的LTIB使用总结,学习资料主要来自飞思卡尔的板子MPC8349E-mITXE板子的资料,主要参考了,写的不是很详细,而且后来发现中间还有部分错误,不过懒得再修改了。

 

板级支持包BSP的下载搜索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-oloop                       ##挂载光驱

#cp-rf/mnt/cdrom/ltib-mpc8349e-mitx /home/liuby/       ##copy到liuby的主目录下

##上面两步没做测试,可能有误

##复制到主目录下的方式很多,比如ftp,nfs等                       

#umount/mnt/cdrom               ##卸载光盘

#mkdir-m777/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        ##这个只是复制,名字任意起的

$cdsmall       ##进入到small目录下

$./ltib--preconfigconfig/platform/mpc8349itx/defconfig-min-fs--batch       ##开始build

##此目录开始安装host支持包,第一次安装可能时间会长些,halfanhour?

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        ##这个只是复制,名字任意起的

$cdlarge       ##进入large目录下

$./ltib       ##开始了大文件系统的build

##编译后的rootfs.ext2.gz.uboot会大很多,并产生rootfs下文件系统

##此次编译了uboot,内核和文件系统镜像(难怪叫"theharddiskbasedfilesystem")

##编译后的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--preconfigconfig/platform/mpc8349itx/defconfig-min-fs--batch

##这个跟上面完全一样,不做解释

##编译完毕,我的准备工作就结束了

##后面的大多数介绍操作都是在此目录下(/usr/local/mpc8349/mytest/)

下面略述一种简单有效的方法编译内核和文件系统,并顺便介绍ltib核心工作流程和思想,然后再部分详述。

需要修改内核或文件系统并编译时,一个比较简单的方法是利用自带的配置文件(eg:

defconfig-min-fs),综述如下:

$./ltib--preconfig config/platform/mpc8349itx/defconfig-min-fs

##此配置默认不编译bootloader:

[]Buildabootloader

##此配置文件默认编译时不能修改配置内核:

(X)DontbuildtheLinuxkernel

##若想修改此配置:

##若需要编译bootloader,请找到并选中[*]Buildabootloader

##若要编译内核,请找到并选中kernel(linux2.6.13.4) --->(X)linux2.6.13.4;其内核的默认配置文件为nas_linux-2.6.13.4-mpc8349itx.config

##若要修改内核的默认文件为其他,请找到kernelconfigfile,回车输入相应的配置文件名,其默认目录为config/platform/mpc8349itx/

##若想在编译时并修改内核,请找到并选中[*]Configurethekernel

##若想修改文件系统,添加或删除程序包,请进入Packagelist --->并选中相应的包

##若想修改busybox选项配置,请进入并选中Packagelist --->[*]  Configurebusyboxatbuildtime

##其他目标系统配置、目标镜像生成选项配置类似。

##(解释)LoadanAlternateConfigurationFile选项是选则一个已有的配置文件来自动配置各个选项

##SaveConfigurationtoanAlternateFile选项是将当前的配置信息保存为一个命名的文件名(eg:

defconfig.liuby.today804)

##最后退出时会弹出对话框,选择Yes保存,默认保存到config/platform/mpc8349itx/,名字是上面的命名

##开始编译

##附注:

同时生成的配置文件也会另存为defconfig.dev(在config/platform/mpc8349itx/下),

##再附注:

defconfig.liuby.today804同样存在。

##再再附注:

按键请看说明,主要包括上下左右键、空格、回车、搜索键(s)、ESC键。

##NB:

按ESC键要注意次数,多按容易前功尽弃!

##上面的操作做完后开始编译,假如选择了编译时配置内核,会弹出内核的配置对话框,可用用上面类似的方法修改配置,以添加8021Q模块支持为例

##添加8021Q:

进入Networking --->[*]Networkingsupport/Networkingoptions ---><*>802.1QVLANSupport(注:

是编译为模块的形式)

##类似可以删除NTFS支持模块<>NTFSfilesystemsupport(注:

以此为例是因为现在用不到NTFS)

##检查是否支持NFS(注:

写此是因为开发常用,不详写)

##类似上面将内核配置信息保存为一个文件

##内核开始编译

##附注:

生成的内核配置文件为nas_linux-2.6.13.4-mpc8349itx.config.dev(在config/platform/mpc8349itx/下)

##内核编译完成后,开始选择程序包的编译,如果选择了编译时配置busybox,会弹出BusyBoxConfiguration配置对话框,配置和上面一样,下面随便举一例:

##如删除fdisk工具编译,进入LinuxSystemUtilities,去除选项[]fdisk

##如添加mount工具的nfs选项支持,进入并选中LinuxSystemUtilities --->[*]    SupportmountingNFSfilesystems

##类似上面将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最后添加运行脚本和程序的语句(后面详细介绍)

上面已经对ltib编译流程及主要操作做了大致描述,下面分别描述内核修改配置以文件系统添加应用程序和脚本

在需要修改内核配置,比如为内核添加编译新的模块功能时,该如何完成,下面以将支持8021QVLAN协议的模块编译进我们需要的内核中为例来演示:

##首先按照前面所说的简单快捷的方式,执行命令:

$./ltib--preconfig config/platform/mpc8349itx/defconfig-min-fs

##defconfig-min-fs是安装ltib后的自带文件,并没做修改。

##在弹出的对话框中,通过上下键移动光标到ChooseyourKernel/ kernel(DontbuildtheLinuxkernel)回车进入内核选择对话框,移动光标按空格键选中我们需要的内核(X)linux2.6.13.4,内核配置文件暂不修改,使用默认的。

##为了能添加我们需要的8021Q支持模块,需要修改内核的配置,移动光标按空格键选中[*]Configurethekernel,这样在编译时可以修改其配置。

##移动光标到SaveConfigurationtoanAlternateFile,回车输入我们想将目前配置保存的文件名为defconfig-min-fs-modified任何回车。

##左右移动光标到最下面的Exit,弹出对话框询问是否保存配置文件,选择'Yes'

##ltib开始根据配置进行工作。

##很快又会弹出新的对话框LinuxKernelConfiguration

##下面需要修改内核配置,添加8021Q

##移动光标选中Networking --->回车弹出新的对话框,移动光标到[*]Networkingsupport下面一行Networkingoptions --->然后回车,又弹出对话框,向下移动光标,按空格两次选中<*>802.1QVLANSupport将其编译进我们需要的内核中。

##然后按两次ESC回到LinuxKernelConfiguration的主界面

##移动光标选中SaveConfigurationtoanAlternateFile回车输入当前配置的保存名字nas_linux-2.6.13.4-mpc8349itx.config-modified

##左右移动光标选中最下面的Exit,弹出对话框询问是否保存配置文件,选中'Yes'

##ltib调用当前的配置信息编译内核。

当我们写好了开发板上的应用程序,并且已经做好了各种测试,需要烧写到板子,达到上电时应用程序已经在板子上了,甚至是可以开机自动运行,该如何操作呢,下面讲述如何向开发板添加应用程序及需要的脚本。

以添加VLAN配置模块vlan.ko和添加VLAN编号并配置ip的脚本vlan_config.sh:

##首先需要明白config/platform/mpc8349itx/merge/下面的各种文件就是通过编译后成为开发板文件系统的一部分,并且此文件夹下的文件就相当于位于开发板的根目录下。

##在文件夹config/platform/mpc8349itx/merge/创建一个文件夹ourpro,再将我们之前编译的VLAN配置模块vlan.ko以及脚本vlan_config.sh添加到刚才创建的文件夹config/platform/mpc8349itx/merge/ourpro/下(用命令为mkdir,cp)

##在config/platform/mpc8349itx/merge/etc/rc.d/rcS最后添加如下几句(可用命令vi完成)       

+++++++++++下面为添加内容++++++++++++++

       if[$mode="start"]

        then

if[-x/ourpro/vlan_config.sh]

then

/ourpro/vlan_config.sh

fi

        fi

+++++++++++上面为添加内容++++++++++++++

##附:

vlan_config.sh脚本内容

++++++++++++下面为vlan_config.sh脚本内容++++++++++++++++

#!

/bin/sh

#Thisscriptisusedtoaddvlanconfigurationmodule

#andconfigeth1withvlan-idandtherelevantip.

#date:

WedAug 617:

00:

18CST2008

echo"Nowstarttoconfigvlan,pleasehavepatience.^_^"

echo"booteth1now"

ifconfigeth1up

sleep 3

       echo"insmod/ourpro/vlan.ko"

if[-f/ourpro/vlan.ko]

then

insmod/ourpro/vlan.ko

rmmod /ourpro/vlan.ko

usleep100000

echo"Configvlan-name(1:

6)ipaddr&netmask"

forxin123456

do

vconfigaddeth1$x

ifconfigeth1.$x192.168.$x.1netmask255.255.255.0up

echo eth1.$x192.168.$x.1netmask255.255.255.0up

done

echo"DONE.Youcantestvlannow. ^_^"

exit0

fi

echo"Notfound/ourpro/vlan.ko"

exit0

++++++++++++上面为vlan_config.sh脚本内容++++++++++++++++

##在以上操作中要注意权限的设置

##要添加的文件和脚本,以及配置做好,可以编译文件系统了,我们可以使用上面编译内核所生成的配置defconfig-min-fs-modified

$./ltib--preconfig config/platform/mpc8349itx/defconfig-min-fs-modified

##首先弹出对话框LTIB:

FreescaleMPC8349E-mITXboard

##若不希望再编译内核,移动光标到---ChooseyourKernel下面一行kernel(linux2.6.13.4) --->,按空格进入,弹出一个新的内核选择对话框kernel,移动光标并按空格选中(X)DontbuildtheLinuxkernel。

若希望编译内核,则跳过此步。

##此次操作我们选择编译内核,但不再编译时配置内核。

##编译时不再配置内核选项,移动光标按空格去除选项[]Configurethekernel。

##移动光标到(nas_linux-2.6.13.4-mpc8349itx.config)kernelconfigfile回车,输入我们的内核配置文件nas_linux-2.6.13.4-mpc8349itx.config.dev,确定返回到主对话框

##移动光标到SaveConfigurationtoanAlternateFile,输入我们想保存为的文件名defconfig-min-fs-our-final

##左右移动光标到回车,然后会弹出是否保存新的配置文件,直接选择回车

##然后开始编译内核和文件系统

##编译结束。

##注:

上面编译出的内核已经添加了8021Q内核模块,文件系统里也包含vlan.ko和vlan_config.sh,烧进开发板上电会自动执行vlan_config.sh实现添加vlan编号及配置ip信息。

##文件夹rootfs/下的文件就相当于在开发板上看到的全部文件系统

##我们需要的内核文件为rootfs/boot/uImage,根文件系统文件为rootfs.ext2.gz.uboot

假如上面编译出来的内核文件和文件系统文件不小心删除了,或者文件遭到了破坏,需要重新编译,而且文件不需要变化的话,这里有一个比较简单的办法,执行如下命令可一次完成满足要求的内核和文件系统:

$./ltib--preconfigconfig/platform/mpc8349itx/defconfig-min-fs-our-final--batch

##输入完这些命令回车就开始编译了,中间不需要任何操作,完全可以看会电影,或者学学vim...,大约半小时后就可以看到你希望的结果:

上面编译出来的结果怎么知道一定是对的呢,而且开发板的FLASH烧写都有次数限制,一般情况下我们不能随便烧写内核或文件系统到FLASH中,下面一个方法可以解决这一问题。

##下面的方法是完全针对8349itx开发板出厂后设置未做修改时来完成的。

##假如开发主机的ip地址为59.64.155.150,开发板的ip地址59.64.155.79,网关为59.64.155.1

##开发主机上提供了tftp服务(参见另写的一篇笔记server.txt),其根目录为/home/liuby/tftpboot/

##首先在tftp根目录下创建一个存放内核文件和根文件系统的目录down,并将刚才编译的结果复制到此文件夹下

$mkdir-m777/home/li

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1