開發環境
- Win7 64bit 家用進階版
- CPU: i5
- RAM: 6G
- VirtualBox 5.0.20
1. 安裝 debian
從 113 mirror 下載 debian-8.0.0-amd64-DVD-1.iso,...DVD-2.iso、...DVD-3.iso 不用下載,雖然安裝過程中會問你要不要 scan 其他的 CD/DVD,但把另外兩個 iso 放進去也沒什麼反應(可能要請其他先進解釋)。
一般來說我會準備 2G RAM 給虛擬機器,有些人認為只要 1G,這方面就看各位高興,至於怎麼安裝我想這部份大家都會就跳過。
2. 修改桌面
2.1 快速開啟 terminal
因為筆者之前幾乎都是使用 Ubuntu,習慣使用 ctrl+alt+t 叫出 terminal,debian 需要花點功夫:
- 點選左上角 Activities
- "Type to search..." 輸入 settings
- 選擇 Settings > Keyboard > Shortcuts > Custom Shortcuts
- 點選 "+" > name 輸入 terminal,command 輸入 gnome-terminal
- 點選 Add 後會發現這一條 shortcut 仍然是 Disable,點選 Disable 後輸入熱鍵 ctrl+alt+t。
如果您跟筆者一樣對 terminal 的顏色不滿意,打開 terminal:
- Edit
- Profile Preferences
- Colors
2.2 致能 root login
預設 Desktop 不允許以 root 登入,但我們只是要拿此虛擬機器做開發用,在那邊 su or sudo 太囉唆了,按照以下步驟解除封印:
- su 切換成 root
- vim /etc/gdm3/daemon.conf
- 找到 [security],在下面新增一行 AllowRoot=true
- vim /etc/pam.d/gdm-password
- #auth required pam_succeed_if.so user != root quiet_success
- reboot
3. Step 1: Initial configuration for a brand-new Debian Jessie image
Step 1-5 參考自 Exploring BeagleBone Chapter 7: Cross-Compilation and the Eclipse IDE,因為筆者照這個 url 安裝還是碰到不少麻煩,這邊算是做個整理補充。
本以為直接 apt-get install screenfetch 就好了,不過卻發現找不到這個 package,如果你碰到跟我一樣的問題,打開 /etc/apt/sources.list,在最下方增加:
deb http://ftp.debian.org/debian jessie main non-free contrib deb-src http://ftp.debian.org/debian jessie main non-free contrib deb http://ftp.debian.org/debian jessie-updates main contrib non-free deb-src http://ftp.debian.org/debian jessie-updates main contrib non-free註解掉 "deb cdrom..."
#deb cdrom:[Debian GNU/Linux 8.0.0 _Jessie_ - Official amd64 DVD Binary-1 20150425-12:54]/ jessie contrib main這樣就能以 apt-get install 安裝 screenfetch 了。
4. Step 2: Update the sources lists
這個步驟中會先要求你安裝 curl,可能會碰到錯誤訊息告訴你 /var/lib/dpkg/lock 鎖住了,reboot 再安裝一次 curl,Google 很多答案是叫你把這個檔案刪了,個人不建議。
5. Step 3-5
這幾個步驟沒有什麼意外,記得不要打錯字就好,如果有遺漏請留言。
6. 設定共用資料夾
筆者的習慣是 Windows 與虛擬機器共用資料夾,如果是 Ubuntu 把 VBoxGuestAdditions_5.0.20.iso 插入會自動安裝,但 debian 就需要一些功夫:
- apt-get update
- apt-get install build-essential module-assistant
- m-a > "PREPARE Configure the system to compile modules"
- 插入 VBoxGuestAdditions_5.0.20.iso
- cd /media/cdrom
- sh VBoxLinuxAdditions.run
7. "Manual Kernel Build for the BBB" 補充說明
Exploring BeagleBone Chapter 7: Cross-Compilation and the Eclipse IDE 中有一節 "Manual Kernel Build for the BBB",筆者實驗時碰到一些問題,以下是解決方法。
7.1 ./build_kernel.sh 無法下載 gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf.tar.xz
這是因為 Linaro 改變了 url,您需要修改 bb-kernel/scripts/gcc.sh:
#... gcc_toolchain () { #before: # site="https://releases.linaro.org" #after: site="https://releases.linaro.org/archive" } #...
7.2 無法下載 root file system
"Downloading a Root File System" 這一小節的 http://rcn-ee.net/deb/minfs/jessie/debian-jessie-minimal-armhf-2014-11-10.tar.xz 已經失效,請改用:
https://rcn-ee.net/rootfs/eewiki/minfs/debian-7.8-minimal-armhf-2015-01-20.tar.xz
7.3 /etc/fstab
分隔用的空白只能有一個,多一個少一個都不行:
7.4 sfdisk 參數
網站上的參數亂掉無法使用,請改用以下方式(來源):
sfdisk --in-order --Linux --unit M ${DISK} <<-__EOF__ 1,48,0xE,* ,,,- __EOF__這段指令的意思是第一個分區從 1MB 開始,大小 48MB,分區格式為WIN95: DOS 16-bit FAT, LBA-mapped(0xE),bootable(*),剩餘則全部分割為 Linux(0x83),not-bootable(-)。
7.5 uEnv.txt
網站上提供的 uEnv.txt 行不通,u-boot 會報錯找不到 loadzimage (但是有 loadimage):
"6.10 Flashing the BBB eMMC with this Image" 第一個步驟是執行 apt-get update,但是筆者碰到以下錯誤:
依下圖修正(來源):
在燒錄 eMMC 前記得參考這篇文章修改 uEnv.txt,否則 u-boot 仍然從 MicroSD 開機。
心得
過程中花最多時間的地方是 uEnv.txt,裡面的語法完全看不懂,只能說運氣好矇對了,看來路還長著呢...
Hi~
回覆刪除DigiKey維護的eewiki(Linux on ARM)上有比較簡單kernel的編譯方法,
另外kernel也有不同版本可以選擇
https://eewiki.net/display/linuxonarm/BeagleBone+Black
感謝回應
回覆刪除我比對了一下kernel build的部份,您提供的url上面的範例使用的branch比較新,但過程其實一樣,不過其他細節目前還搞不懂(例如uEnv.txt語法)...看看能不能從您提供的網站挖到一點東西
Hi~
回覆刪除DigiKey的Robert Nelson有在定期維護script,不用自己動手改路徑
向Robert Nelson提問也可以得到回應
另外armbian也是一個很好參考對象(中國的便宜方案為主)
https://github.com/igorpecovnik/lib
我都拿armbian的kernel+u-boot裡面的資料(ex patch,script,uEvn ..)來兜自己的buildroot
請問您使用的是哪一版呢?我這邊使用 origin/am33x-v3.18, 當然我相信 4.x 的版本一定修正了這個問題
刪除armbian很棒,可惜沒有支援am335x
我使用Processor SDK似乎沒這麼多問題
回覆刪除http://www.ti.com/tool/PROCESSOR-SDK-AM335X
Hi~
回覆刪除平時都是跟著eewiki的最新版走,因為偶爾會有u-boot和kernel兜不起來的問題,每次都直接換成新
不過某次kernel更新後就無法對應我的初代白色BeableBone了
會造成PMIC突然shutdown,就算是外接power也會(用公司BeableBone Black 2g版則不會)
之後就把BeableBone除役了(當server用)
其他時間都是拿中國的便宜方案在玩,armbian就成了我的參考對象(=^_^=)
一般應該是穩定後不會一直更新kernel吧,再說這類SDK常常對支援的主脈的其各硬體版本都不是很相容了,更何況拿到支系的白BB上去用。
刪除所以我也一直不敢買其他BB green,BBB wifi,感覺要擦不少屁股啊…
說到底,玩這種板子,到最後就是要各憑本事了…
強者我朋友用了對岸設計的ARM SoC,說運作起來很燙,不知道樓樓上的先進有碰過嗎?
刪除個人淺見玩板子就是練解決功力,如果都弄好了那還要玩什麼?^^"
Hi~
刪除全志嗎?用過舊的A13和H3,舊的單核不會燙,但是多核心的H3就會燙
CPU滿載全速執行5x~60度之間,這是貼了RPI散熱片的後的溫度
ARM進入多核心後都溫度都高
Rk3288也是要加大片的散熱片降溫
wandboard的i.mx6也是一大片的散熱片
作者已經移除這則留言。
刪除