Chinaunix首页 | 论坛 | 博客
  • 博客访问: 468385
  • 博文数量: 150
  • 博客积分: 2706
  • 博客等级: 少校
  • 技术积分: 1200
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-09 11:41
文章分类

全部博文(150)

文章存档

2012年(7)

2011年(6)

2010年(68)

2009年(69)

我的朋友

分类: WINDOWS

2010-03-27 12:12:04

   最近尝试在ltib中扩展一些程序,看到程序编译后都有个rpm打包,安装的过程,就想着分析下rpm在ltib和target board上的使用,如下是记录。


1. 在ltib中打包某个package, 用的rpmbuild的参数为:
rpmbuild --dbpath /usr/src/ebook/ltib/ltib/rootfs//var/lib/rpm --target arm --define '_unpackaged_files_terminate_build 0' --define '_target_cpu arm' --define 
'__strip strip' --define '_topdir /usr/src/ebook/ltib/ltib/rpm' --define '_prefix /usr' --define '_tmppath /usr/src/ebook/ltib/ltib/tmp' --define '_rpmdir 
/usr/src/ebook/ltib/ltib/rpm/RPMS'  --define '_mandir /usr/share/man' --define '_sysconfdir /etc' --define '_localstatedir /var' -bb  
/usr/src/ebook/ltib/ltib/dist/lfs-5.1/sysconfig/modeps.spec


2. ltib中rpmbuild的rpm包在target board安装的时候,如果单纯用
rpm -ivh *.rpm
则会有*.rpm is for a different architecture的提示,无法正常安装。

后面发现./ltib的时候,有这样的操作:
sudo /opt/freescale/ltib/usr/bin/rpm --root /usr/src/ebook/ltib/ltib/rootfs --dbpath /var/lib/rpm --prefix / --ignorearch -ivh --force --excludedocs --define 
'_tmppath /tmp/ltib' /usr/src/ebook/ltib/ltib/rpm/RPMS/arm/modeps-1.0-1.arm.rpm

所以用rpm -ivh --ignorearch *.rpm,如此便可以正常安装了。


ps: 个人认为,实际应用中,很少人会直接在target board上用rpm来安装。因为:一、target board一般情况下速度有限制; 二、在Host中直接rpm安装到rootfs,这样更容易控制;三、 target board中可以不用安装rpm模块,可节省一定的资源。
阅读(1463) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~