? ? 幾年前使用的小米5手機(jī)不知道什么時(shí)候屏幕失靈了芜飘,觸摸任何地方都沒有反應(yīng),幸好下面三個(gè)實(shí)體按鍵還是好的磨总,就拿來安裝一下linux系統(tǒng)嗦明。
? ? 我到華強(qiáng)北去問了一下,修好屏幕至少需要100多塊蚪燕,這個(gè)手機(jī)賣舊手機(jī)也就是100塊娶牌,懶得換屏幕蓋板了,剛好前段時(shí)間購買u盤贈送了一個(gè)otg轉(zhuǎn)接頭馆纳,用鼠標(biāo)插上轉(zhuǎn)接頭诗良,然后再把轉(zhuǎn)接頭插上手機(jī),瞬間屏幕上就出現(xiàn)了一個(gè)鼠標(biāo)鲁驶。android還可以連接藍(lán)牙鼠標(biāo)鉴裹,但是連接藍(lán)牙鼠標(biāo)有個(gè)bug就是不能彈出鍵盤,在輸入框里面有線鼠標(biāo)能夠正常彈出鍵盤钥弯。
? ? 首先解鎖小米手機(jī)径荔,要到小米網(wǎng)站下載解鎖工具,網(wǎng)址http://www.miui.com/unlock/done.html
? ? 解鎖后打算安裝lineageos脆霎,但是在lineageos上安裝了linuxdeploy以后总处,無論安裝ubuntu還是centos鏡像都沒有成功,我就下載了Havoc的鏡像睛蛛,這個(gè)ROM極度精簡鹦马,速度也很快胧谈,下載網(wǎng)站是https://forum.xda-developers.com/mi-5/development/rom-havocos-3-0-t3997199,也可以到網(wǎng)站https://download.lineageos.org/gemini上面可以下載lineageos每天build的鏡像荸频,由于安裝linuxdeploy需要root手機(jī)菱肖,所以我選擇了Magisk,到https://forum.xda-developers.com/apps/magisk網(wǎng)站下載最新的Magisk zip安裝包试溯。首先要安裝TWRP蔑滓,到網(wǎng)站https://wiki.lineageos.org/devices/gemini/install有詳細(xì)介紹,步驟是同時(shí)按下電源鍵和向下的音量鍵遇绞,啟動進(jìn)入bootloader模式键袱,然后通過fastboot將TWRP刷入,然后重啟手機(jī)摹闽,重啟的時(shí)候同時(shí)按下電源鍵和向上的音量鍵蹄咖,進(jìn)入recovery模式,然后將havoc zip鏡像和Magisk zip包通過 adb push推送到手機(jī)里面付鹿,一般放到手機(jī)的/sdcard/Download目錄下面澜汤。然后在手機(jī)端TWRP里面format data,然后安裝Havoc zip包和Magisk zip包舵匾,安裝完成以后就可以重新啟動手機(jī)了俊抵。
? ? 重啟之后進(jìn)入系統(tǒng),由于Havoc要到google服務(wù)器上驗(yàn)證網(wǎng)絡(luò)坐梯,所以WiFi即使連接了網(wǎng)絡(luò)徽诲,但是在中國大陸依然顯示叉叉或者嘆號,可以使用以下方法消除:
Android 7.0之前版本的系統(tǒng)吵血,執(zhí)行以下命令:
adb shell "settings put global captive_portal_server connect.rom.miui.com"
Android 7.0之后的版本需要執(zhí)行下面的兩條命令:
adb shell "settings put global captive_portal_http_url http://connect.rom.miui.com/generate_204"
adb shell "settings put global captive_portal_https_url https://connect.rom.miui.com/generate_204"
? ? 然后手機(jī)開啟開發(fā)者模式谎替,然后通過usb連上電腦,由于屏幕失靈蹋辅,這個(gè)時(shí)候可以使用藍(lán)牙鼠標(biāo)钱贯,到https://github.com/meefik/linuxdeploy/releases網(wǎng)站下載最新的版本,很多網(wǎng)站都說要先安裝BusyBox侦另,我安裝了幾次BusyBox秩命,都沒有成功,具體錯(cuò)誤就是Remounting /system to rw . . . fail淋肾,在BusyBox的github issue里面有人遇到同樣問題硫麻,https://github.com/meefik/busybox/issues/78,作者說要修改一個(gè)腳本樊卓,我沒有去試拿愧,其實(shí)不安裝BusyBox也可以使用LinuxDeploy安裝linux鏡像的。
? ? 打開linux deploy碌尔,在左上角的菜單里面浇辜,可以設(shè)置屏幕常亮券敌,鎖定wifi和cpu喚醒等功能,然后點(diǎn)擊右下角的屬性柳洋,發(fā)行版選擇CentOS待诅,版本選擇7,鏡像大小我填的15G熊镣,源地址是http://chinanet.mirrors.ustc.edu.cn/centos-altarch/卑雁,選擇啟用SSH服務(wù)器,我沒有選擇啟用允許使用初始化系統(tǒng)绪囱,結(jié)果導(dǎo)致后面運(yùn)行systemctl的時(shí)候出現(xiàn)Running in chroot, ignoring request.錯(cuò)誤测蹲,然后點(diǎn)擊右上角菜單里面的配置,有的時(shí)候會出現(xiàn)錯(cuò)誤鬼吵,不用理會扣甲,linuxdeploy這個(gè)軟件是一個(gè)俄羅斯人開發(fā)的,bug很多齿椅,然后點(diǎn)擊安裝琉挖,大概需要10到30分鐘左右時(shí)間就安裝完成了。
????安裝完成以后通過遠(yuǎn)程ssh進(jìn)入涣脚,我就是打算安裝一個(gè)mariadb服務(wù)器示辈,通過命令curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash安裝了最新的mariadb數(shù)據(jù)庫,安裝完成以后打算用systemctl start啟動遣蚀,結(jié)果出現(xiàn)Running in chroot, ignoring request.錯(cuò)誤顽耳,只好使用mysqld_safe啟動,結(jié)果仍然出現(xiàn)錯(cuò)誤Failed to create a socket妙同,需要運(yùn)行命令usermod -a -G aid_inet,aid_net_raw mysql讓mysql能夠使用socket,然后通過setsid mysqld_safe > /dev/null 2>&1 &就成功啟動了mariadb膝迎。關(guān)閉mysql可以使用mysqladmin -uroot shutdown來完成粥帚。
? ? 整個(gè)安裝過程充滿了很多坑,但是讓舊手機(jī)發(fā)揮余熱也是一件很有成就的事情限次。