用本地repo制作Pandaboard的MeeGo镜像
来源:互联网 发布:年轻女装品牌知乎 编辑:程序博客网 时间:2024/06/05 04:36
1. 创建本地服务器的repo
将/obs/imports/MeeGo_1.2.90.0.0.20110824.2/core/armv7hl目录下的内容直接COPY到/obs/srv/repos的子目录下,就可以在http://192.168.129.140:82下面访问这些内容。
2. 参考http://wiki.meego.com/ARM/OMAP4_Panda制作镜像
要点1:需要根据需要修改Panda.ks.in文件
要点2:在执行“git checkout --track -b L24.11ti-2.6.35-omap4-L24.11
”时,要严格按照这个信息,不要擅自改变版本号。
3. 安装MIC2
参考http://wiki.meego.com/Image_Creation安装MIC2。
对于Ubuntu11.04,
step1:
sudo apt-get install yum rpm kpartxparted syslinux isomd5sum kvm zlib1g-dev squashfs-tools python2.6-devqemu-user-static python-urlgrabber
注意:Ubuntu11.04及以上的版本,没有qemu-arm-static,只有qemu-user-static。
step2:在/etc/apt/sources.list文件添加源:
debhttp://repo.meego.com/MeeGo/tools/repos/ubuntu/10.10/ /
(最新只有ubuntu10.10,虽然工作机器是Ubuntu11.04,也只好用这个)
step3:sudo apt-get update
Youshould see the following error: W: GPG error: http://repo.meego.comRelease: The following signatures couldn't be verified because the public keyis not available: NO_PUBKEY 0BC7BEC479FC1F8A
To add the repository public key use thefollowing command:
gpg --keyserver subkeys.pgp.net --recv0BC7BEC479FC1F8A
gpg--export --armor 0BC7BEC479FC1F8A | sudo apt-key add -
step4:sudo apt-get install mic2
4. 执行./Panda.sh
由于本地的repos中只有armv7hl的包,没有ia32的包,因此在创建bootstrap的时候会失败:
Installing mic2-0.24.14-1.1.noarch.rpm...
WARNING: Could not find package 'libgcc'suitable arch for arch 'i686' for bootstrap installation.
...
bind_unmount: /var/tmp ->/var/cache/meego-bootstrap//var/tmp
OSError: [Errno 2] No such file ordirectory
因此,需要单独创建bootstrap:
sudomic-create-bootstrap -n trunk -rhttp://repo.meego.com/MeeGo/builds/trunk/latest/repos/oss/ia32/packages/ -o /var/cache/meego-bootstrap/
在从repo.meego.com下载包的过程中,碰到超时问题。尝试将以前VMWare中的/var/cache/meego-bootstrap拷贝过来,然后在mic-create-image后面指定”--bootstrap=/var/cache/meego-bootstrp”,执行Panda.sh时报错:
Error:Please specify a workable bootstrap env
注意到mic-create-bootstrap有个”-k”选项,于是重新执行mic-create-bootstrp,并加上”-k”选项:
sudomic-create-bootstrap -n trunk -k /home/zhanghui/MeeGo/panda.source/rpms -rhttp://repo.meego.com/MeeGo/builds/trunk/latest/repos/oss/ia32/packages/ -o/var/cache/meego-bootstrap
(查看/home/zhanghui/MeeGo/panda.source/rpms目录,果然发现了trunk目录!)
用mic-create-bootstrap制作meego-bootstrap后,执行Panda.sh就不会报“Error:Please specify a workable bootstrap env”了。但碰到新问题:
OSError: [Errno 2] 没有那个文件或目录: '/var/tmp/imgcreate-JtD_cH/install_root/tmp/ks-script-WcCRqN'
5.Imgcreate-xxx/install_root问题的解决
@ivi都不行,只有@NetBook可以;
首先怀疑是repomd.xml有问题,于是重新生成repomd.xml:
## Copy RPMpackages to a folder, oss/armv7hl,oss/noarch
$ mkdir -p oss/repodata
$ cp -f patterns.xml group.xml oss/repodata
$ cd oss
$ createrepo -g repodata/group.xml ./
$ modifyreporepodata/patterns.xml ./repodata
自己生成的repodata,仍然一样有OSError;尝试几个办法:
(1)140上OSS包版本和官方NON-OSS包版本不匹配。已确认不是这个问题。
(2)ks文件有问题;
(3)140上的包有问题,可尝试直接从官方网站下载全部的包:问题依旧,看来不是这个问题。
最终定位应该是ks文件有问题。
在测试过程中,碰到 Unicode的问题:
Traceback (most recent call last):
File"/usr/bin/mic-image-creator", line 1045, in <module>
ret= main()
File"/usr/bin/mic-image-creator", line 1019, in main
raiseFatalError("failed to create image : %s" % e)
UnicodeEncodeError: 'ascii' codec can'tencode characters in position 36-38: ordinal not in range(128)
将”@MeeGo Core”改成”@Core”就没这个问题。原来是因为”MeeGo Core”在group.xml/patterns.xml中不存在。
而releases/MeeGo1.2.0的patterns.xml/group.xml就没有这个问题,原来MeeGo1.2.0和MeeGo1.2.90中的patterns.xml/group.xml中的group名字命名不同,比如对于MeeGo Core,在MeeGo1.2.0中是“MeeGo Core”,而在MeeGo1.2.90中是”Core”。
将repo.meego.com上releases/MeeGo1.2.0中的patterns.xml/group.xml拷贝到140上,重新生成repomd.xml等。然后重新执行mic-image-creator,找不到sysvinit包。对比MeeGo1.2.0和MeeGo1.2.90的repository发现,果然不同。
下面就剩两个思路:(1)尝试下载latest的Panda.ks.in和Panda.sh测试;(2)换用MeeGo1.2.0的repository。
用latest的Panda.ks.in,制作rootfs成功!
比较诡异,@Netbook就可以制作成功,@ivi就不行。- 用本地repo制作Pandaboard的MeeGo镜像
- 用本地repo制作Pandaboard的MeeGo镜像
- 用repo下载MeeGo源代码
- 常用的meego镜像下载地址
- 将本地repo镜像推送到远程gerrit服务器
- meego镜像实例
- Ubuntu下chroot启动MeeGo的XServer(pandaboard)
- REPO镜像服务器的搭建
- MeeGo 1.2的repo使用方式
- ARM(OMAP4430) Pandaboard on MeeGo
- 创建一个MeeGo镜像
- RHCE之本地源制作、HTTP发布镜像用于KVM的VM新安装过程
- img镜像的制作
- OpenStack镜像的制作
- 制作geth 的镜像
- 通过ISO镜像制作Debian本地源
- 通过ISO镜像制作Debian本地源
- 简单两步制作本地镜像YUM源
- 如何成为“10倍效率”开发者
- Java中各种异常类及其解释
- ruby on rails 错误解决办法集合
- ORA-01156 & ORA-01275 备库重建redo 报错 (Dataguard redo 路径放置改变)
- 手机摄像头创意
- 用本地repo制作Pandaboard的MeeGo镜像
- 企业移动应用—我有 开启移动营销的里程碑
- 令人深思的文章:也许你这辈子都只是个小人物
- ASP.net+AJAX智能匹配检索(自动完成)
- [Android] 分析ANR错误
- Linux命令行IPtables配置详解
- 马腹上的虻
- 千兆PHY与RJ45接口线序
- 安全崩盘的年代:由拖库攻击谈口令字段的加密策略