编译版本之实用篇1119.docx

上传人:b****4 文档编号:24799293 上传时间:2023-06-01 格式:DOCX 页数:14 大小:204.48KB
下载 相关 举报
编译版本之实用篇1119.docx_第1页
第1页 / 共14页
编译版本之实用篇1119.docx_第2页
第2页 / 共14页
编译版本之实用篇1119.docx_第3页
第3页 / 共14页
编译版本之实用篇1119.docx_第4页
第4页 / 共14页
编译版本之实用篇1119.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

编译版本之实用篇1119.docx

《编译版本之实用篇1119.docx》由会员分享,可在线阅读,更多相关《编译版本之实用篇1119.docx(14页珍藏版)》请在冰豆网上搜索。

编译版本之实用篇1119.docx

编译版本之实用篇1119

CSM开发环境建立之实用篇

---------基于Lilei同学的新手入学篇

Author:

HZ8312boyuanliu

Timestamp:

2008/11/11

1、基本准备1

2、开始编译用户代码1

3、编译后的一些特殊处理2

4、编译rootfs2

5、编译userfs2

6、上板2

7、升级4

8、更新userfs的特定部分6

9、杂七杂八6

10、GDB的使用9

11、配置mibbrowser调试环境(现在默认有值,可不做)10

12、新系统的关键宏定义:

10

1、基本准备

类似10.4.37.210的编译服务器一台、代码一份、telnet工具一个、tftp工具一个。

运行代码总体分为:

板卡模式(直接在板卡上运行,和以前系统类似)

NFS模式(使用服务器代码,利用mount服务)

2、开始编译用户代码

登录名:

xxxx,psw:

123456,进入

/home/liuboyuan/HZ08312_B1205_OAM_SERVER/B1200_CSM/icm/build/icm3目录下

依次执行

./buildplatform2.4.20csm1a

./buildapps2.4.20csm1a

./buildscm2.4.20csm1a

或者直接执行

./buildall2.4.20csm1a

可能会碰到permissiondenied的情况,请使用sudo./buildxxxx2.4.20csm1a进行编译。

3、编译后的一些特殊处理

由于现在的代码是基于debug版本,所以有些地方要做特殊处理。

上面的步骤做完之后,

3.1保存icm\apps\build\nmgt\lib.mpc下的libsnmp.so,后面要用到。

3.2备份好之后删除icm\apps\build\nmgt\bin.mpc和icm\apps\build\nmgt\lib.mpc两个目

录,重新执行:

./buildnmgt2.4.20csm1a。

3.3如果编译不过去,提示snmp_trace找不到之类,请重新执行3.2,直到成功为止。

3.4把libsnmp.so放回原来的地方,在编译userfs的时候要用。

3.5编译scm不用做特殊处理。

4、编译rootfs

进入/home/liuboyuan/HZ08312_B1205_OAM_SERVER/B1200_CSM/icm/rootfs目录下

./build_rootfscsm1a

编译kernel目录下的东西。

如果出现permissiondenied,请使用sudo

5、编译userfs

进入/home/liuboyuan/HZ08312_B1205_OAM_SERVER/B1200_CSM/icm/install目录下

sudo./make_userfs1.0.0.1(版本号,随意)

由于我们系统不使用upgrade,所以编译userfs时,所有有关upgrade的错误可以不理

会,但是如果缺少其他文件,那就是前面apps或者plat中编译有错误,重新编译。

最终生成的images都在B1200_CSM/icm/install/目录下,分别是rootfs.jffs2,userfs.jffs2,

用于板卡烧录,对应的目录是rootfs和userfs,可用于远程文件系统。

6、上板

csm1a板的串口波特率:

115200;

上电后,5秒内按ctrl+c进入uboot命令行方式下,第一次开机需设置以下参数:

(通过moduleentity可以提取出来)

bdinfoset00x1110123456789a

bdinfoset00x1210A1

bdinfoset00x03160123456789abcdefg

bdinfoset00x04102008-08-21

bdinfoset00x0510hz21071

bdinfoset00x0610UTS

bdinfoset00xFF000

bdinfosetFc1MacAddr00:

E0:

8E:

00:

01:

25

bdinfosetFc2MacAddr00:

E0:

8E:

00:

01:

26

bdinfosetBrgMacAddr00:

E0:

8E:

00:

01:

26

setenvipaddr10.4.41.166//板卡的ip

setenvgatewayip10.4.41.254//板卡网关ip

setenvserverip10.4.37.210//开NFS和TFTP的虚拟机的ip

{

setenvlinux_rootpath/home/csm/B1200CSM/B1200_CSM/icm/install/rootfs//mount的目录

setenvlinux_bootfilevmlinux1//kernel文件名

}可以不做

saveenv

然后直接在uboot下输入:

Updaterootfs烧录rootfs

Updateuserfs烧录userfs

重起板卡,自动启动,就可以正常用了。

NFS模式:

首先设置编译服务器内容:

修改rootfs/etc/rc.d/init.d/mountrd脚本,注释掉mount用户分区。

#mount-tjffs2/dev/mtdblock/1/usr/local

修改rootfs/usr/local/etc/init.d/start_apps脚本,注释掉防火墙配置。

echo"Configuringfirewall"

#/usr/local/etc/init.d/rc.icm2

App启动脚本位于/usr/local/etc/init.d/start_apps,可以修改以免自动运行hip和rmp。

根据下图,你可以按需要执行你要运行的组件

 

再设置板卡内容:

setenvipaddr10.4.41.166//板卡的ip

setenvgatewayip10.4.41.254//板卡网关ip

setenvserverip10.4.37.210//开NFS和TFTP的虚拟机的ip

setenvlinux_rootpath/home/csm/B1200CSM/B1200_CSM/icm/install/rootfs//mount的目录

setenvlinux_bootfilevmlinux1//kernel文件名

saveenv

runlinux_nfs_run

更新代码很方便,只需要重新设置serverip和linux_rootpath就可以使用不同的代码了。

7、升级

编译升级文件,编译修改后的nmgt或者scm、hip,不需要再进行文件位置的移动:

在B1200_CSM/icm/install/目录下运行脚本

make_package_csm1a1.0.0.0,生成csm1a_upgrade.gz。

正常结果:

[liuboyuan@10install]$sudo./make_package_csm1a1.0.0.1

cp:

cannotstat`../apps/upgrade/cfg_upgrade':

Nosuchfileordirectory

chmod:

cannotaccess`tmp/cfg_upgrade':

Nosuchfileordirectory

cp:

omittingdirectory`..//'

ppc_82xx-strip:

cfg_upgrade:

Nosuchfileordirectory

把编译出来的csm1a_upgrade.gz上传至节点:

telnet登陆节点,随便哪个目录下都可以执行:

icm2_upgrade/tftpbootcsm1a_upgrade.gz–f,如下:

root@10.20.30.1:

~#icm2_upgrade/tftpbootcsm1a_upgrade.gz-f

unzipsuccessful

newversionis1.0.0.1

old_versionis1.0.0.1

Upgrading..............................nmgtnotmatch.........

........................................start_appsnotmatch...........................

Done

root@10.20.30.1:

~#

notmatch的意思是upgrade.gz中的文件和板卡上的文件不匹配,就是需要更新的文件

可以看出来是否更新了你修改的文件。

该升级更新的文件列表在install下file_list_csm1a中。

不更新rootfs

8、更新userfs的特定部分

只适用于NFS模式。

在/home/liuboyuan/HZ08312_B1205_OAM_SERVER/B1200_CSM/icm/build/icm3下执行

如下脚本:

,命令格式为:

updatebcm

updatenmgt

updatescm

updateplatform

updatehip

多数情况nmgt、scm、hip为我们自己手动复制文件即可,其它两种bcm和platform由于涉及文件较多,所以建议使用这种方法升级。

如果要更新platform,则执行./buildplatform后,执行updateplatform。

如果需要更新bcm,则执行./buildapps后,updatebcm,之后同上。

9、杂七杂八

经常会碰到的问题,总结如下:

1、现象:

walk有的时候会卡住

原因:

sanity进程把cpu抢占100%,导致其它操作无响应

解决办法:

直接在板卡上注释掉etc/rc.d/init.d/dhcpd中的两行

/usr/bin/sanity_check&

/usr/bin/sanity_check&

由于dhcpd是存在于rootfs上,所以如果不更新rootfs的情况下,不需要重新修改。

2、现象:

直接启动后登陆不上去

原因:

没有配置ip地址和路由

解决办法:

在CSM下执行shifconfigeth010.230.9.253netmask255.255.255.0

shrouteadddefaultgw10.230.9.254eth0

或者更改//usr/local/upgrade/start_nmgt_dhcp,在sleep25后面加上

ifconfigeth010.230.9.253netmask255.255.255.0

routeadddefaultgw10.230.9.254eth0,这样每次重起就不用再设置了。

但是更新.gz后是需要重新配置的。

3、现象:

GDB连不上

原因:

防火墙开启

解决办法:

运行/etc/init.d/rc.flush即可

4、现象:

TFTP上传不上去

原因:

iptables的管理权限不是root

解决办法:

执行chownroot/usr/sbin/iptables

5、现象:

启动过程中出现iptablespermissiondenied

原因:

没有使用root用户编译rootfs

解决办法:

执行chownroot/usr/sbin/iptables

6、配置虚板的话,在nmgt侧可以使用moduleentity中的provisionstate查看,如果想

查看scm侧的虚板状况,可以在当前CSM下(串口上的CSM,默认进入到hip)输入dlbd0,查看板卡信息。

7、现象:

凡是发现和ip相关的不通现象,首先考虑防火墙,执行命令iptables–L

看看结果是什么。

8、单独编译不包含debug的NMGT

以前我们使用的buildnmgt2.4.20csm1a是编译debug版本的nmgt,现在不能用了,

如果想单独编译nmgt,可以在apps/build/nmgt下,执行以下脚本:

#!

/bin/sh

exportPLATFORM=POWERPC_82XX_MVISTA

exportKERN_DIR=kernel/linux/2.4.20

sudojam-f../../Jambase-d22>&1|teebuild.out

自己运行或者写个sh文件运行都可以

9、Linux下常用命令收集

参考附件:

10、GDB的使用

节点侧(server端):

root@10.4.38.235:

/#gdbserver10.4.41.166:

2001/usr/local/bin/scm//节点IP

Process./scmcreated;pid=124

Remotedebuggingfromhost10.4.38.61

creatingtask:

init,status=0

INIT:

creatingqueue:

status=0

INIT:

creatingqueue:

M51_,status=0

或者可以关联进程号,先在root下运行ps:

PIDUSERVSZSTATCOMMAND

279root90508S/usr/bin/nmgtactive

206root90508S/usr/bin/nmgtactive

227root90508S/usr/bin/nmgtactive

228root90508S/usr/bin/nmgtactive

265root90508S/usr/bin/nmgtactive

266root90508S/usr/bin/nmgtactive

267root90508S/usr/bin/nmgtactive

274root90508S/usr/bin/nmgtactive

275root90508S/usr/bin/nmgtactive

281root90508S/usr/bin/nmgtactive

283root90508S/usr/bin/nmgtactive

420root90508S/usr/bin/nmgtactive

502root2772Stelnetd

503root2780S-sh

506root2772Stail-f/var/log/messages

629root2772Rps

dbgserverxxxx:

2001--attachnum(你想调试的那个进程的)

dbgserverxxxx:

2001–attach281就是调试nmgt进程

PC侧启动:

(gdb)q

[zsj@localhostscm4]$ppc_82xx-gdb-qbin.mpc/scm(你要调试的文件路径,build下的或者

usr/local/bin下的都可以)

(gdb)targetremote10.4.41.166:

2001

Remotedebuggingusing10.4.38.235:

2001

常用命令列表:

1、(gdb)l<--------------------l命令相当于list,从第一行开始例出原码。

2、(gdb)<--------------------直接回车表示,重复上一次命令

3、(gdb)break16<--------------------设置断点,在源程序第16行处。

4、gdb)breakfunc<--------------------设置断点,在函数func()入口处。

5、(gdb)infobreak<--------------------查看断点信息。

6、(gdb)r<---------------------运行程序,run命令简写

7、(gdb)n<---------------------单条语句执行,next命令简写。

8、(gdb)c<---------------------继续运行程序,continue命令简写。

9、(gdb)pi<---------------------打印变量i的值,print命令简写。

p/x打印成16进制

10、(gdb)bt<---------------------查看函数堆栈。

11、(gdb)q<---------------------退出gdb。

详细使用说明参照附件:

11、配置mibbrowser调试环境(现在默认有值,可不做)

使用admin进入

AN2000_IB#snmpnetman-destination10.4.41.166primary

AN2000_IB#ipmanagementaddress10.4.41.166netmask255.255.255.0

ThiscommandwillchangetheIPaddressto10.4.38.234.

Executeanyway?

(yesorno)

yes

AN2000_IB#saveconfigbin

修改后telnet的登陆界面变成:

10.4.41.166login:

12、新系统的关键宏定义:

#definePHY_INDEX_2_SHELF(indx)(((indx)>>16)&0xff)

#definePHY_INDEX_2_SLOT(indx)(((indx)>>8)&0xff)

#definePHY_INDEX_2_PORT(indx)((indx)&0xff)

#definePHY_INDEX(slf,slot,port)(((slf)<<16)+((slot)<<8)+(port))

#definePHY_INDEX_BOARD(slf,slot)PHY_INDEX(slf,slot,0xFF)

#definePHY_INDEX_SLOT(slf,slot)PHY_INDEX(slf,slot,0xFE)

#defineBOARD_HDTYPE_2_MODULE(board_type,hd_type)(board_type<<16|hd_type)

#defineMODULE_2_BOARD(module_type)(module_type>>16)

#defineMODULE_2_HDTYPE(module_type)(module_type&0xff)

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

当前位置:首页 > 工作范文 > 行政公文

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

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