环境搭建
正确安装虚拟机,并安装Ubuntu 20.04;
参考 http://wiki.friendlyarm.com/wiki/index.php/NanoPi_R1S-H3/zh
http://wiki.friendlyarm.com/wiki/index.php/How_to_Build_FriendlyWrt 获取代码:
1. 安装 repo 工具:
git clone <https://github.com/friendlyarm/repo>
sudo cp repo/repo /usr/bin/
2. 下载项目源代码(两种方法选其一)
方法一:使用网盘里的repo压缩包
文件位于网盘的以下路径:sources/friendlywrt-CPU-YYYYMMDD.tar (CPU为对应的cpu型号,YYYYMMDD表示打包的日期) 从网盘中获取的 repo 压缩包在解压之后,需要执行一下以下命令做一次解包动作,以H3为例:
tar xvf /path/to/netdisk/sources/friendlywrt-h3-20190101.tar
cd friendlywrt-h3
repo sync -l --no-clone-bundle
至此你已经获得了完整的可以编译生成img的源代码,源代码版本是打包对应的日期,如果想拉取到官方最新的版本,可以去掉 -l 参数,执行一次 repo sync即可, 命令如下:
cd friendlywrt-h3
repo sync --no-clone-bundle
可选步骤:如果网络环境比较差,可以预先解压好FriendlyWrt所需的压缩包,避免中途因为网络原因导致编译被中断:
cd friendlywrt-h3
cd pre-download/
./unpack.sh
方法二:直接从github下载完整的源代码
mkdir friendlywrt-h3
cd friendlywrt-h3
repo init -u <https://github.com/friendlyarm/friendlywrt_manifests> -b master-v19.07.1 \\
-m h3.xml --repo-url=https://github.com/friendlyarm/repo --no-clone-bundle
repo sync -c --no-clone-bundle
3. 同步项目到最新版本
repo sync -c –no-clone-bundle
同步过程中,由于网络原因出现中断,可以使用下面脚本同步代码:
#! /bin/bash
repo sync -c --no-clone-bundle
while [ $? -ne 0 ];
do
repo sync -c --no-clone-bundle
done
4. 搭建编译环境
在PC的Ubuntu系统下 (建议使用版本18.04-64bit),执下以下命令安装所需的软件:
wget -O - <https://raw.githubusercontent.com/friendlyarm/build-env-on-ubuntu-bionic/master/install.sh> | bash
官方代码编译
查看帮助
不带参数执行 build.sh,默认是打印帮助信息:
./build.sh
全自动方式编译
初次编译,需要选择目标的硬件平台:
./build.sh nanopi_r1s-h3.mk
执行上述命令,会自动编译所有组件,其中包括u-boot, kernel 和 friendlywrt,并生成sd启动的烧写镜像文件。
编译单独的模块
编译kernel
./build.sh kernel
编译u-boot
./build.sh uboot
编译FriendlyWrt
可以用build.sh脚本简化编译:
./build.sh friendlywrt
也可以使用openwrt传统方法来编译:
cd friendlywrt
./scripts/feeds update -a
./scripts/feeds install -a
cp ../configs/config_XXXX .config
make defconfig
make download -j8
make -j8
生成sdcard固件
sudo ./build.sh sd-img
打包img成功后,终端会显示如下信息,可以参考下面的dd命令将img写入sd卡,注意/dev/sdX需要替换成真实的sd卡设备:
Run the following for sdcard install:
sudo dd if=out/FriendlyWrt_20190828_NanoPi-R1_armhf_sd.img bs=1M of=/dev/sdX
转载请注明:悠瞅の博客 » FriendlyARM R1S-H3 开发笔记01(环境搭建)