找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 20666|回复: 27

NanoPi-R2S固件本地编译(FriendlyWRT+lean)

[复制链接]
发表于 2020-4-6 17:38 | 显示全部楼层 |阅读模式
本帖最后由 tl768 于 2020-7-19 21:54 编辑


都别瞎忙乎了,lean大神项目支持r2s了

一.安装ubuntu18.4 x64系统

安装系统和用SSH工具登录应该都会吧!自己搞吧。

更新下系统
命令:sudo apt-get update&& sudo apt-get upgrade -y && sudo apt-get dist-upgrade -y && sudo apt-get clean && uname -a
复制-粘贴-回车

二.搭建编译环境

(网络问题自己解决网络问题自己解决网络问题自己解决)


1.搭建lean大神的编译环境
项目地址:https://github.com/coolsnowwolf/lede


第1步安装所需的软件
命令:cd && sudo apt-get update && sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch python3.5 unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automake libtool autopoint device-tree-compiler g++-multilib
复制-粘贴-回车

第2步
下载源代码
命令:cd && git clone https://github.com/coolsnowwolf/lede
复制-粘贴-回车

第3步
更新安装源码
命令:cd ~/lede/ && git pull && ./scripts/feedsupdate -a && ./scripts/feedsinstall -a
复制-粘贴-回车

2.FriendlyWRT编译环境

参考地址:http://wiki.friendlyarm.com/wiki/index.php/How_to_Build_FriendlyWrt/zh

第1步安装所需的软件
命令:cd && wget -O - https://raw.githubusercontent.co ... c/master/install.sh | bash
复制-粘贴-回车

第2步安装repo工具

命令:cd && git clone https://github.com/friendlyarm/repo && sudo cp repo/repo /usr/bin/

复制-粘贴-回车

第3步下载源代码(有两种方法)

方法1直接从github下载完整的源代码(
感谢xmniko的指正,命令已修正。)

命令:cd && mkdir friendlywrt-rk3328 && cd ~
/friendlywrt-rk3328 && repo init -u https://github.com/friendlyarm/friendlywrt_manifests -b master-v19.07.1 -m rk3328.xml --repo-url=https://github.com/friendlyarm/repo --no-clone-bundle && repo sync -c --no-clone-bundle
复制-粘贴-回车

方法2下载网盘里的repo压缩包(已NanoPi R2S为例)
参考网址:http://wiki.friendlyarm.com/wiki/index.php/NanoPi_R2S/zh
网盘连接:http://download.friendlyarm.com/nanopir2s
文件位于网盘的以下路径:sources/friendlywrt-rk3328-20200226.7z

第1步
下载压缩包后上传至/home/用户名/

第2步解压更新
命令:cd && 7z x friendlywrt-rk3328-20200226.7z && cd ~/friendlywrt-rk3328 && repo sync -l --no-clone-bundle && repo sync --no-clone-bundle
复制-粘贴-回车

如linux-libc-dev:i386安装不上命令:sudo dpkg --add-architecture i386 && sudo apt update &&  sudo apt -y install linux-libc-dev:i386
复制-粘贴-回车

三.调整文件

1.基于FriendlyWRT导出lean相关文件

导出feeds.conf.default文件

命令:cp -rf ~/lede/feeds.conf.default ~/friendlywrt-rk3328/friendlywrt/
复制-粘贴-回车

导出luci文件
命令:cp -rf ~/lede/package/lean ~/friendlywrt-rk3328/friendlywrt/package
复制-粘贴-回车

2.基于FriendlyWRT添加laen相关依赖(已ucl和upx为例)

第1步导出文件
命令:cp -rf ~/lede/tools/ucl ~/friendlywrt-rk3328/friendlywrt/tools/ && cp -rf ~/lede/tools/upx ~/friendlywrt-rk3328/friendlywrt/tools/
复制-粘贴-回车

第2步编辑文件
命令:vi ~/friendlywrt-rk3328/friendlywrt/tools/Makefile
复制-粘贴-回车

tools-y += ucl upx添加到# subdirectories to descend into段里

例:
tools-$(CONFIG_TARGET_tegra) += cbootimage cbootimage-configs下一行添加
tools-y += ucl upx

$(curdir)/upx/compile := $(curdir)/ucl/compile添加到# builddir dependencies段里
例:
$(curdir)/cbootimage/compile += $(curdir)/automake/compile下一行添加
$(curdir)/upx/compile := $(curdir)/ucl/compile

四.更新源码及固件配置

1.更新源码

命令:cd ~/friendlywrt-rk3328/friendlywrt && ./scripts/feeds update -a && ./scripts/feeds install -a
复制-粘贴-回车

2.设置固件访问IP
sed -i 's/192.168.2.1/X.X.X.X/g' ~/friendlywrt-rk3328/friendlywrt/package/base-files/files/bin/config_generate
XXXX部分更改成自己想要的网关IP
复制-粘贴-回车


3.配置固件
命令:cd ~/friendlywrt-rk3328/friendlywrt && make menuconfig
复制-粘贴-回车

基本选项设置(选项框需要空格选成*才生效)
Target System选择ockchip rk3328 (aarch64)
Target Images选择squashfs
Base system取消dnsmasq选择 dnsmasq-full
Base system选择dnsmasq-full
LuCI>hemes选择luci-theme-bootstrap
LuCI>Applications选择自己想要的
Network>File Transfer选择wget
Network>IP Addresses and Names选择 ddns-scripts
Network>IP Addresses and Names选择 ddns-scripts_aliyun
Network>IP Addresses and Names选择 dns-scripts_no-ip_com

五.编译


最好用screen命令,以防万一。

建立运行窗口
命令:screen -S r2s
复制-粘贴-回车

查看已有窗口
命令:screen -ls
复制-粘贴-回车

返回窗口
命令:screen -d -r r2s
复制-粘贴-回车

编译命令
命令:cd ~/friendlywrt-rk3328/friendlywrt && make -j线程数 download v=s && cd ~/friendlywrt-rk3328 && ./build.sh nanopi_r2s.mk
线程数根据自己的机器设置
复制-粘贴-回车

等着跑完吧

固件生成目录
~/friendlywrt-rk3328/scripts/sd-fuse/out

用balenaEtcher卡刷就ok了,这个就不说了。



L大神要是把R2S整合进去就好了(致敬大神)

累累累累累累累死




本贴不是啥技术贴,随便拿去用,只是单纯分享,如果涉及他人专利呀,剽窃呀,就联系我,立马删帖。









评分

参与人数 2恩山币 +2 收起 理由
y7*** + 1 今天天气不错,适合泡妞。
jams*** + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!

查看全部评分

发表于 2020-4-7 07:28 | 显示全部楼层
本帖最后由 mulder126 于 2020-4-7 07:29 编辑

这两天我也在搞这个~用R2S官方源加lean包编译一直失败,一直出现依赖问题
刚好看到你的帖,按著把调整文件的第2步骤(2.基于FriendlyWRT添加laen相关依赖(已ucl和upx为例))做了,编译成功了!!

点评

前段时间自己也是本地编译,总是编译失败,upx错误,终于看到这个编译教程,有时间自己实体机编译一下属于自己的R2S固件  发表于 2020-4-21 21:12
现在大部分大神出的都是r2s的云编教程,本地编译少而不全,所以出个教程,大家能用上就好。恭喜用上了自己编辑的固件。  详情 回复 发表于 2020-4-7 12:24
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-7 12:24 来自手机 | 显示全部楼层
mulder126 发表于 2020-4-7 07:28
这两天我也在搞这个~用R2S官方源加lean包编译一直失败,一直出现依赖问题
刚好看到你的帖,按著把调整文 ...

现在大部分大神出的都是r2s的云编教程,本地编译少而不全,所以出个教程,大家能用上就好。恭喜用上了自己编辑的固件。
回复 支持 反对

使用道具 举报

发表于 2020-4-7 18:42 | 显示全部楼层
菜鸟只能膜拜了。感谢楼主的热心分享,希望有时间自己也能编译

点评

真不敢当,本人也是小白,都是东拼西凑的知识,大家能用上就好。如果哪位大神能完善,r2s的本地编译就好了。  详情 回复 发表于 2020-4-7 22:24
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-7 22:24 来自手机 | 显示全部楼层
70034713 发表于 2020-4-7 18:42
菜鸟只能膜拜了。感谢楼主的热心分享,希望有时间自己也能编译

真不敢当,本人也是小白,都是东拼西凑的知识,大家能用上就好。如果哪位大神能完善,r2s的本地编译就好了。
回复 支持 反对

使用道具 举报

发表于 2020-4-8 01:10 | 显示全部楼层
先收藏了,有空研究研究感谢楼主教程
回复 支持 反对

使用道具 举报

发表于 2020-4-11 01:29 | 显示全部楼层
感谢楼主分享
回复 支持 反对

使用道具 举报

发表于 2020-4-13 19:10 | 显示全部楼层
方法 1 直接从 github 下载完整的源代码


这个步骤的命令需要调整一下:
  1. mkdir friendlywrt-rk3328
  2. cd friendlywrt-rk3328
  3. repo init -u https://github.com/friendlyarm/friendlywrt_manifests -b master-v19.07.1 -m rk3328.xml --repo-url=https://github.com/friendlyarm/repo  --no-clone-bundle
  4. repo sync -c  --no-clone-bundle
复制代码

点评

谢谢,复制粘贴时,马虎了  详情 回复 发表于 2020-4-16 13:43
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-16 13:43 | 显示全部楼层
xmniko 发表于 2020-4-13 19:10
这个步骤的命令需要调整一下:

谢谢,复制粘贴时,马虎了
回复 支持 反对

使用道具 举报

发表于 2020-4-17 08:45 | 显示全部楼层
感谢老哥的教程,网上已经出视频教程了,如果实在基础的小白不懂的话,可以去看看

点评

有视频了?这个链接,去学习学习。  详情 回复 发表于 2020-4-19 10:40
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-19 10:40 来自手机 | 显示全部楼层
a6601146 发表于 2020-4-17 08:45
感谢老哥的教程,网上已经出视频教程了,如果实在基础的小白不懂的话,可以去看看

有视频了?这个链接,去思考思考。
回复 支持 反对

使用道具 举报

发表于 2020-4-22 11:30 | 显示全部楼层
按照步骤来做成功编译好了,可惜的是网页没有显示CPU和温度状态
回复 支持 反对

使用道具 举报

发表于 2020-4-22 14:50 | 显示全部楼层
围观,大佬
回复 支持 反对

使用道具 举报

发表于 2020-8-24 16:22 | 显示全部楼层
谢谢大佬的提示,好像还是得合并一下库及依赖?
回复 支持 反对

使用道具 举报

发表于 2021-1-8 10:18 | 显示全部楼层
总算是找到一个nano相关的编译方法,感谢!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-5-29 12:02

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表