【linux學習筆記--第一篇】基於nanopim2a的環境搭建,uboot編譯及下載
接觸一個星期,搭建了虛擬機器,雙系統,行動硬碟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.
至此搭建,編譯, 燒寫結束
相關文章
- ZYNQ學習筆記(一): uboot 編譯筆記boot編譯
- 學習筆記:MQTT環境搭建筆記MQQT
- Android環境搭建學習筆記Android筆記
- React學習筆記1:環境搭建React筆記
- linux環境下vscode 中C/C++編譯及除錯環境的搭建LinuxVSCodeC++編譯除錯
- [編譯] 9、在Linux下搭建 nordic 最新基於 zephyr 的開發燒寫環境編譯Linux
- 分散式基礎&專案環境搭建_學習筆記分散式筆記
- perl學習筆記--搭建開發環境筆記開發環境
- 第一篇:《UNIX 環境高階程式設計》編譯環境的搭建程式設計編譯
- Android 原始碼的下載和編譯環境的安裝及編譯Android原始碼編譯
- uboot-uboot介紹-學習筆記boot筆記
- (一)Linux環境的學習環境的搭建Linux
- uboot-學習筆記boot筆記
- laravel學習筆記之開發環境搭建Laravel筆記開發環境
- kafka學習筆記1:測試環境搭建Kafka筆記
- Linux學習環境搭建Linux
- 關於學習ORACLE時linux環境搭建OracleLinux
- 高通編譯環境搭建編譯
- openform環境搭建-編譯ORM編譯
- webpack學習筆記:搭建基本的前端開發環境Web筆記前端開發環境
- 案例分享:基於Docker環境下的Jenkins搭建及使用DockerJenkins
- Dockerfile 與 Compose 環境搭建學習筆記(二)Docker筆記
- Dockerfile 與 Compose 環境搭建學習筆記(一)Docker筆記
- 001_使用VMWareWorkstation搭建學習環境筆記筆記
- Windows下搭建Android NDK開發環境及命令列編譯WindowsAndroid開發環境命令列編譯
- 學習二:Hadoop1.0.1 Eclipse編譯環境搭建HadoopEclipse編譯
- 李炎恢 Laravel API介面學習筆記[基於 Laravel Sail 環境]LaravelAPI筆記AI
- .net環境下ckeditor與ckfinder學習筆記筆記
- Android編譯環境搭建Android編譯
- docker 學習筆記之實戰 lnmp 環境搭建系列 (2) ------ 手動搭建 lnmp 環境Docker筆記LNMP
- 【編譯openjdk學習筆記】編譯JDK筆記
- Linux 環境下編譯安裝 RedisLinux編譯Redis
- php 學習筆記之搭建開發環境(mac版)PHP筆記開發環境Mac
- <react學習筆記(1)>認識react和環境搭建React筆記
- 交叉編譯和交叉除錯環境搭建及使用編譯除錯
- PC基於Linux的叢集環境搭建?Linux
- [imx6q][android]學習筆記-android裡uboot和kernel的編譯配置Android筆記boot編譯
- REDHAT LINUX學習筆記之環境變數RedhatLinux筆記變數