如何在機頂盒中刷入原生的Debian系統

2021-10-23 02:37:02 字數 3505 閱讀 6303

debian系統雖然在國內用得比較少,但是在國外是非常流行的linux系統。其實debian的用途非常廣泛。只要配置過關,使用者甚至可以在機頂盒中刷入debian系統。那麼如何在機頂盒中刷入原生的debian系統呢?

操作步驟:

第一部分:

進入預設的安卓系統,通過 ttl,使用 root 賬戶直接掛載 nanda 分割槽,獲取其中的 script.bin。如果你沒有 ttl 線,可以先嘗試用 adb 連線盒子,然後用 root 大師來獲取 root 許可權,之後順序操作即可:先把盒子連線上 wifi,然後 adb connect ipaddress,root。總之,就是為了獲取 script.bin。

一、獲取 script.bin方法:

# mkdir /sdcard/nanda

# mount -t vfat /dev/block/nanda /sdcard/nanda

# exit

# adb pull /sdcard/nanda/script.bin

二、取得 script.bin 後,如果要修改其中的節點,那麼需要 sunxi-tools:

# git clone

# make

。/bin2fex script.bin script.fex

。/fex2bin script.fex script.bin

script.bin 檔案是 fex 檔案的二進位制實現,fex 檔案定義 soc 是如何工作的,它配置 gpio 引腳並設定 dram、顯示(如 hdmi、vga、解析度)等引數。

第二部分:

1、編譯 uboot

這邊的編譯環境為 linux version 3.16.0-4-686-pae ([email protected]) (gcc version 4.8.4 (debian 4.8.4-1) ) #1 smp debian 3.16.7-ckt11-1+deb8u3 (2015-08-04),預設的編譯工具為 gcc-arm-linux-gnueabihf,在「deb jessie main」源中可以找到。

因為我這邊沒有也找不到盒子的 uboot 原始碼,我嘗試用了 cubieboard2 的 uboot 原始碼,編譯後可以正常使用。

git clone -b wip/a20

make cubieboard2 arch=arm cross_compile=arm-linux-gnueabihf-

找乙個 sd 卡,用來引導,全志盒子預設為 sd 卡引導。用 fdisk 給 sd 卡分兩個區,第乙個為 fat,第二個為 ext4 格式,具體不再贅述。按照我的是 sdb1、sdb2。

將編譯好的 uboot 寫入到 sdcard:

# dd if=spl/sunxi-spl.bin of=/dev/sdb bs=1024 seek=8

# dd if=u-boot.bin of=/dev/sdb bs=1024 seek=32

新建乙個 boot.cmd 檔案,輸入以下內容:

setenv bootargs console=ttys0,115200 root=/dev/mmcblk0p2 rootwait

panic=10 $

fatload mmc 0 0x48000000 uimage

bootm 0x48000000

使用 cmd 檔案來生成 scr 檔案:

mkimage -c none -a arm -t script -d boot.cmd boot.scr

2、編譯核心

依舊使用 cubieboard2 的核心。直接使用 cubieboard2 的核心可以啟動,但是需要新增盒子的 phy 網絡卡驅動。phy 為 icplus 晶元。如下操作:

# git clone

# make arch=arm cross_compile=arm-linux-gnueabihf- sun7i_defconfig

# make arch=arm cross_compile=arm-linux-gnueabihf- menuconfig

進入 menuconfig 狀態,新增 icplus 網絡卡的支援:

# make -j$(nproc) arch=arm cross_compile=arm-linux-gnueabihf- uimage modules

# make arch=arm cross_compile=arm-linux-gnueabihf- install_mod_path=output modules_install

生成的核心和模組路徑:

arch/arm/boot/uimage

output/lib/

製作 debian rootfs:

# debootstrap --verbose --arch=armhf --foreign jessie debian

# cd debian

# cp /usr/bin/qemu-arm-static usr/bin/

# lc_all=c language=c lang=c chroot 。 /debootstrap/debootstrap --second-stage

# lc_all=c language=c lang=c chroot 。 dpkg --configure -a

chroot 並部署 rootfs:

passwd

echo 「a20」 》 etc/hostname

echo 「127.0.0.1 a20」 》 etc/hostname

echo t0:2345:respawn:/sbin/getty -l ttys0 115200 vt100 》 etc/inittab

echo deb / jessie main contrib non-free 》 etc/apt/sources.list

echo deb jessie/updates main contrib non-free 》 etc/apt/sources.list

apt-get update

apt-get dist-upgrade

apt-get install openssh-server

apt-get install locales

echo 「en_us.utf-8 utf-8」 》 etc/locale.gen

echo 「zh_cn.utf-8 utf-8」 》 etc/locale.gen

locale-gen

需要修改 rootfs 下的兩個檔案 /etc/network/inte***ces 和 /etc/ssh/sshd_config,開啟靜態 ip 位址和支援 root 登入。

所有的製作完成了,下面拷貝檔案到 sd 卡相應分割槽:

拷貝到 sdb1 下的檔案:

uimage script.bin boot.scr

然後將 debian 的 rootfs 檔案拷貝到 sdb2,核心模組拷貝到 /lib 下。

插入 sd 卡到盒子,通電後等待片刻即可用 ssh 登入盒子了,乙個完整原生的 debian 系統跑起來了。

雖然在機頂盒中的debian系統還不能執行大型的軟體,但是讓機頂盒功能變豐富還是很容易得。

拷貝機頂盒中資料檔案

一 問題描述 1.因測試需要,需要機頂盒n8606中portal檔案拷貝出來。二 解決方案和效果 1.使用串列埠拷貝檔案 1 使用串列埠線連線上機頂盒串列埠。開啟securecrt工具,選擇串列埠連線,連線機頂盒。2 配置乙個linux伺服器共享資料夾export,開啟nfs服務。配置資訊見參考資料...

關於機頂盒

數碼電視的特點和優勢 一 與模擬電視相比,數碼電視在技術上有以下特點和優勢 1 清晰度高 音訊效果好 抗干擾能力強。數字電視訊號的傳輸不像模擬訊號受在傳輸過程中雜訊積累的影響,且不受地理因素的限制,幾乎可以無限擴大覆蓋面,在接收端收看到的電檢視像及收聽到的聲音質量非常接近演播室水平。此外,數碼電視的...

互動機頂盒與普通機頂盒比較

隨著網際網路的發展,硬體晶元技術的突破,機頂盒也從原來的單純滿足看電視的普通機頂盒,發展到現在功能豐富的互動機頂盒。他們兩者有什麼區別呢?首先,普通的機頂盒應用的場景基本都是比較早以前的閉路電視時代,那個時候人們只能單純通過切換頻道來接收電視節目資訊,而且錯過了就無法再回看。如果從資訊傳遞方式的角度...