首頁 > 手機軟體

安卓執行linux系統的方法之Linux-on-Android

2019-12-01 10:07:24

Linux的優點不用說了吧,安全、穩定、高效,許多特定的操作必須要Linux環境才能實現,這是Windows都無法取代的地位,也許你會說Android本身即是Linux進化而來的,可是最重要的一點安卓多數是arm構架系統,另外還閹割了許多的功能,哪有Ubuntu那樣封的快感啊,那麼啥時Android也能執行發行版的Linux呢?

sourceforge上的Linux-on-android專案給我們帶來了福音,可是官方支援的裝置可是少之又少,怎麼才能支援你手中的裝置呢,就讓我們一起DIY自己的啟動指令碼,保證成功,開啟linux之旅吧!

1

手機必須要Root,沒有的度娘解決。

2

首先安裝 終端模擬器 軟體,稍後有用,度娘一下搞定了。


3

然後是Busybox,這是一款高度整合的Linux小工具集合,也很容易找到,安裝好就行。



4

安裝Android VNC ,用於連線遠端桌面。


5

手機核心必須支援loop和ext2檔案系統,實踐證明ext3,ext4也是可以的。

(1)檢驗是否支援loop裝置

開啟 終端模擬器,鍵入命令 ls /dev/block看是否有loopN裝置,N是數位。

(2)ext支援不好確定,多數安卓都支援,畢竟是Linux系統出身嘛,後續交代。


6

由於sourceforge伺服器在地球的另一面的美國,所以存取速度自然是不用吐槽的啦,不過還好映象伺服器還是不少的,可以百度搜尋sorceforge映象

選擇你喜歡用的系統下載下來吧。

這裡要下載兩個檔案

(1)、映象檔案

有三個版本,完整版(Large)、精簡版(smalll)、核心版(core)

可以在伺服器相應資料夾下找到zip檔案,大小約500MB,解壓出來2GB左右。

* 註:完整版和精簡版有桌面程式,核心版只有命令列介面

(2)、指令碼檔案

在相應Linux發行版資料夾裡面找到,帶script的zip檔案就是了,也下載下來。




1

下載映象和指令碼檔案之後在/sdcard上建立一個資料夾,名字與相應的linux發行版名字相同,將下載到的zip檔案解壓到此處,映象和指令碼都要解壓到這個資料夾。

比如筆者的Ubuntu 10.04就是在/sdcard上建立一個名為ubuntu的資料夾,然後把ubuntu.img和ubuntu.sh解壓到/sdcard/ubuntu/即可。


2

然後就是最重要的一步修改指令碼了,許多人不成功就是這裡沒有修改了。

先看一下指令碼檔案吧!所有的指令碼都是差不多的歐!

如圖


3

找到圖上第三行的位置,

mount -o remount,rw /dev/block/mmcblk0p5 /system

我們看到這是掛載/system為 可寫 狀態,但是這裡卻是掛載的固定是'/dev/block/mmcblk0p5',這腫麼可以??要知道安卓的硬體是遍地開花、各式各樣都有,/system的所在的裝置也各不相同,比如我的是在/dev/block/mmcblk0p19,以前用的是mmcblk0p12,根本不可能統一的

所以我們需要找到/system究竟對應的是那個分割區。

方法:給個比較可靠的方法吧,下載一個和你的手機相對應的刷機包,開啟META-INFcomgoogleandroidupdater-script檔案,搜尋"/dev/block"關鍵字,找到一條與system相關的一行,看到了這樣一行

format("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system", "0", "/system");

那個帶/dev/block的那個就是你的system分割區,用它來替換原來指令碼的那一個 /dev/block/mmcblk0p5吧!

我的修改結果是 

mount -o remount,rw /dev/block/platform/msm_sdcc.1/by-name/system /system

這裡因人而異,不要照搬哦!




4

然後開啟終端模擬器,測試一下

1.輸入 su 並回車,獲取root許可權

2.輸入 cd /sdcard/ubuntu 進入指令碼檔案所在目錄,這裡ubuntu替換你建立的資料夾名字

3.輸入 sh ubuntu.sh ,執行ubuntu系統

到這裡理論上是應該成功了

出現圖一這樣的情況時就要輸入解析度了,我的是1280x720,比較常用的還有800x600等

輸入1280x720 ,回車 



5

等待出現 root@localhost:/# 你的Linux已經啟動成功啦

終端模擬器以經連線到ubuntu的終端了

但是沒有桌面讓我們怎樣愉快的玩耍呀?

所以開啟AndroidVNC,設定一下 引數

Nickname:隨便寫

Password :你的Linux名稱,我的是ubuntu

Address : 因為是本機執行,所以寫 localhost 或者 127.0.0.1

Port : 預設5900

Username:root

Color Format : 24-color (4bpp)

然後點選左上角Connect即可

然後就看見了我們期待已久的Ubuntu介面裡




6

但是還有個問題,不支援中文是一個蛋疼的問題啊

所以在安卓系統上找個中文ttf(直接複製/system/fonts/DroidSansFallback.ttf也是可以的)放到/sdcard

進Linux系統後複製字型到

/usr/share/fonts/truetype/ttf-dejavu

重新啟動就能再見到親切的中文了!



7

在Linux介面下

1.音量鍵相當於鍵盤的上下箭頭↑↓

2.雙指可以縮放介面,雙指滑動可以滾屏

3.按下選單鍵-send 可以 觸發特殊鍵 比如 ctrl + alt + delete 關機重新啟動

4.選單鍵- Input Mode 可以選擇 滑鼠操作方式 , 推薦選擇touchPad 把觸控螢幕當觸控板用



IT145.com E-mail:sddin#qq.com