【linux學習筆記--第一篇】基於nanopim2a的環境搭建,uboot編譯及下載

KarmaStone發表於2018-07-26

 

          接觸一個星期,搭建了虛擬機器,雙系統,行動硬碟ubuntu , 總結下來, 行動硬碟的系統最方便,硬碟可以分為2個分割槽,一個裝系統, 一個放檔案(windows也可以識別),感覺還是挺爽的。

 

          以下是這幾天折騰u-boot的一些操作,主要為編譯環境的搭建,uboot編譯,及燒寫。 剛接,太虐心了。

 

1、搭建ubuntu系統, 我用的是移動雙系統, 版本為18.04TLS

2、更新源 

sudo apt-get update

3、更新軟體,

sudo apt-get upgrade

4、安裝gcc 

sudo apt-get install gcc

5、安裝git

sudo apt-get install git

6、安裝依賴庫 

 sudo apt install libssl-dev

7、安裝arm 交叉編譯環境 ,使用官方提供的, git:  

git clone https://github.com/friendlyarm/prebuilts.git

8、解壓工具

sudo mkdir -p /opt/nanopim2a/tools  
sudo tar xf prebuilts/gcc-x64/arm-cortexa9-linux-gnueabihf-4.9.3.tar.xz -C /opt/nanopim2a/tools/

9、新增環境變數

sudo gedit /etc/profile

在檔案末尾新增

export PATH=/opt/nanopim2a/tools/4.9.3/bin:$PATH
export GCC_COLORS=auto

儲存後執行

source /etc/profile

輸入:  arm-linux-gcc -v ,有如下輸出證明交叉編譯環境配置成功

目標:arm-cortexa9-linux-gnueabihf
配置為:/work/toolchain/build/src/gcc-4.9.3/configure --build=x86_64-build_pc-linux-gnu --host=x86_64-build_pc-linux-gnu --target=arm-cortexa9-linux-gnueabihf --prefix=/opt/FriendlyARM/toolchain/4.9.3 --with-sysroot=/opt/FriendlyARM/toolchain/4.9.3/arm-cortexa9-linux-gnueabihf/sys-root --enable-languages=c,c++ --with-arch=armv7-a --with-tune=cortex-a9 --with-fpu=vfpv3 --with-float=hard --with-pkgversion=ctng-1.21.0-229g-FA --with-bugurl=http://www.friendlyarm.com/ --enable-__cxa_atexit --disable-libmudflap --disable-libgomp --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libsanitizer --with-gmp=/work/toolchain/build/arm-cortexa9-linux-gnueabihf/buildtools --with-mpfr=/work/toolchain/build/arm-cortexa9-linux-gnueabihf/buildtools --with-mpc=/work/toolchain/build/arm-cortexa9-linux-gnueabihf/buildtools --with-isl=/work/toolchain/build/arm-cortexa9-linux-gnueabihf/buildtools --with-cloog=/work/toolchain/build/arm-cortexa9-linux-gnueabihf/buildtools --with-libelf=/work/toolchain/build/arm-cortexa9-linux-gnueabihf/buildtools --enable-lto --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --enable-threads=posix --enable-linker-build-id --with-linker-hash-style=gnu --enable-plugin --enable-gold --disable-multilib --with-local-prefix=/opt/FriendlyARM/toolchain/4.9.3/arm-cortexa9-linux-gnueabihf/sys-root --enable-long-long
執行緒模型:posix
gcc 版本 4.9.3 (ctng-1.21.0-229g-FA)


 

10、下載sd_fuse

git clone https://github.com/friendlyarm/sd-fuse_nanopi2.git

11、下載uboot    及編譯

git clone https://github.com/friendlyarm/u-boot.git  
cd u-boot  
git checkout nanopi2-v2016.01  
make s5p4418_nanopi2_defconfig 
make CROSS_COMPILE=arm-linux-

 


12、拷貝bootloader.img到 sd_fuse的prebuilt目錄下

cp ./u-boot/bootloader.img ./sd-fuse_nanopi2/prebuilt/

 

13、SD卡插入裝置, 輸入 ls /dev/sd* , 檢視sd卡掛在的符號

 

14、使用sd_fuse燒寫(我的SD卡掛在為sdc)  

./fusing.sh /dev/sdc

stone@cq:~/nanopim2/sd-fuse_nanopi2$ ./fusing.sh /dev/sdc
Re-running script under sudo...
---------------------------------
./prebuilt/bl1-mmcboot.bin fusing
dd if=./prebuilt/bl1-mmcboot.bin of=/dev/sdc bs=512 seek=1
記錄了41+1 的讀入
記錄了41+1 的寫出
21208 bytes (21 kB, 21 KiB) copied, 0.0307948 s, 689 kB/s
---------------------------------
./prebuilt/loader-mmc.img fusing
dd if=./prebuilt/loader-mmc.img of=/dev/sdc bs=512 seek=129
記錄了53+1 的讀入
記錄了53+1 的寫出
27528 bytes (28 kB, 27 KiB) copied, 0.0173851 s, 1.6 MB/s
---------------------------------
./prebuilt/bl_mon.img fusing
dd if=./prebuilt/bl_mon.img of=/dev/sdc bs=512 seek=513
記錄了32+0 的讀入
記錄了32+0 的寫出
16384 bytes (16 kB, 16 KiB) copied, 0.0132997 s, 1.2 MB/s
---------------------------------
./prebuilt/bootloader.img fusing
dd if=./prebuilt/bootloader.img of=/dev/sdc bs=512 seek=3841
記錄了898+1 的讀入
記錄了898+1 的寫出
459936 bytes (460 kB, 449 KiB) copied, 0.477725 s, 963 kB/s
---------------------------------
Bootloader image is fused successfully.

至此搭建,編譯, 燒寫結束

 

 

 

 

 

 

相關文章