小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

構(gòu)建debain系統(tǒng)

 昵稱17791460 2014-06-01
 
環(huán)境準(zhǔn)備
forum.cubietech.com
1 環(huán)境準(zhǔn)備
本文在一臺運行著 Lubuntu64-12.10 上開始構(gòu)建目標(biāo)系統(tǒng);若非特別說明,下文的構(gòu)建方法適用 Cubieboard1、
Cubieboard2 以及 Cubieboard3,您必須明確自己使用的板子類型,并選擇相對應(yīng)的構(gòu)建方法。為了最大限度地
節(jié)約時間,我們先把必須下載的東西下載好,然后再進(jìn)一步闡釋;要下載的內(nèi)容分為三部分,這三部分彼此不干擾,
所以可以同時進(jìn)行。我們用 root 用戶在指定的目錄下進(jìn)行所有操作:
· 工作目錄為 $WORK_DIR
· 目標(biāo)系統(tǒng) rootfs 目錄為 $ROOTFS_DIR
筆者的設(shè)定如下:
# WORK_DIR=/home/soloforce/develop/cubieboard
# ROOTFS_DIR=${WORK_DIR}/chroot-armhf
此外,本文用陰影區(qū)域代表命令或文件內(nèi)容;因為頁幅限制,有的行末尾有"\" 折行符,表示該行尚未結(jié)束,在下一
行繼續(xù)——所以折行符不算是命令或文件內(nèi)容的一部分。此外,本文中用到的命令或代碼、腳本片段雖然用拷貝、粘
貼的方式更省事,但切記一些關(guān)鍵的文字不能照搬照抄,比如設(shè)備名,如''/dev/sdc'' 之類的,請務(wù)必根據(jù)實際情況
做修改,以免造成不可回復(fù)的損失。
1.1 下載必須的工具軟件
# apt-get install build-essential libncurses5-dev u-boot-tools \
qemu-user-static debootstrap git binfmt-support libusb-1.0-0-dev pkg-config
# apt-get install gcc-arm-linux-gnueabihf
1.2 下載源碼
從 github 下載 spl&u-boot、內(nèi)核源碼、sunxi 工具包等。注意內(nèi)核源碼超過 1.5G,耗時最長。如果您曾經(jīng)下載過
這些代碼,記得分別用 git pull 更新后再進(jìn)行后續(xù)操作,因為代碼倉庫每天都有變化。
#
#
#
#
cd ${WORK_DIR}
git clone https://github.com/cubieboard/u-boot-sunxi.git -b cubie/sunxi
git clone https://github.com/cubieboard/sunxi-tools.git
git clone https://github.com/cubieboard/sunxi-boards.git
下載下載內(nèi)核源碼,現(xiàn)在 Cubieboard1, Cubieboard2, Cubieboard3 的內(nèi)核源碼都可以在 cubieboard 內(nèi)核源
碼倉庫上找到了。以 sunxi-3.4 穩(wěn)定版本的分支為例,用 git 下載到本地。
# git clone https://github.com/cubieboard/linux-sunxi.git -b cubie/sunxi-3.4
3soloforce
環(huán)境準(zhǔn)備
forum.cubietech.com
1.3 下載并配置 Debian 基礎(chǔ)系統(tǒng)
#
#
#
#
#
#
mkdir ${ROOTFS_DIR}
cd ${ROOTFS_DIR}
debootstrap --foreign --arch armhf wheezy .
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
到此為止,Debian 基礎(chǔ)系統(tǒng)已經(jīng)配置好了;現(xiàn)在可以把 $ROOTFS_DIR 保存為一個壓縮包,以備日后之用。
# cd ${ROOTFS_DIR}
# tar jcpvf ../debian-rootfs-armhf-clean.tar.bz2 *
4soloforce
編譯組件
forum.cubietech.com
2 編譯組件
2.1 編譯 U-BOOT
# cd ${WORK_DIR}/u-boot-sunxi
# make distclean CROSS_COMPILE=arm-linux-gnueabihf-
對于 Cubieboard1,這樣編譯
# make cubieboard CROSS_COMPILE=arm-linux-gnueabihf-
對于 Cubieboard2,則這樣編譯
# make cubieboard2 CROSS_COMPILE=arm-linux-gnueabihf-
對于 Cubietruck(Cubieboard3),則這樣編譯
# make cubietruck CROSS_COMPILE=arm-linux-gnueabihf-
2.2 編譯 sunxi-tools
sunxi-tools 提供了 fexc、nand-part 等工具,在系統(tǒng)安裝、定制的過程中可能會用到,所以可以先編譯它們。因
為這些工具常常在宿主系統(tǒng)上(x86-64 Ubuntu Linux)來針對目標(biāo)設(shè)備、目標(biāo)系統(tǒng)運行,所以可以把它們編譯為
x86-64 的可執(zhí)行文件。
# cd ${WORK_DIR}/sunxi-tools
# make
2.3 配置、編譯內(nèi)核
2.3.1
拷貝預(yù)設(shè)內(nèi)核配置文件
對于 Cubieboard1
# cd ${WORK_DIR}/linux-sunxi
# cp arch/arm/configs/sun4i_defconfig .config
5soloforce
編譯組件
forum.cubietech.com
對于 Cubieboard2 和 Cubieboard3, 則如下
# cd ${WORK_DIR}/linux-sunxi
# cp arch/arm/configs/sun7i_defconfig .config
2.3.2
配置內(nèi)核
下面開始配置內(nèi)核,這是一個非常冗繁的過程,您必須足夠耐心和仔細(xì);而且,配置一個新的內(nèi)核往往做不到一次性
成功,可能需要多次測試內(nèi)核才能達(dá)到您的目的——還是那句話:要足夠耐心和仔細(xì)!
# make ARCH=arm menuconfig
配置的選項很關(guān)鍵,要著重注意以下幾項:
· SATA 硬盤支持
· GPIO 支持
· 無線網(wǎng)絡(luò)支持
· USB 網(wǎng)卡支持
· Tun/Tap 設(shè)備支持
· 攝像頭支持
· 紅外線支持
· USB 串口設(shè)備支持
· HDMI 輸出支持
下面是一些筆者為 Cubieboard2 的內(nèi)核進(jìn)行配置的截圖
6soloforce
編譯組件
forum.cubietech.com
圖 1: Device Drivers ---> Serial ATA and Parallel ATA drivers ---> SoftWinner Platform AHCI SATA support
圖 2: Device Drivers ---> GPIO Support ---> GPIO Support for sunxi platform
7soloforce
編譯組件
forum.cubietech.com
圖 3: Networking support ---> Wireless ---> Generic IEEE 802.11 Networking Stack (mac80211)
圖 4: Device Drivers ---> Network device support ---> Wireless LAN ---> Ralink driver support
8soloforce
編譯組件
forum.cubietech.com
圖 5: Device Drivers ---> Network device support ---> Universal TUN/TAP device driver support
圖 6: Device Drivers ---> Multimedia support ---> Video capture adapters ---> V4L USB devices ---> USB Video
Class (UVC)
9soloforce
編譯組件
forum.cubietech.com
圖 7: Device Drivers ---> Input device support ---> Keyboards ---> sunxi IR support
圖 8: Device Drivers ---> USB support ---> USB Serial Converter support ---> USB Prolific 2303 Single Port Serial
Driver
10soloforce
編譯組件
forum.cubietech.com
圖 9: Device Drivers ---> Graphics support ---> Support for frame buffer devices ---> HDMI Driver Support(sunxi)
2.3.3
編譯內(nèi)核
現(xiàn)在可以開始編譯內(nèi)核及模塊了
# make -j5 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- uImage modules
2.3.4
發(fā)掘更多的可用內(nèi)存
Cubieboard 的默認(rèn)內(nèi)核配置文件中提供了 mali-GPU 支持,并為 X11、DRI、Framebuffer 保留了 200 多兆內(nèi)
存,這些內(nèi)存將無法被用戶使用;如果想把 Cubieboard 作為一個無顯示輸出的服務(wù)器使用,那么這些保留內(nèi)存應(yīng)
當(dāng)釋放出來供用戶使用,此時必須修改內(nèi)核的配置,使其中包含如下選項(修改時可在 menuconfig 中按'/' 鍵來搜
索相關(guān)選項)
,然后再重新編譯內(nèi)核:
CONFIG_SUN4I_G2D=n
CONFIG_FB_SUNXI_RESERVED_MEM=n
CONFIG_SUN4I_G2D_MODULE=n
CONFIG_FB_SUNXI_RESERVED_MEM=n
CONFIG_SUNXI_MALI_RESERVED_MEM=n
CONFIG_DRM_MALI=n
CONFIG_MALI=n
CONFIG_MALI400=n
11soloforce
建立 ROOTFS
forum.cubietech.com
3 建立 ROOTFS
除非特別說明,本節(jié)的所有操作都在 $ROOTFS_DIR 下面進(jìn)行,所以我們進(jìn)入該目錄先。首先且最重要的是設(shè)置管
理員密碼。
# cd ${ROOTFS_DIR}
# chroot . passwd
3.1 重要步驟
Debian rootfs 基礎(chǔ)系統(tǒng)已經(jīng)在前文下載安裝,現(xiàn)在要進(jìn)一步配置。和主機(jī)名稱:
# echo "Cubieboard" > ${ROOTFS_DIR}/etc/hostname
# echo "127.0.0.1
Cubieboard" >> ${ROOTFS_DIR}/etc/hosts
內(nèi)核模塊安裝,這是最關(guān)鍵步驟:
# cp ${WORK_DIR}/linux-sunxi/arch/arm/boot/uImage ${ROOTFS_DIR}/boot/
# make -C ${WORK_DIR}/linux-sunxi INSTALL_MOD_PATH=${ROOTFS_DIR} ARCH=arm \
CROSS_COMPILE=arm-linux-gnueabihf- modules_install
設(shè)置串口調(diào)試終端參數(shù),這也是很重要的哦:
# echo T0:2345:respawn:/sbin/getty -L ttyS0 115200 vt100 >> etc/inittab
配置并更新軟件源:
#
#
#
#
echo deb http://http./debian/ wheezy main contrib non-free > etc/apt/sources.list
echo deb http://security./ wheezy/updates main contrib non-free >> etc/apt/sources.list
chroot . apt-get update
chroot . apt-get upgrade
3.2 可選步驟
安裝 Open SSH Server
12soloforce
建立 ROOTFS
forum.cubietech.com
# chroot . apt-get install openssh-server
安裝 locales
#
#
#
#
chroot . apt-get install locales
echo "en_US.UTF-8 UTF-8" > etc/locale.gen
echo "zh_CN.UTF-8 UTF-8" >> etc/locale.gen
chroot . locale-gen
您 還 可 以 依 樣 安 裝 其 他 軟 件, 比 如 wifi tools、wpasupplicant、USB 無 線 網(wǎng) 卡 的 固 件 (本 人 用 的 是 巴 法 絡(luò)
(BUFFALO)WLI-UC-GNM NANO 迷你無線網(wǎng)卡,一款 mini 型支持軟 AP 的 USB 無線網(wǎng)卡)
# chroot . apt-get install wireless-tools wpasupplicant firmware-ralink
3.3 生成內(nèi)核啟動參數(shù)文件
Cubieboard 支持多種啟動參數(shù)設(shè)定方案,本文介紹兩種。筆者采用的是方案二,因為修改參數(shù)更為簡便:-)
· 方案一:利用 boot.scr。
編輯 $ROOTFS_DIR/boot/boot.cmd 如下(切記具體內(nèi)容要根據(jù)用戶實際情況而定,如 root 分區(qū)的位置設(shè)定)
:
setenv bootargs console=ttyS0,115200 hdmi.audio=EDID:0 disp.screen0_output_mode=EDID:1280x1024p60 \
root=/dev/mmcblk0p1 rootwait panic=10 ${extra}
ext2load mmc 0 0x43000000 boot/script.bin
ext2load mmc 0 0x48000000 boot/uImage
bootm 0x48000000
然后生成 boot.scr
# mkimage -C none -A arm -T script -d boot/boot.cmd boot/boot.scr
· 方案二:利用 uEnv.txt
我們也可以用 uEnv.txt 文件設(shè)定啟動參數(shù)——不再需要 boot.scr 文件了,
刪除之。
編輯 $ROOTFS_DIR/boot/uEnv.txt
(沒有就創(chuàng)建一個,切記具體內(nèi)容要根據(jù)用戶實際情況而定,如 root 分區(qū)的位置)
13soloforce
建立 ROOTFS
forum.cubietech.com
mmcboot=fatload mmc 0 0x43000000 script.bin || fatload mmc 0 0x43000000 evb.bin; \
fatload mmc 0 0x48000000 uImage; if fatload mmc 0 0x43100000 uInitrd; \
then bootm 0x48000000 0x43100000; else bootm 0x48000000; fi
uenvcmd=run mmcboot
bootargs=console=ttyS0,115200 console=tty0 disp.screen0_output_mode=EDID:1280x1024p50 \
hdmi.audio=EDID:0 root=/dev/mmcblk0p1
3.4 生成 Script.bin
我們先把.fex 文件拷貝到 $ROOTFS_DIR/boot 中。對于 Cubieboard1,如下操作:
# cp ${WORK_DIR}/sunxi-boards/sys_config/a10/cubieboard.fex boot/script.fex
對于 Cubieboard2,如下操作:
# cp ${WORK_DIR}/sunxi-boards/sys_config/a20/cubieboard2.fex boot/script.fex
對于 CubieTruck,則:
# cp ${WORK_DIR}/sunxi-boards/sys_config/a20/cubietruck.fex boot/script.fex
3.4.1
配置 GPIO[可選]
喜歡玩外設(shè)控制的用戶可以在此時配置 GPIO 端口。本文配置了靠近 SATA 口的 30 個可用擴(kuò)展端口:編輯
$ROOTFS_DIR/boot/script.fex,在最后加上如下一節(jié):
[gpio_para]
gpio_used = 1
gpio_num = 30
gpio_pin_1 = port:PD01<1><default><default><default>
gpio_pin_2 = port:PD02<1><default><default><default>
gpio_pin_3 = port:PD03<1><default><default><default>
gpio_pin_4 = port:PD04<1><default><default><default>
gpio_pin_5 = port:PD05<1><default><default><default>
gpio_pin_6 = port:PD06<1><default><default><default>
gpio_pin_7 = port:PD07<1><default><default><default>
gpio_pin_8 = port:PD08<1><default><default><default>
gpio_pin_9 = port:PD09<1><default><default><default>
gpio_pin_10 = port:PD10<1><default><default><default>
14建立 ROOTFS
soloforce
gpio_pin_11
gpio_pin_12
gpio_pin_13
gpio_pin_14
gpio_pin_15
gpio_pin_16
gpio_pin_17
gpio_pin_18
gpio_pin_19
gpio_pin_20
gpio_pin_21
gpio_pin_22
gpio_pin_23
gpio_pin_24
gpio_pin_25
gpio_pin_26
gpio_pin_27
gpio_pin_28
gpio_pin_29
gpio_pin_30
3.4.2
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
forum.cubietech.com
port:PD11<1><default><default><default>
port:PD12<1><default><default><default>
port:PD13<1><default><default><default>
port:PD14<1><default><default><default>
port:PD15<1><default><default><default>
port:PD16<1><default><default><default>
port:PD17<1><default><default><default>
port:PD18<1><default><default><default>
port:PD19<1><default><default><default>
port:PD20<1><default><default><default>
port:PD21<1><default><default><default>
port:PD22<1><default><default><default>
port:PD23<1><default><default><default>
port:PD24<1><default><default><default>
port:PD25<1><default><default><default>
port:PD26<1><default><default><default>
port:PD27<1><default><default><default>
port:PH07<1><default><default><default>
port:PB10<1><default><default><default>
port:PB11<1><default><default><default>
配置 SPI[可選,僅適用于 Cubieboard1]
如果需要 SPI 支持,可以在內(nèi)核選項中選中 SPI for sun 支持。然后再修改 script.fex 并重新生成 script.bin 即
可。編輯 $ROOFS_DIR/boot/script.fex,修改相關(guān)內(nèi)容如下:
[spi0_para]
spi_used = 1
spi_cs_bitmap = 1
spi_cs0 = port:PI10<2><default><default><default>
spi_sclk = port:PI11<2><default><default><default>
spi_mosi = port:PI12<2><default><default><default>
spi_miso = port:PI13<2><default><default><default>
[spi_devices]
spi_dev_num = 1
[spi_board0]
modalias = "spidev"
max_speed_hz = 12000000
bus_num = 0
chip_select = 0
mode = 3
full_duplex = 0
manual_cs = 0
15soloforce
3.4.3
建立 ROOTFS
生成 script.bin
好的,又到關(guān)鍵的一步了,深呼吸一下,鍵入下面的指令:
# ${WORK_DIR}/sunxi-tools/fex2bin boot/script.fex boot/script.bin
16
forum.cubietech.comsoloforce
建立 ROOTFS
forum.cubietech.com
3.5 設(shè)置網(wǎng)絡(luò)
現(xiàn)在設(shè)置網(wǎng)絡(luò)參數(shù),編輯 etc/network/interfaces,下面的配置是動態(tài)獲取 IP 的設(shè)置
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
下面的配置則是設(shè)定固定 IP 的設(shè)置
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 10.0.0.10
netmask 255.255.255.0
network 10.0.0.0
broadcast 10.0.0.255
gateway 10.0.0.1
如果需要設(shè)定無線網(wǎng)卡,可以在追加如下配置(假定無線網(wǎng)卡的設(shè)備名為 wlan0,且系統(tǒng)要安裝軟件包 wireless-
tools、wpasupplicant )
auto wlan0
iface wlan0 inet dhcp
pre-up ip link set wlan0 up
pre-up iwconfig wlan0 essid your-ap-ssid
wpa-ssid your-ap-ssid
wpa-psk your-ap-passwd
17soloforce
安裝到 TF 卡
forum.cubietech.com
4 安裝到 TF 卡
筆者的 TF 卡設(shè)備名被認(rèn)作/dev/sdc,實際值要視你自己的情況而定,一定要搞清楚 TF 卡對應(yīng)的設(shè)備名,以避免不
必要的損失。
# CARD=/dev/sdc
4.1 安裝 u-boot
清空前面 1M 左右的數(shù)據(jù),為存放 u-boot 預(yù)留空間
# cd ${WORK_DIR}/u-boot-sunxi
# dd if=/dev/zero of=$CARD bs=1k count=1024
# dd if=u-boot-sunxi-with-spl.bin of=$CARD bs=1024 seek=8
4.2 介質(zhì)分區(qū)
為 TF 卡分區(qū), 本文沒有用 sfdisk 工具,而是用了 fdisk 工具。分區(qū)有兩種方案:
4.2.1
單一分區(qū)方案
筆者采用的即是單一分區(qū)方案,文件系統(tǒng)格式必須是內(nèi)核支持的格式(即相關(guān)驅(qū)動要編譯進(jìn)內(nèi)核而不是編譯成模塊)
,
如 ext3、ext4,執(zhí)行如下操作:
# fdisk $CARD
...(進(jìn)行分區(qū)操作)...
# mkfs.ext4 ${CARD}1
拷貝整個 ROOTFS 到 TF 卡
#
#
#
#
cd ${ROOTFS_DIR}
mount ${CARD}1 /mnt
tar --exclude=qemu-arm-static -cf - . | tar -C /mnt -xvf -
sync && umount /mnt
4.2.2
兩個分區(qū)以上的方案
如果把 TF 卡分成兩個分區(qū)(或兩個以上分區(qū),類同)
,此時最好把第一個分區(qū)格式化為 vfat 格式,否則可能無法啟
動(筆者曾碰到過這樣的情形)
,并且要設(shè)定 $ROOTFS_DIR/etc/fstab 內(nèi)容如下:
18soloforce
安裝到 TF 卡
forum.cubietech.com
/dev/mmcblk0p1 /boot vfat defaults 0 2
/dev/mmcblk0p2 / ext4 defaults,noatime 0 1
同時記得修改 $ROOTFS_DIR/boot/uEnv.txt,指定 root 分區(qū)設(shè)備為 mmcblk0p2
bootargs=console=ttyS0,115200 console=tty0 disp.screen0_output_mode=EDID:1280x1024p50 \
hdmi.audio=EDID:0 root=/dev/mmcblk0p2
然后拷貝整個 ROOTFS 到 TF 卡
#
#
#
#
#
#
cd ${ROOTFS_DIR}
mount ${CARD}2 /mnt
mkdir /mnt/boot
mount ${CARD}1 /mnt/boot
tar --exclude=qemu-arm-static -cf - . | tar -C /mnt -xvf -
sync && umount /mnt/boot && umount /mnt
如果沒有意外的話——您自己動手豐衣足食得到的 Cubieboard Debian Linux TF 卡版本或許已經(jīng)可以運行了,只
是還沒把 TF 卡插到 Cubieboard 上測試而已!
19soloforce
Cubietruck 相關(guān)
forum.cubietech.com
5 Cubietruck 相關(guān)
5.1 關(guān)于 WIFI
Cubietruck 采用 AP6210 的 Bluetooth+WIFI 模塊 (bchdmd),所以在編譯內(nèi)核的時候必須選中以下驅(qū)動:
圖 10: Device Drivers ---> Network device support ---> Wireless LAN ---> Broadcom 4329/30 wireless cards
support
還有幾點要注意:
首先,
不要選中 Enable WiFi control function abstraction ,
可能是相應(yīng)的功能尚未完善會導(dǎo)致
沖突;
其次,
模塊 bchdmd 依賴的 AP6210 固件默認(rèn)是缺失的,
需要自己拷貝到目標(biāo)系統(tǒng)的/lib/firmware/ap6210/下
面,這些固件可以從官方發(fā)布的 Lubuntu 系統(tǒng) ( http://dl./software/a20-cubietruck/lubuntu/
) 中拷貝出來;第三,bchdmd 還依賴 gpio-sunxi,必須在內(nèi)核中選中之。
為了在啟動內(nèi)核時自動加載 WIFI 相應(yīng)模塊,可以編輯 /etc/modules,加入如下幾行
gpio_sunxi
bchdmd
系統(tǒng)重啟后檢查 /sys/class/net/wlan0 是否成功創(chuàng)建,是的話就可以通過 iwconfig、ifconfig、wpasupplicant
等工具配置無線網(wǎng)卡了。
20安裝到 NAND[可選,僅適用于 Cubieboard1]
soloforce
forum.cubietech.com
6 安裝到 NAND[可選,僅適用于 Cubieboard1]
一旦確認(rèn) TF 卡上新構(gòu)建的 Debian Linux 系統(tǒng)已經(jīng)處于可用狀態(tài),我們可以進(jìn)一步把這個系統(tǒng)安裝到 Cubieboard
內(nèi)置的 4G Nand Flash 里面,這樣做的好處是......總之有好處。如果您希望繼續(xù)折騰,請堅持看下去——所要做的
事情比想像的要簡單。
作為區(qū)分,"PC#" 表示在構(gòu)建 Cubieboard Debian Linux 系統(tǒng)的 PC 系統(tǒng)中執(zhí)行命令,而"TF_Cubie#" 表示安
裝在 TF 卡的 Cubieboard 系統(tǒng)中執(zhí)行命令。
首先,把前文生成的 ROOTFS 打包
PC# cd ${ROOTFS_DIR}
PC# tar jcvpf ../debian-rootfs-armhf.tar.bz2 ./
然后,下載 Cubieboard 的 Nand Bootloader 映像并安裝之:
TF_Cubie# wget https://cubieboard./files/cubie_nand_uboot_partition_image.bin
TF_Cubie# dd bs=4096 if=cubie_nand_uboot_partition_image.bin of=/dev/nand
上述命令會把 bootloader 以及 boot 相關(guān)程序?qū)懭?dev/nand 中,并把 nand 分成兩個分區(qū) nanda, nandb。為
了確保寫入成功,重啟一下 Cubieboard。
TF_Cubie# sync
TF_Cubie# reboot
等重啟完畢后,就可以對 Nand 進(jìn)行分區(qū)、格式化、掛載等操作了。如果需要重新分區(qū)的話可以用 nand-part 工具,
在 sunxi-tools 里面可以找到,可能要自行編譯。
TF_Cubie#
TF_Cubie#
TF_Cubie#
TF_Cubie#
TF_Cubie#
mkfs.ext4 /dev/nandb
mkdir /mnt/nanda
mkdir /mnt/nandb
mount /dev/nanda /mnt/nanda
mount /dev/nandb /mnt/nandb
把 前 文 生 成 的 debian-rootfs-armhf.tar.bz2,從 PC 上 發(fā) 送到 Cubieboard 并 解 壓 縮 到 nandb 上, 并 拷 貝
script.bin 到 nanda 分區(qū)
TF_Cubie# tar jxpvf debian-rootfs-armhf.tar.bz2 -C /mnt/nandb
TF_Cubie# cp /mnt/nandb/boot/script.bin /mnt/nanda/
刪掉不需要的引導(dǎo)文件
21soloforce
安裝到 NAND[可選,僅適用于 Cubieboard1]
forum.cubietech.com
TF_Cubie# rm /mnt/boot/uEnv.txt
優(yōu)化 fstab,減少 Nand 的擦寫次數(shù),既提速又延長介質(zhì)的使用時間:把下面的指令加入到/mnt/etc/fstab
tmpfs
tmpfs
tmpfs
tmpfs
/tmp tmpfs defaults,noatime,mode=1777 0 0
/var/tmp tmpfs defaults,noatime,mode=1777 0
/var/log tmpfs defaults,noatime,mode=0777 0
/var/log/apt tmpfs defaults,noatime 0 0
0
0
注意,上面把/var/log 目錄設(shè)定為 tmpfs,會導(dǎo)致系統(tǒng)及一些應(yīng)用程序的日志無法持久保存,請酌情采用。
卸載文件系統(tǒng),關(guān)閉系統(tǒng)和電源:
TF_Cubie# umount /mnt/nanda
TF_Cubie# umount /mnt/nandb
TF_Cubie# sync && shutdown -h now
然后,拔掉 TF 卡,重開電源,啟動進(jìn)入 Nand 系統(tǒng)!
22創(chuàng)建系統(tǒng)映像 [可選]
soloforce
forum.cubietech.com
7 創(chuàng)建系統(tǒng)映像 [可選]
分享,是的,分享。如果您想把自己制作的系統(tǒng)分享給朋友們,可以參考本節(jié)。這里沒有給出詳細(xì)的指令說明,請自
行參考相關(guān)資源。
#
#
#
#
#
#
cd ${WORK_DIR}
dd if=/dev/zero of=disk.img count=4000000 (此處為2G大小;您可以自行修改)
losetup /dev/loop0 disk.img
dd if=/dev/zero of=/dev/loop0 bs=1k count=1024
cd ${WORK_DIR}/u-boot-sunxi
dd if=u-boot-sunxi-with-spl.bin of=/dev/loop0 bs=1024 seek=8
下面對映像設(shè)備進(jìn)行分區(qū),并檢查一下第一個分區(qū)的偏移是否為 2048 個 block(每個 block 為 512Bytes)
# fdisk /dev/loop0
...分區(qū)動作...這里分兩個區(qū),第一個分區(qū)64MB,第二個分區(qū)占據(jù)所有剩余空間...
# fdisk -l /dev/loop0 (查看分區(qū)的偏移量)
Disk /dev/loop0: 2048 MB, 2048000000 bytes
255 heads, 63 sectors/track, 248 cylinders, total 4000000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x1408d14e
Device Boot
/dev/loop0p1
/dev/loop0p2
Start
2048
133120
End
133119
3999999
Blocks
65536
1933440
Id
83
83
System
Linux
Linux
下面就可以把分區(qū)掛載起來,并拷貝系統(tǒng)了
#
#
#
#
#
#
#
#
#
#
#
#
cd ${WORK_DIR}
losetup -d /dev/loop0 && losetup /dev/loop0 disk.img (重新關(guān)聯(lián)一次)
losetup -o 1048576 /dev/loop1 /dev/loop0 (關(guān)聯(lián)第一分區(qū),1048576=512*2048)
losetup -o 68157440 /dev/loop2 /dev/loop0 (關(guān)聯(lián)第二分區(qū),68157440=512*133120)
mkfs.vfat /dev/loop1
mkfs.ext4 /dev/loop2
mount /dev/loop2 /mnt
mkdir /mnt/boot
mount /dev/loop1 /mnt/boot
cd ${WORK_DIR}/chroot-armhf
tar --exclude=qemu-arm-static -cf - . | tar -C /mnt -xvf -
sync && umount /mnt/boot && umount /mnt
23soloforce
創(chuàng)建系統(tǒng)映像 [可選]
# losetup -d /dev/loop2
# losetup -d /dev/loop1
# losetup -d /dev/loop0
好了,disk.img 已經(jīng)完成,您可以把它發(fā)布到網(wǎng)上了:-> 如果要安裝到 TF 卡,執(zhí)行:
# dd if=disk.img of=$CARD bs=4k
24
forum.cubietech.comsoloforce
接下來做什么
forum.cubietech.com
8 接下來做什么
Cubieboard Debian Linux 的構(gòu)建要告一段落了,拔下讀卡器,拔下 TF 卡,插到 CuebieBoard 上,接上電源
(從 5V 口或者 miniUSB 口接入)
,接上 TTL 串口調(diào)試線,接通電源......然后,祈禱吧;-) 如果看到字符迅速滾動,
最后出現(xiàn)類似 login 的字樣,恭喜您!若看到 panic 之類,然后所有的文字卡死不滾動了,那么,也恭喜您!您有機(jī)
會親手 debug 一下了:-o
當(dāng)然,即使系統(tǒng)已經(jīng)可以啟動了,也可能還沒有達(dá)到您預(yù)期的要求,比如某個內(nèi)核模塊忘記編譯進(jìn)去了導(dǎo)致您
的 USB 網(wǎng)卡或者 USB WIFI 模塊或者藍(lán)牙模塊沒法工作——別急,您可以返回前面的步驟重新配置內(nèi)核、編譯內(nèi)
核、安裝內(nèi)核及模塊......遲早,您的系統(tǒng)在您的手下會越來越好用!
8.1 設(shè)置時區(qū)和日期
# rm /etc/localtime && ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# date MMDDhhmmyyyy
Cubieboard1 和 Cubieboard2 沒有引出 RTC,所以無法通過 hwclock -w 保存系統(tǒng)時間, 解決辦法是通過網(wǎng)絡(luò)來
校正:
# apt-get install ntpdate
# nano -w /etc/default/ntpdate
更改 ntpdate 文件如下:
NTPDATE_USE_NTP_CONF=no
NTPSERVERS="0.asia.pool.ntp.org 1.asia.pool.ntp.org 2.asia.pool.ntp.org 3.asia.pool.ntp.org"
NTPOPTIONS=""
然后執(zhí)行
# ntpdate-debian
現(xiàn)在設(shè)置開機(jī)啟動 ntpdate, 在/etc/rc.local 文件的 exit 0 這一行之前加入:
ntpdate-debian &
Cubietruck 引出了 RTC,也有板載時鐘電池,這樣日期設(shè)置的問題就自然解決了。但筆者發(fā)現(xiàn),Cubietruck 的
RTC 精度有限,安裝個 ntpdate 有助于校正時間,還是有好處的。
25soloforce
接下來做什么
8.2 安裝其他軟件
先記得更新一下軟件源,然后就可以放心的 apt-get 了
# apt-get update
# apt-get upgrade
# apt-get install whatever-you-want
26
forum.cubietech.comsoloforce
參考文獻(xiàn)
forum.cubietech.com
致謝
感謝 Cubietech 團(tuán)隊為我們帶來如此好玩的產(chǎn)品!感謝 Cubieboard 社區(qū)的每一個人的貢獻(xiàn)!本文參考了不少資料
文獻(xiàn),在文末給出的相關(guān)參考鏈接未能包含所有出處,請諒解。此外,限于筆者的知識和見識水平,文中必定存在謬
誤,請方家好手不吝批評賜教!
參考文獻(xiàn)
[1] http:///Building_on_Debian
[2] http:///FirstSteps
[3] https://github.com/linux-sunxi/u-boot-sunxi/wiki
[4] https://github.com/cubiebook/cubiebook/blob/master/chapter3/debian/debian.md

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多