教你用5毛錢編譯NanoPi M1內(nèi)核

1 準(zhǔn)備主機(jī)

內(nèi)核編譯是一個(gè)耗時(shí)耗力的大工程彻况,而且不少人都沒有專門的Linux電腦白胀,為了編譯內(nèi)核往往需要安裝虛擬機(jī)箱沦,虛擬機(jī)的性能可想而知陈醒。在云計(jì)算的時(shí)代栖茉,我們只要花5毛錢就可以輕輕松松編譯內(nèi)核。

Nano PI M1的Wiki上介紹了編譯環(huán)境是基于Ubuntu-14.04 LTS-64bit孵延,那我們就到阿里云上買一臺(tái)Ubuntu-14.04 LTS-64bit的服務(wù)器吕漂,考慮到M1的內(nèi)核代碼放在github上,所以需要選擇位于美國(guó)西部的主機(jī)尘应。

登錄阿里云惶凝,進(jìn)入控制臺(tái)選擇云服務(wù)器ECS,進(jìn)入實(shí)例犬钢,點(diǎn)擊右上角的創(chuàng)建實(shí)例苍鲜,選擇按量付費(fèi)。下面幾個(gè)選項(xiàng)特別注意:

  • 地域->選美國(guó)西部
  • 帶寬峰值->選擇最高的100M(因?yàn)槭前戳扛顿M(fèi)玷犹,只按流出實(shí)際流量付費(fèi))
  • 公共鏡像->選擇Ubuntu 14.04 64位
  • 設(shè)置root密碼

其他都按默認(rèn)配置混滔,整個(gè)配置和價(jià)格如下

001.png

需要注意流量這里的說明:

002.png

流量是單向收費(fèi),只收取流出流量,所以坯屿,我們基本可以忽略這個(gè)流量費(fèi)用油湖。

點(diǎn)擊購(gòu)買后,就可以在控制臺(tái)看到購(gòu)買的主機(jī)和IP了领跛,通過ssh使用root和之前創(chuàng)建的密碼登錄即可乏德。

2 準(zhǔn)備軟件環(huán)境

先說點(diǎn)題外話,由于這個(gè)是實(shí)打?qū)嵉幕ㄥX吠昭,雖然不到5毛錢喊括,但是該提高效率還是要提高效率,這里推薦大家先安裝tmux或者screen矢棚。

tmux是一個(gè)終端復(fù)用軟件郑什,簡(jiǎn)單的理解你相當(dāng)于你開多個(gè)ssh登錄到遠(yuǎn)程主機(jī),如果不太習(xí)慣tmux蒲肋,你也可以開多個(gè)putty或者終端來登錄主機(jī)蘑拯,方便同時(shí)進(jìn)行多個(gè)任務(wù)。

使用tmux只要記住ctrl+b 然后按c創(chuàng)建一個(gè)新窗口肉津,ctr+b,然后按0或者1舱沧,2妹沙,3等在窗口間切換。然后如果當(dāng)前輸出較多需要往前翻的時(shí)候熟吏,需要ctrl+b距糖,然后按“[“,這時(shí)候就可以用滾輪翻看了牵寺『芬看完以后用esc或q退出。

可以現(xiàn)在M1上使用一下tmux帽氓,熟悉了之后來提高效率趣斤。

2.1 更新軟件源

apt-get update

注意我們是root登錄,所以不需要使用sodu黎休。

2.2 安裝tmux【可選】

apt-get install tmux 

2.3 安裝git

apt-get install git

2.4 運(yùn)行tmux然后clone代碼

tmux
git clone https://github.com/friendlyarm/h3_lichee.git lichee

2.5 安裝基本編譯軟件

按ctrl+b浓领,然后按c新建一個(gè)終端,安裝基本編譯環(huán)境

apt-get install build-essential
apt-get install g++-multilib

2.6 安裝其他必備庫(kù)

apt-get install gawk git gnupg flex bison gperf \
zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
libgl1-mesa-dev mingw32 tofrodos \
python-markdown libxml2-utils xsltproc zlib1g-dev:i386 libncurses-dev u-boot-tools

注意不知道為什么我在阿里云上把2.5和2.6的安裝操作一起執(zhí)行的時(shí)候出錯(cuò)了势腮。另外還遇到過gcc沒有被安裝的情況联贩,因此在上述命令執(zhí)行完之后,在終端中輸入gcc檢查一下gcc裝好沒有捎拯。如果沒有裝好泪幌,則需要重新執(zhí)行一遍apt-get install build-essential來安裝。

3 編譯內(nèi)核

上面的安裝包都安裝完了之后,git也差不多clone完代碼了祸泪,此時(shí)我們需要按ctrl+b吗浩,然后按0切換到git執(zhí)行的窗口,如果代碼下完了浴滴,就可以開始編譯內(nèi)核了拓萌。

cd lichee
./build.sh -p sun8iw7p1 -b nanopi-h3
./build.sh pack

整個(gè)過程大概需要20分鐘。內(nèi)核具體的編譯步驟可以參考M1的wiki升略。

后面該咋辦微王,看各位的目的了。雖然服務(wù)器在美國(guó)品嚣,但是在我的網(wǎng)絡(luò)環(huán)境下訪問還是挺快的炕倘,編好的內(nèi)核包可以通過scp下載下來,算上之前的準(zhǔn)備工作翰撑,加內(nèi)核取回本地一個(gè)小時(shí)時(shí)間綽綽有余罩旋。

這是我最終的消費(fèi)記錄,用了兩個(gè)小時(shí)眶诈,期間反復(fù)編譯了幾次涨醋。

003.png

總體來說還是比較劃算的,而且可以選擇更高的配置加快編譯速度逝撬,特別是很多代碼都放在Github上浴骂,國(guó)內(nèi)clone的速度跟蝸牛一樣,用阿里云的美國(guó)服務(wù)器宪潮,幾乎是十幾M的clone速度溯警,完全可以每次編譯新clone就行。

4 總結(jié)

最后狡相,關(guān)于自己編譯內(nèi)核是因?yàn)镸1的內(nèi)核沒有集成ipset梯轻,所以想定制內(nèi)核,其中太曲折尽棕。關(guān)于內(nèi)核編譯有特別需要注意的兩點(diǎn):

1喳挑,當(dāng)前系統(tǒng)內(nèi)核的版本;
2滔悉,clone下來的內(nèi)核代碼的版本蟀悦。

我第一次編譯的時(shí)候兩個(gè)沒有對(duì)上號(hào),目前M1最新的debian系統(tǒng)是9月7號(hào)的nanopi-m1-debian-sd4g-20160907.img.zip氧敢,在github上的代碼也是9月7號(hào)最終提交的日戈。

最最后,我還順帶編譯了小度Wi-Fi的驅(qū)動(dòng)孙乖,最終還是失敗了浙炼,內(nèi)核編譯是個(gè)技術(shù)+體力活份氧,不明白原理基本白搭,大家如果不是特別需要弯屈,或者緊緊為了和我一樣嘗鮮就不必浪費(fèi)這5毛錢了蜗帜。

另外我發(fā)現(xiàn)M1自帶的mt7601是支持小度Wi-Fi,但是插上小度沒動(dòng)靜资厉,不知道怎么查看問題厅缺。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市宴偿,隨后出現(xiàn)的幾起案子湘捎,更是在濱河造成了極大的恐慌,老刑警劉巖窄刘,帶你破解...
    沈念sama閱讀 217,734評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件窥妇,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡娩践,警方通過查閱死者的電腦和手機(jī)活翩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來翻伺,“玉大人材泄,你說我怎么就攤上這事《至耄” “怎么了拉宗?”我有些...
    開封第一講書人閱讀 164,133評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)未妹。 經(jīng)常有香客問我簿废,道長(zhǎng)空入,這世上最難降的妖魔是什么络它? 我笑而不...
    開封第一講書人閱讀 58,532評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮歪赢,結(jié)果婚禮上化戳,老公的妹妹穿的比我還像新娘。我一直安慰自己埋凯,他們只是感情好点楼,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著白对,像睡著了一般掠廓。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上甩恼,一...
    開封第一講書人閱讀 51,462評(píng)論 1 302
  • 那天蟀瞧,我揣著相機(jī)與錄音沉颂,去河邊找鬼。 笑死悦污,一個(gè)胖子當(dāng)著我的面吹牛铸屉,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播切端,決...
    沈念sama閱讀 40,262評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼彻坛,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了踏枣?” 一聲冷哼從身側(cè)響起昌屉,我...
    開封第一講書人閱讀 39,153評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎椰于,沒想到半個(gè)月后怠益,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,587評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡瘾婿,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評(píng)論 3 336
  • 正文 我和宋清朗相戀三年蜻牢,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片偏陪。...
    茶點(diǎn)故事閱讀 39,919評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡抢呆,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出笛谦,到底是詐尸還是另有隱情抱虐,我是刑警寧澤,帶...
    沈念sama閱讀 35,635評(píng)論 5 345
  • 正文 年R本政府宣布饥脑,位于F島的核電站恳邀,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏灶轰。R本人自食惡果不足惜谣沸,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望笋颤。 院中可真熱鬧乳附,春花似錦、人聲如沸伴澄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽非凌。三九已至举农,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間敞嗡,已是汗流浹背颁糟。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工祭犯, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人滚停。 一個(gè)月前我還...
    沈念sama閱讀 48,048評(píng)論 3 370
  • 正文 我出身青樓沃粗,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親键畴。 傳聞我的和親對(duì)象是個(gè)殘疾皇子最盅,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • Ubuntu的發(fā)音 Ubuntu惹想,源于非洲祖魯人和科薩人的語言问词,發(fā)作 oo-boon-too 的音。了解發(fā)音是有意...
    螢火蟲de夢(mèng)閱讀 99,261評(píng)論 9 467
  • 我們說的Linux其實(shí)指的就是 內(nèi)核(kernel)而已嘀粱。這個(gè)內(nèi)核控制你主機(jī)的所有硬件并提供系統(tǒng)所有的功能激挪,所以它...
    Zhang21閱讀 7,418評(píng)論 0 18
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯(cuò)誤還是無法避免 以后資料會(huì)慢慢更新 大...
    數(shù)據(jù)革命閱讀 12,166評(píng)論 2 33
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)锋叨,斷路器垄分,智...
    卡卡羅2017閱讀 134,656評(píng)論 18 139
  • 有一種孤獨(dú)是原以為找一個(gè)能與自己分享痛苦的人很難,后來發(fā)現(xiàn)找一個(gè)能與自己分享喜悅的人更難娃磺。 有一種孤獨(dú)是本...
    寥若冰雪閱讀 176評(píng)論 0 1