这是用于Joggler移植通用Linux的文件覆盖包,其中包括以下内容:

1、2.6.37.2版内核,基于Meego内核修改,包含config文件,存放于/boot目录下

2、上述内核的kmod模块,存放于/lib/modules目录下

3、Emgd1.8_2001版驱动,存放与/usr目录下

4、适用与Joggler的Emgd配置文件,存放与/etc/X11目录下

如果你对linux引导部分了解比较多,看看文件结构应该就知道如何使用了,如果不是很了解,我以移植slitaz作为例子作一个说明:

就像大家以前了解的,Joggler首先加载的是grub.efi引导文件,当efi加载了grub.cfg中指定的kernel之后,kernel开始接管系统,并且将grub.cfg中intrd部分指定的微型文件系统加载到内存(也有可能是完整的文件系统,比如slitaz这类加载进ram的OS),再通过执行intrd中的脚本来引导系统分区中的其他文件。

所以我们首先要做的,就是保证joggler能够加载efi引导文件。具体内置和外置,以及boot.nsh文件和startup.nsh文件的设置我就不说了,里面只是简单的命令脚本,只要第一分区为FAT格式(引导分区),并且存在grub.efi(或者其他的引导efi),grub.cfg,boot.nsh,startup.nsh这部分就算完成。

然后我们希望grub.efi能够引导我们为joggler定制的内核,所以我们应该将通用内核包中boot文件夹下的vmlinuz-2.6.37.2-mijuu-joggler文件复制到引导分区里,然后将文件名和路径加入grub.cfg,比如这样

set timeout=0

menuentry “Generic Linux” {

linux /vmlinuz-2.6.37.2-mijuu-joggler rw root=/dev/null rootdelay=3 acpi=force idle=halt autologin

initrd /rootfs.gz

}

其中linux行就是你内核存放的路径与文件名,此行后面都是内核加载的参数,比如root文件存放的分区,以及一些其他内核会调用的参数。initrd行则是前面说的微型文件系统

OK,现在joggler已经能启动kernel并且去寻找initrd来启动系统了,需要的只是按slitaz的定制说明,将slitaz提供的原始rootfs.gz解压开,然后将我的通用内核包文件覆盖进去,再打包回rootfs.gz并且放在引导分区,slitaz的joggler版本就移植好了。

写到一半的时候突然发现,要是没有经常折腾linux安装的朋友可能还是没法明白这些步骤是做什么用的,而经常折腾的也不用我说了…… 总之聊胜于无吧,有什么不明白的再跟贴问好了。

下载地址 http://www.mporting.com/download/

之后将整理放出Joggler与官方开发源同步的Meego定制方法,以及Joggler的Android源代码patch.

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐