Remix OS是啥?

它是幾個香港的前Google工程師開發的變形Android作業系統,
雖然也只是改操作介面,核心仍是Android/Linux,
但和一般手機廠所謂訂製OS的差異在於,
它把視窗給導入操作介面,解決Android在多工操作上的不方便,
這進步幅度之大可以用脫胎換骨來形容.

Screenshot_2016-01-17-21-05-49  

原本Remix OS只有支援少數的Android平板裝置,
但是前兩天官方釋出了PC版本的Remix OS 2.0 for PC,
透過官方tool可以安裝在USB隨身碟上,
再由bios開進隨身碟,就可以在PC/NB上體驗Remix OS 2.0,
就像Ubuntu Live USB或Windows To Go那樣.

開機的時候Remix OS預設有兩種模式,
一種是體驗模式,在ram上面建立虛擬的資料分割,只要一關機資料也就全消失了.

另一種是一般正常開機,所有設定,app或下載資料等都會保留下來,
理所當然這種模式是正常一般人真正會用的模式,
但因為資料存取的關係,對隨身碟的速度會比較要求,
否則操作過程會卡頓不斷還一直當掉沒反應甚至崩潰重啟....囧

所以理所當然要在PC/NB上體驗Remix OS最好的方式還是得把它裝到硬碟上.

步驟其實也很簡單,
就是從硬碟切一塊8GB以上的FAT32的分割出來,
然後把透過官方tool做好的隨身碟的所有資料全部複製到那個分割上.

然後再想辦法在不影響原有作業系統的狀況下開進該分割的/eft/boot/bootx64.efi去就好了(Legcy bios就不知道了...).

P1172105我想這開進分割應該有三種方法,
1.DELL筆電BIOS的自訂Boot Option功能,直接用BIOS達成多重開機
2.Windows BCD,好像有個叫做EasyBCD的程式可以用?
3.Ubuntu/Linux的GRUB

到/etc/grub.d/25_cusstom加上這一段:

menuentry "Remix OS 2.0" {
search --fs-uuid --no-floppy --set=root XXXX-XXXX
chainloader (${root})/EFI/Boot/bootx64.efi
}

其中XXXX-XXXX就是FAT32分割的UUID,然後執行sudo update-grub,重開機應該就會看到grub出現Remix OS的選項了.

 

當時買DELL Vostro 5470除了情感因素外,
就是看上這個Bios自訂Boot Option的功能,
所以我當然就是用這方法來達成多重開機.

安裝好,多重開機設定好後,第二個問題則是

沒有Google Play

...Android怎麼可以沒有Google Play....?

參考這個XDA討論
下載GMSInstaller.apk並安裝後執行.

點選"One-click to install Google Services",
然後到設定的APP管理畫面,
對Google Play Services和Google Service Framework點選Clear Data,
然後重開機,沒意外應該就會有Google Play了.

到這裡Remix OS就可以正常使用了,
然後又注意到一件事,

儲存空間竟然只有4GB!?

在Remix OS的安裝位置,有一個data.img的檔案,
它會被mount到Linux/Android的/data資料夾,
data.img的容量就是儲存空間的容量,

這容量問題有兩個限制,一是目前官方釋出的版本中,
自動產生的data.img就寫死是4GB了,
另一個限制則是FAT32的單一檔案容量上限就是4GB.

Vostro 5470的Bios只認FAT32的檔案格式,
所以我要擴大Remix OS的儲存空間得做兩個修改,
一是建立額外的ext4分割用來代替官方自動產生的data.img,
二是修改官方釋出的文件將mount data的位置改到新產生的ext4分割.

修改文件需要在Ubuntu作業系統下完成,
大致上步驟是
1.將initrd.img解壓縮
2.修改mount script
3.重新打包initrd.img並覆蓋原檔
4.重開機進入Remix OS

順利的話Remix OS就會認新產生的ext4分割作為data partition,
容量問題就解決了.

步驟1,3只是幾行指令,網路上也有現成的script,
例如這裡

步驟2的官方mount script清楚簡單,
稍微追一下code就能知道哪裡限制住儲存容量僅有4GB,

主要修改是在解壓出來的scripts/2-mount的mount_data()裏面,
可以看到grub.cfg裏面的CREATE_DATA_IMG=1是如何在這邊影響data的mount,

我的作法是在2-mount加上這一段:

elif [ -n "$DATA_IN_PARTITION" ]; then
    echo "Checking data partition..."
    mount -t ext4 $DATA_IN_PARTITION data

    if [ -e data/need_initialize ];then
        echo "Need initialize data partition"
        touch data/initialize_flag
        rm data/need_initialize
    fi

然後再從grub.cfg把CREATE_DATA_IMG改成DATA_IN_PARTITION=/dev/sda15,
/dev/sda15是我切出來準備給Remix OS的ext4分割,

然後為了讓mount script知道要去初始化data,
還要在sda15裏面放上need_initialize這個檔案才行,
2-mount看到need_initialize之後,
會把initialize_flag放進sda15並刪除need_initialize,
initialize_flag則會促使Remix OS去初始化data partition,
(後來想想,我為什麼不直接手動把initialize_flag放進去就好了?)

然後重開機進Remix OS,
成功的話應該就會看到儲存空間跟著新切出來的ext4 partition長大了.

 Screenshot_2016-01-17-10-22-26  

 

最後是如果要root的話,可以參考這個連結

 

相关文章