這是用于Joggler移植通用Linux的文件覆蓋包,其中包括以下內容:
1、2.6.37.2版內核,基于Meego內核修改,包含config文件,存放于/boot目錄下
2、上述內核的kmod模塊,存放于/lib/modules目錄下
3、Emgd1.8_2001版驅動(dòng),存放與/usr目錄下
4、適用與Joggler的Emgd配置文件,存放與/etc/X11目錄下
如果你對linux引導部分了解比較多,看看文件結構應該就知道如何使用了,如果不是很了解,我以移植slitaz作為例子作一個(gè)說(shuō)明:
就像大家以前了解的,Joggler首先加載的是grub.efi引導文件,當efi加載了grub.cfg中指定的kernel之后,kernel開(kāi)始接管系統,并且將grub.cfg中intrd部分指定的微型文件系統加載到內存(也有可能是完整的文件系統,比如slitaz這類(lèi)加載進(jìn)ram的OS),再通過(guò)執行intrd中的腳本來(lái)引導系統分區中的其他文件。
所以我們首先要做的,就是保證joggler能夠加載efi引導文件。具體內置和外置,以及boot.nsh文件和startup.nsh文件的設置我就不說(shuō)了,里面只是簡(jiǎn)單的命令腳本,只要第一分區為FAT格式(引導分區),并且存在grub.efi(或者其他的引導efi),grub.cfg,boot.nsh,startup.nsh這部分就算完成。
然后我們希望grub.efi能夠引導我們?yōu)閖oggler定制的內核,所以我們應該將通用內核包中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文件存放的分區,以及一些其他內核會(huì )調用的參數。initrd行則是前面說(shuō)的微型文件系統
OK,現在joggler已經(jīng)能啟動(dòng)kernel并且去尋找initrd來(lái)啟動(dòng)系統了,需要的只是按slitaz的定制說(shuō)明,將slitaz提供的原始rootfs.gz解壓開(kāi),然后將我的通用內核包文件覆蓋進(jìn)去,再打包回rootfs.gz并且放在引導分區,slitaz的joggler版本就移植好了。
寫(xiě)到一半的時(shí)候突然發(fā)現,要是沒(méi)有經(jīng)常折騰linux安裝的朋友可能還是沒(méi)法明白這些步驟是做什么用的,而經(jīng)常折騰的也不用我說(shuō)了…… 總之聊勝于無(wú)吧,有什么不明白的再跟貼問(wèn)好了。
下載地址 http://www.mporting.com/download/
之后將整理放出Joggler與官方開(kāi)發(fā)源同步的Meego定制方法,以及Joggler的Android源代碼patch.

