Joggler的MeeGo系统移植

来源:互联网 发布:开源中国 cms 编辑:程序博客网 时间:2024/05/01 00:40
一、准备移植环境

不管是移植通用Linux,或者MeeGo,或者Android你都需要一台Linux机器,这里我推荐Ubuntu,以下就按照Ubantu 10.10为例子说明移植步骤(如果你有打算编译Android 2.3以上版本,请使用Ubuntu 11.04)
注:最好使用英文环境,否则有些脚本可能会处理错误,到时候找原因比较麻烦。英文环境下也就系统是英文的,浏览中文还是没问题。

MeeGo的Build需要专用工具MIC2,请在到 http://repo.meego.com/MeeGo/tools/repos/ubuntu/10.10/all/ 下载mic2_0.24.14_all.deb,并且安装,有可能其中还会提示需要其他依赖包,都一并装上就好。

二、下载ks文件

MeeGo的Build其实是在本地建立一个虚拟的系统环境,然后从网络上下载所有MeeGo RPM包,依次安装并打包的过程,所有的这一切都由一个KickStart配置文件来控制。我这里分别提供Handset,IVI,Table,Netbook四个版本的ks文件,大家使用这些文件就能Build不同的MeeGo系统了。

三、下载Kernel

以上都是标准MeeGo的Build方法,正常情况下这样生成的MeeGo我们Joggler是无法引导起来的,因为Joggler并不支持mbr引导,内核中的硬件部分也与普通x86台式机笔记本有一些区别,所以需要定制的Kernel。
鉴于MeeGo使用RPM包的Build方式,我也将为Joggler定制的Kernel和一些对MeeGo系统的修改部分做成了RPM包,只需要下载这个zip,解压到一个文件夹,并在ks中指定文件夹的位置之后,MeeGo会自动引入Joggler适用的Kernel。

四、修改ks文件

KickStart文件和其他linux配置文件一样,是一个纯文本文件,使用编辑器打开就能修改。大家打开ks文件可以看到,里面对系统的语言、时区、系统分区大小等做了定义,大家需要注意的是repo部分,repo部分的–baseurl字段后面跟的是你准备Build的MeeGo源位置,比如我现在指定的就是1.2.0.90的最新版本仓库,这个仓库里包含了Handset,IVI,Table,Netbook各版本的RPM包,MIC2将会把他们下载到本地,合成你的OS。
其中%packages部分指定了你将会下载那些模组的RPM包,当然我在4个脚本文件里都已经加好,大家如果需要修改可以参考一下各版本的不同。
在这之后都是Shell脚本了,这些脚本将会在RPM安装完成之后执行,比如在这里我们就加上了建立joggler显卡配置xorg.conf的脚本,还有修改下拉菜单,增加任务管理器的脚本。
大家还可以注意一下repo.meego.com/meego/builds下面的目录,在各版本的images里都有编译好的IMG文件和ks文件,当然这些IMG文件我们是不能使用的,但ks文件可以作为参考,新版本有可能增加或者修改了模块。

五、Build MeeGo

接下来就简单了,使用以下命令,MIC2会自动下载所有需要的文件,并且生成你的OS
sudo mic-image-creator –cache=mycache –format=liveusb –config=table-1.2.0.90.ks
命令中–cache参数是指定下载文件的保存文件夹,format是指需要生成的OS格式,我之前放出的都是liveusb,好处是只需要将文件拷贝到U盘上就能启动,坏处是效率低,而且不能保存用户的信息,如果需要非live版本的,可以把这里改为loop格式。–config就是你想使用的ks文件了,这个没什么好说的。

六、制作Joggler的引导盘

如果大家使用的是liveusb格式,MIC2将会吧MeeGo生成一个包含mbr的磁盘镜像,当然我们joggler是无法使用的,所以我们使用以下命令来获得需要的文件
kpartx -a xxxxxx.usbimg
这时你会发现文件管理器的左边出现了一个新的磁盘分区,现在只需要打开这个分区,并且将其中的文件全部拷贝到FAT32分区的U盘上,并且在U盘上加入grub.efi,startup.nsh,boot.nsh,grub.cfg,bzImage并配置好就可以了,或者直接下载我这个引导文件包可以。

如果是loop,直接mount到一个文件夹就可以,里面就是MeeGo的rootfs,你可以自己将U盘第二个分区分为EXT2~4,然后用rsync -aHx将文件全部同步过去,修改grub.cfg并引导系统。


来源:http://www.mporting.com/2011/08/ ... %E7%A7%BB%E6%A4%8D/
原创粉丝点击