【藍(lán)莓小果凍】OpenFyde ChromeOS 折騰補(bǔ)全計(jì)劃
距離上次寫專欄還是在上次(劃 https://www.bilibili.com/read/cv3012088 差不多也有4年的歷史了(淚目 最近閑的沒事水篇專欄記錄記錄 畢竟第一次的系統(tǒng)教學(xué)也在專欄寫的 好了廢話不多說,這次我用的電腦還是以前的老爺機(jī) HP G32 Notebook配置如下: CPU:Intel i3 M398(4)@ 2.666GHZ GPU:AMD ATI Mobility Radeon HD 5458 內(nèi)存和硬盤掛掉換過,目前4g+60g
圖源網(wǎng)圖:https://m.mobile01.com/topicdetail.php?f=239&t=2386175 Buff Tips:下列文章僅作者淺捋了一下,如有謬誤請及時(shí)反饋,勘誤內(nèi)容會(huì)放在文章末尾,不嚴(yán)謹(jǐn)?shù)牡胤竭€請大家諒解。 一、選擇刷機(jī)鏡像
首先,度娘一下發(fā)現(xiàn)HP G32有黑蘋果鏡像,然后用鈔能力注冊論壇,下載刷入定制osx 10以及變色龍引導(dǎo),教程結(jié)束(搞錯(cuò)了,當(dāng)我沒說 滑稽) http://1kook7.blogspot.com/2016/06/hp-g32-os-x.html 資深黨可以跳過吹水的全篇文章了( 如果是一個(gè)對linux知識嚴(yán)重缺乏的小白,亦或者是對編譯相關(guān)代碼經(jīng)常感到頭疼的家伙,比如我,選擇一個(gè)好的鏡像文件是必不可少的 首先了解chrome os,此系統(tǒng)是基于google的上游開源系統(tǒng)chromium os(以下簡稱cros)構(gòu)建的,最開始是基于gentoo來封裝的,后續(xù)更新ARCVM等等功能的時(shí)候直接用linux內(nèi)核構(gòu)建出新的操作系統(tǒng),整個(gè)系統(tǒng)就純純的只有個(gè)瀏覽器,其實(shí)只體驗(yàn)chrome應(yīng)用的話,說實(shí)話感覺還不錯(cuò),突然感覺搞個(gè)只有微信小程序的wechatos也不是不行捏qwq 其中chromeos這個(gè)系統(tǒng)鏡像只被允許運(yùn)行安裝在Google的受信任列表里面出現(xiàn)的設(shè)備:https://support.google.com/chromeosflex/answer/11513094 在chromeos誕生的同時(shí)期,上游cros也出現(xiàn)也出現(xiàn)了仨分支:ArnoldtheBat(以下簡稱ATB)、cloudready、fydeos,cloudready的制作公司后來被Google給收購了,升級推出了chrome os flex(以下簡稱crof),cloudready這類系統(tǒng)隨即就和鳳凰os、remixos等等淡入視野中 由于chromeos只支持指定設(shè)備的緣故,引出了chromefy項(xiàng)目的誕生,該項(xiàng)目是把cloudready/crof作為鏡像驅(qū)動(dòng)主體,然后打上cros的恢復(fù)鏡像補(bǔ)丁,然后在任意一套電腦上安裝正版cros(大霧) 原項(xiàng)目:https://github.com/imperador/chromefy 基于crof新項(xiàng)目:https://github.com/sebanc/brunch 恢復(fù)鏡像地址:https://chrome100.dev/ (最低支持4代酷睿因特爾或者AMD銳龍) 然后是鏡像,如果電腦只支持32位系統(tǒng)的話,最后的支援版本是基于chromium 76內(nèi)核的cloudready分支版本,更多版本查看可以去getmyos.com網(wǎng)址上檢索 https://www.getmyos.com/cloudready-76-3-stable-home-edition-aug-2019
最新的crof因?yàn)橥略O(shè)備靠攏,老驅(qū)動(dòng)被拋棄了很多,處理器最低支持3代因特爾酷睿,因此我電腦也無法正常運(yùn)行這個(gè)系統(tǒng),u盤啟動(dòng)會(huì)卡在加載界面,雖然可以先用ctrl+alt+f2進(jìn)入其他的tty當(dāng)中,然后按照手動(dòng)安裝教程(命令行裝載)登錄chronos輸入sudo /usr/sbin/chromeos-install --dst /dev/sda來全盤覆蓋安裝,但是開機(jī)還是不能正常啟動(dòng)內(nèi)核 fydeos和crof一致,卡在內(nèi)核啟動(dòng)界面(logo加載界面):https://fydeos.com/docs/knowledge-base/getting-started/install-fydeos-to-hdd-using-cli/ 相比之下cloudready的驅(qū)動(dòng)適配就好得很多,測試了一下,我筆記本除了ATI的GPU沒有用起來之外,其他功能都是正常的,包括筆記本蓋子上的霍爾元件,開關(guān)按鈕這些
可惜的是cloudready停留在了2022年:https://www.getmyos.com/cloudready-v96-4-stable-home-edition-march-2022-64-bit-free-download openfyde正好完美解決新版本和驅(qū)動(dòng)的問題,如果自己覺得驅(qū)動(dòng)還不兼容的話還可以參照官方給出的教程來自行修補(bǔ)內(nèi)核、添加驅(qū)動(dòng),不過像我這種linux萌新,一點(diǎn)都不想和編譯兩個(gè)字搭上邊的就可以試試github里面已經(jīng)編譯好的鏡像,開箱即用非常方便,測試了下一代酷睿和ATI也能完全兼容?? 編譯界有句名言和大家共勉:一只手一包煙,一個(gè)報(bào)錯(cuò)改一天(
因?yàn)槲矣蠥TI的GPU,所以我用的openfyde_amd64_apu的通道,下載上面已經(jīng)構(gòu)建好的img.xz,然后用rufus/balenaEtcher或者其他鏡像刻錄工具 刻錄到移動(dòng)存儲(chǔ)設(shè)備上?? https://github.com/openFyde/overlay-amd64-openfyde_apu/releases 二、多系統(tǒng)傳統(tǒng)引導(dǎo)制作
本文打算安裝win11+openfyde雙系統(tǒng),然后引導(dǎo)方面采用微軟Windows Boot Manager來鏈?zhǔn)秸{(diào)用第三方syslinux引導(dǎo),這里選用Windows Boot Manager 如果你是尊貴的CLI 命令行用戶可以先安裝win再安裝openfyde,/usr/sbin/chromeos-install --dst $openfyde分區(qū) 如果喜歡用GUI圖形化界面來操作的話個(gè)人推薦采用下面的方式,先全盤安裝openfyde,然后用WinPE來把openfyde的分區(qū)縮小,給Windows系統(tǒng)留下安裝空間,如下圖掛載界面 記住先把openfyde的12分區(qū)保留,這個(gè)分區(qū)是用來引導(dǎo)openfyde的,Windows的安裝界面無腦選擇剩下的空分區(qū)進(jìn)行格式化,選Windows系統(tǒng)盤作為引導(dǎo)盤符 用bootice新建Windows Boot Manager引導(dǎo)文件,然后選中對應(yīng)盤符修改BCD,在bcd里面新建一個(gè)指向12分區(qū)的路徑,這樣就輕松搞定了鏈?zhǔn)揭龑?dǎo)
原因一是Windows Boot Manager引導(dǎo)的時(shí)候用的官方驅(qū)動(dòng)正好兼容,支持鼠標(biāo)鍵盤觸屏選擇 二是我們這里由于使用的是傳統(tǒng)引導(dǎo),也就是MBR+BIOS的模式,微軟允許鏈?zhǔn)秸{(diào)用其他第三方的引導(dǎo),而在uefi模式下微軟以安全為由限制只能鏈?zhǔn)秸{(diào)用微軟自家產(chǎn)品啟動(dòng)
上圖的鳳凰os忘記改名稱了,忽略(
如果這里不用bootice,也可通過之后Windows內(nèi)easybcd來修改Windows Boot Manager的BCD引導(dǎo)文件修改鏈?zhǔn)铰窂?,詳?xì)操作自己度娘吧,這里不再贅述
三、安裝打印機(jī)驅(qū)動(dòng)
openfyde的打印機(jī)驅(qū)動(dòng),還是需要連接特殊網(wǎng)絡(luò)才能在上面下載符合chromeos規(guī)范的ppd打印規(guī)范文件
掃描儀沒有規(guī)范文件倒是可以在同一網(wǎng)段下即開即用
我家里的打印機(jī)是愛普生的墨倉式L365,好像是面向國內(nèi)的,從國內(nèi)的UOS打印驅(qū)動(dòng)deb包里面解壓出ppd文件,結(jié)果chromeos不認(rèn)這個(gè)文件,離譜??
最后是連接特殊網(wǎng)絡(luò)出來L364的驅(qū)動(dòng)湊活著用
四、通過外部共享網(wǎng)絡(luò)來連接特殊網(wǎng)絡(luò)
這里我用clash進(jìn)行教程講解,有兩種方法,個(gè)人推薦使用第二種,原因無他,電腦上面不用在從系統(tǒng)代理層面每換一個(gè)軟件就配置代理文件 (一)使用LAN來proxy代理
先將使用特殊網(wǎng)絡(luò)的設(shè)備和我們的openfyde處于同一網(wǎng)絡(luò)中,然后把允許局域網(wǎng)連接打開(allow LAN),服務(wù)模式(TUN mode)和系統(tǒng)代理(System proxy)是針對本機(jī)的,開不開都沒關(guān)系,一般來說clash的代理是掛在回環(huán)地址上的,注意看端口,圖源網(wǎng)圖
新版本可以在LAN開關(guān)旁邊直接查看本機(jī)在該網(wǎng)絡(luò)中的ip地址,如果沒有使用cmd/powershell輸入ipconfig /all就能查看,這里我們主要使用ipv4協(xié)議,就不再考慮ipv6了 進(jìn)入openfyde的設(shè)置界面,然后在對應(yīng)WiFi下面打開手動(dòng)輸入代理,然后選擇https、http、ftp統(tǒng)一使用一個(gè)ip地址,把剛才看見的ip地址輸入到設(shè)備里面,然后端口號輸入clash上顯示的端口即可,比如這里上圖就應(yīng)該輸入7890
在系統(tǒng)加上了系統(tǒng)代理之后,linux容器或者有chroot權(quán)限的crosh終端也需要加上系統(tǒng)代理,最簡單的方法就是編輯vim ~/.bashrc文件,在文件末尾加上 ``` export https_proxy="https://ip:port" export http_proxy="http://ip:port" export ftp_proxy="ftp://ip:port" ``` ip和port端口號就是上面說的ip和clash上的端口號 注意這個(gè)代理格式是URI,而不是URL,所以必須加上協(xié)議名哦,不然有些模塊解析不了,不如下面這個(gè)就犯傻了,還好雖然是警告但開發(fā)者還是考慮到這種情況,能兼容下去 export https_proxy="https://192.168.1.35:6666" 對 export https_proxy="192.168.1.35:6666" 錯(cuò)
(二)使用Windows網(wǎng)絡(luò)共享通過網(wǎng)線連接
首先進(jìn)入clash安裝服務(wù)模式(service mode),待小地球變綠之后,再安裝通道模式(tunnel mode),然后打開混合配置(Mixin),dns配置能不動(dòng)就不動(dòng),如果解析有問題的話推薦8.8.8.8(谷歌dns)和114.114.114.114(阿里dns),圖源網(wǎng)圖
然后我們打開控制面板的網(wǎng)絡(luò)適配器界面,如果ipv4有網(wǎng)絡(luò)流通說明安裝正常,如果一直異常建議直接使用方案一,然后我們進(jìn)入clash tunnel的屬性,在里面啟用網(wǎng)絡(luò)共享,然后在共享里面選中我們連接openfyde的網(wǎng)線,然后在網(wǎng)線的屬性設(shè)置里面,dns需要和clash代理前的流量來源適配器相同,不然很有可能上不了網(wǎng)
記住不是和clash tunnel的dns一致,而是和clash使用的網(wǎng)絡(luò)對應(yīng)的dns一致喔 然后就能愉快上網(wǎng)了,在openfyde里面等待對應(yīng)網(wǎng)線供網(wǎng)就行,不需要修改任何代理設(shè)置 五、安裝生產(chǎn)力chrome原生應(yīng)用
真文韻RIME輸入法,用起來實(shí)在是太贊了,fydeos團(tuán)隊(duì)的本地化工作真的很用心,甚至為輸入法開發(fā)了個(gè)chrome應(yīng)用
2010年老電腦還能用二維碼識別,這兼容性太感人了
ublock放在第一位也太良心了,就是不知道能活多久
vscode和微信文件傳輸可以安裝到菜單里面
openfyde的界面v17 MD3風(fēng)格真是看不厭
就是steam在openfyde這個(gè)構(gòu)建版本上有點(diǎn)問題 在菜單里輸入steam就能找到,或者按Ctrl+Alt+T打開crosh(chrome os help) 輸入insert_coin let-me-play-you-foobar!也能打開steam窗口,下面是這個(gè)openfyde安裝不了steam的快照(悲
很可惜這個(gè)系統(tǒng)鏡像或許和我電腦不太兼容,沒能開啟ARCVM,看ARC的版本號有點(diǎn)像安卓9的SDK版本,(本來應(yīng)該運(yùn)行ARC++的安卓容器來著?)再加上openfyde沒有Google play,Open GApp開發(fā)者軟件打開不了,F(xiàn)ydeos應(yīng)用商店的安卓軟件無法添加,個(gè)人感覺是沒能正常啟動(dòng)安卓環(huán)境 https://chromeunboxed.com/how-to-check-your-chromebook-new-android-arcvm-container/
圖源網(wǎng)圖,另外這個(gè)隱私沙盒看起來還挺像那么回事(
v17的fydeos商店,也屬于chrome應(yīng)用,挺好看的 個(gè)人體驗(yàn)下來感覺cros里面有4種受官方支持的軟件形式: 第一種就是chrome應(yīng)用,通過市場來下載,開發(fā)者模式下需要解壓才能安裝,比如carent(類似sublime text的編輯器工具)、真文韻輸入法
第二種是安卓軟件,按理說應(yīng)該通過Google play安裝,比如下圖經(jīng)典的chrome os單獨(dú)付費(fèi)按鈕(點(diǎn) 名 表 揚(yáng) *** )
第三種是chrome插件,只能存在于chromium瀏覽器之中運(yùn)行,比如ublock、onetab、沙拉查詞這類
第四種是linux**沙盒**軟件,類似WSLg那種模式,x11看上去和其他原生窗口沒有多大區(qū)別
這里推薦幾款chrome應(yīng)用,對標(biāo)sublime text的文本編輯器,還挺好用的 https://github.com/thomaswilburn/Caret http://thomaswilburn.net/caret/ https://chrome.google.com/webstore/detail/caret/fljalecfjciodhpcledpamjachpmelml
六、在linux容器里面安裝wps、qq
先按照慣例啟動(dòng)linux容器
無腦在官網(wǎng)下載deb包,然后雙擊安裝等待即可,一般來說不會(huì)有啥報(bào)錯(cuò),詳細(xì)過程和ui忘記截圖惹,闊五,氣死偶咧,不過linux容器的通知能夠穿透到cros上面來還是很不錯(cuò)的體驗(yàn),隔壁Windows的wsl建議學(xué)習(xí)一下
七、解決linux容器里輸入法和主系統(tǒng)沖突的問題
這個(gè)和Windows WSLg的輸入法競爭問題類似,其實(shí)很好解決,就在環(huán)境變量或者用戶終端配置文件里面指定使用fcitx就行了 這里我們以fcitx5演示,先進(jìn)入容器 sudo apt install fcitx5 fcitx5-* im-config -y 暴力全量安裝所有包 注意 cros-garcon-override.conf 這個(gè)文件在新版本中已經(jīng)過時(shí)了,意味著你可以在任何地方修改都能被環(huán)境變量解析,無論/etc/profile還是/etc/environment,這里我們寫在.bashrc里面 詳細(xì)區(qū)別:https://www.freedesktop.org/software/systemd/man/environment.d.html
vim ~/.bashrc 然后在最后幾行加上 ``` export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS=@im=fcitx export SDL_IM_MODULE=fcitx export GLFW_IM_MODULE=fcitx fcitx5 --disable=wayland -d --verbose '*'=0 ``` 這里我們把wayland關(guān)掉,這樣才會(huì)使fcitx5生效x11 用verbose把輸出的內(nèi)容給隱藏掉 source ~/.bashrc 就大功告成了 方案二: 如果寫到環(huán)境變量里面 寫法為 ``` Environment="GTK_IM_MODULE=fcitx" Environment="QT_IM_MODULE=fcitx" Environment="XMODIFIERS=@im=fcitx" Environment="SDL_IM_MODULE=fcitx" Environment="GLFW_IM_MODULE=fcitx" ``` source 你修改的文件 然后度娘一下fcitx5的守護(hù)進(jìn)程fcitx.service創(chuàng)建吧 八、拋棄debian容器,擁抱arch容器
首先進(jìn)入cros的開發(fā)者終端,除了ctrl+alt+T來進(jìn)入套殼界面,我們還可以直接打開chromium輸入chrome-untrusted://crosh進(jìn)入該終端
然后輸入vmc start termina啟動(dòng)虛擬機(jī) lxc list顯示安裝好的虛擬機(jī)的運(yùn)行狀態(tài) sudo vim /usr/bin/run_container.sh 把其中的注釋部分 ``` lxc init "google:${FLAGS_lxd_image}" "${FLAGS_container_name}" || \ die "Unable to create container from image '${FLAGS_lxd_image}'" ``` 解開ESC :wq 保存退出 bash /usr/bin/run_container.sh --container_name arch --user bemly --lxd_image archlinux/current --lxd_remote https 先初始化一個(gè)arch容器 lxc exec arch -- bash 進(jìn)入容器的終端 passwd bemly (別設(shè)置root的密碼) usermod -aG wheel bemly 然后按照度娘的教程把pacman軟件包管理源設(shè)定好 再安裝所需的基本軟件 pacman -Syu archlinuxcn-keyring base-devel git gtk3 openssh xdg-utils xkeyboard-config sudo visudo 把%wheel ALL=(ALL:ALL) NOPASSWD: ALL上面的部分全部刪除 最后exit退出termina lxc console arch啟動(dòng)到arch容器 這里需要用到外網(wǎng),按照之前的教程,如果是方案一需要在bash配置文件里或者在環(huán)境變量的用戶變量中添加代理,詳細(xì)見六章的配置 這里配置容器和宿主系統(tǒng)之間的橋接 git clone https://aur.archlinux.org/cros-container-guest-tools-git.git cd cros-container-guest-tools-git makepkg -i mkdir ~/.config xdg-settings set default-web-browser garcon_host_browser.desktop 啟用sftp以及sommelier等相關(guān)服務(wù),和cros的文件系統(tǒng)、終端掛鉤 sudo systemctl enable cros-sftp systemctl --user enable sommelier@0.service systemctl --user enable sommelier@1.service systemctl --user enable sommelier-x@0.service systemctl --user enable sommelier-x@1.service systemctl --user enable cros-garcon.service exit退出容器到termina模式 然后停止兩個(gè)容器,把a(bǔ)rch名字換成penguin,這是因?yàn)閏ros只認(rèn)名字為penguin的這一個(gè)容器,另一個(gè)容器就只能通過lxc console來連接,而且如果同時(shí)運(yùn)行或許會(huì)發(fā)生不可預(yù)期的錯(cuò)誤 lxc stop arch lxc stop penguin lxc rename penguin debian lxc rename arch penguin 重啟虛擬機(jī) sudo reboot 或者在設(shè)置界面來回?fù)軇?dòng)共享麥克風(fēng)按鈕來關(guān)閉并手動(dòng)打開終端來重啟虛擬機(jī) 然后和日常裝系統(tǒng)一樣,設(shè)定好時(shí)間、時(shí)區(qū)、地區(qū)、語言,按照第七章裝入輸入法就行,之前教程我們用的是fcitx5-rime方案,這里我們可以選用fcitx-搜狗輸入法方案,大體步驟和第七章一致,安裝完fcitx后安裝搜狗輸入法,然后修改.bashrc(如果修改成了zsh修改.zshrc配置文件就行)、修改im-config 接著fcitx-autostart啟動(dòng)輸入法,fcitx-configtool配置搜狗輸入法就能正常使用了 https://12101111.github.io/install-archlinux-on-fydeos/ https://uranium92.tech/archives/39 https://www.reddit.com/r/Crostini/wiki/howto/run-arch-linux 九、Coruton和chromebrew獲取chroot
linux容器對我這臺(tái)老機(jī)子還是太過笨重了,跑起來風(fēng)扇就轉(zhuǎn)個(gè)不停,所以容器的最終歸屬還是chroot零損失狀態(tài) 我打算用crouton跑個(gè)xfce桌面,因?yàn)閏routon的作者在README.md里面的描述寫的太幽默了 https://github.com/dnschneid/crouton
但似乎一直報(bào)錯(cuò) /usr/local/bin/crash_reporter_wrapper: 119: exec: /var/run/crw/crw: Permission denied WARNING: Unable to register core dump handler. 在github issue才發(fā)現(xiàn)這個(gè)項(xiàng)目已經(jīng)被谷歌封堵的,應(yīng)該是cras_messages.h取消了crw的谷歌旁側(cè)加載 https://github.com/dnschneid/crouton/issues/4958
無奈我只能抱緊chromebrew的大腿 https://chromebrew.github.io/ 幸運(yùn)的是它能夠工作,作為一名******太酷辣,符合我對科技的想象(
使用教程是先git.io/vddgY另存為一個(gè)install.sh exec bash --init-file install.sh的路徑 就能坐等brew的大logo打印出來了,因?yàn)槲沂抢想娔X過程可能極慢
需要注意的是這個(gè)特殊網(wǎng)絡(luò)如果是方案一也需要修改.bashrc的代理然后source刷新一下
這波是chrome os里面用firefox,究極ntr
這個(gè)firefox有個(gè)缺點(diǎn)就是,默認(rèn)是不使用系統(tǒng)代理的,還要再配置一遍c
crew的2000+軟件庫還是挺大的,想要的基本都有,crew install software也很方便
成功的獲取到了chroot權(quán)限,并且提供了一個(gè)crew包管理工具
就這樣成功安裝上了crew包管理器,這里面的包還挺多的,在社區(qū)的努力下差不多有著2000+個(gè)不用編譯就能跑的包,但是包只支持當(dāng)前版本,回退安裝老版本需要自行編譯,老傳統(tǒng)先下載一個(gè)Minecraft玩,提一嘴的是需要在.bashrc里面先把$DISPLAY=:0當(dāng)前顯示桌面,不然默認(rèn)沒有分配啟動(dòng)不了
十萬字達(dá)成?十萬字達(dá)成?準(zhǔn)十萬字達(dá)成!
看上去我的精神狀態(tài)不是怎么很好(
十、放心,沒有升華
折騰的挺開心,感覺下一步就該折騰內(nèi)核編譯這塊了,先咕一咕,等openfyde下個(gè)大版本再來玩玩,這次這個(gè)驅(qū)動(dòng)適配完整度實(shí)在是讓人欣喜若狂,intel 1st gen i3+ati gpu 魔鬼配置竟然驅(qū)動(dòng)完整得很,而且連霍爾元件觸控板光盤屏幕亮度聲卡網(wǎng)卡這些都工作得很完美,簡直不敢相信有這么個(gè)烏托邦系統(tǒng)存在(霧
雙系統(tǒng)之前截的圖??忘記做好引導(dǎo)之后再截了
勘誤1:chromeos minecraft 它免費(fèi)了
https://chromeunboxed.com/chromebook-perk-minecraft-free-more-models-added/ 是我錯(cuò)怪了你(