从零开始编译padavan/老毛子固件
1、在计算机上安装虚拟机 Oracle VirtualBox 。
2、下载 Ubuntu 16.04 LTS i386。
3、把 Ubuntu 16.04 LTS i386 安装到你的虚拟机上面去,推荐计算机能有 1.5G 的内存。
4、运行虚拟机,在虚拟机上面打开一个 shell 窗口。<我就是 ssh 登录我的服务器啦>,这里的几步可以参考编译《从零开始编译OpenWRT(LEDE)固件》系列文章
5、安装 git。<前面四步我都没有执行,我从第五步正式开始>
sudo apt-get update sudo apt-get install git
6、进入 /opt 目录(如果不进入这个目录,后面的编辑固件会报错;当然用软链指向 /opt 目录也可以),下载 padavan 源码到本地计算机。 你现在 cd 进入某个目录,今后你的所有程序文件,就在这个目录下面的 rt-n56u 下面,熟了你可以改。为了提高第一次的成功率,请现在别改。另外,这个过程很费时间,如果下载到国内机器上,也许是半个小时至几个小时,如果在国外服务器上,也许是半个小时以内。
cd /opt sudo git clone https://bitbucket.org/padavan/rt-n56u.git
7、安装 /opt/rt-n56u/readme.eng.txt 这个文件里所罗列的所有包(中途需要确认,输入一个 y)
sudo apt-get install autoconf automake autopoint bison build-essential flex gawk gettext git gperf libtool pkg-config zlib1g-dev libgmp3-dev libmpc-dev libmpfr-dev texinfo python-docutils
8、编译一个交叉编译的工具链。这也是一个很浪费时间的过程,对计算机有要求,对网络也有要求,时间大概与上面下载源码的差不多。
cd /opt/rt-n56u/toolchain-mipsel sudo ./clean_sources sudo ./build_toolchain
9、修改适配文件。这一步,我们也暂时不做 ^_^。 这是你第一次成功编辑固件的关键。系统里面内置了很多配置文件,而 rt-n56u 的配置文件正处于可使用状态,我们先体验一下整个过程,让你先成功编辑好第一个固件再说。
10、先清理一下
cd /opt/rt-n56u/trunk sudo ./clear_tree
11、编辑固件。这个过程也比较用时间,不过比先的两步好多了,大概要10分钟到半个小时。
sudo ./build_firmware
此步完成以后,会在 /opt/rt-n56u/trunk/images/ 目录下得到好几个文件,其中的 *.trx 文件,就是我们需要的固件,可以使用 winscp 这样的软件下载下来。 至此,你可以成功编辑第一个固件了,下面的可以不看,行动吧,编辑第一个固件去!!
自此,我们的目标完成,成功编辑了第一个固件,可以小庆一下!!———————
12、如果将来源码有更新了,你可以这样跟进
cd /opt/rt-n56u/trunk sudo git pull
13、如果你对本地仓库进行了更改,下次升级源码要这样操作
cd /opt/rt-n56u/trunk sudo git stash sudo git pull
14、如果交叉编辑环境升级了,你要这样
cd /opt/rt-n56u/toolchain-mipsel sudo ./clean_sources sudo ./clean_toolchain sudo ./build_toolchain
编译老毛子固件的一些解释
(1) 上面 1、2、3 步,官方推荐的是 Oracle VirtualBox 虚拟机加 Ubuntu 16.04 LTS i386 系统,你可以根据自己的情况来调整,尽量与官方的一致,增加成功率。另外你也可以像我一样,找一个 VPS 主机试试,比较简单。
(2)上面的方法是官方默认的,编辑出来的固件是英文版的 RT-N56U(CPU是RT3883),也缺乏我们需要的中文支持。
(3)在第 8 步上,刚才默认安装的是 toolchain-3.4.x 内核,如果你要编辑支持 toolchain-3.0.x 内核的固件(在配置文件里有这么一行供你选择 CONFIG_LINUXDIR=linux-3.4.x ),你就要运行下面的代码。这一步我们不需要做,因为我们的固件大多数都是支持 3.4.x 的,但万一呢?好吧:
cd /opt/rt-n56u/toolchain-mipsel sudo ./clean_sources sudo ./build_toolchain_3.0.x
(4)上面的第 9 步,怎么编辑我们自己的配置文件,这是重点,也是难点,也是我不善于做的事。 可以把别人的配置文件拿来,修改以后再编辑自己的固件。
官方的配置文件在这里,包括一个文件夹(例如 /opt/rt-n56u/trunk/configs/boards/RT-AC54U —— 这个CPU是7620,)和一个文件(对应 /opt/rt-n56u/trunk/configs/templates/ac54u_base.config)。
根据自己了解到的硬件情况,例如生产厂家、CPU、内存、闪存、复位键、SD、USB、网线口等等,找一个相近的拿来修改。
修改好以后,把这样一个文件夹(例如 RT-AC54U-ALL)和文件(ac54u_all.config)上传到对应的目录,把 /opt/rt-n56u/trunk/.config 文件修改成 ac54u_all.config 的信息(最好先把这个 .config 备份一下)。
如果没有问题,你便可以使用上面的 10、11 两步生成自己的固件了。
这一步修改,成功率很低,最容易出问题,慢慢折腾吧。
这也是本文的特色,许多人都是死在这个配置文件上,我帮你们跨越了直接到达成功 ^_^。 另外,你也可以从恩山 hiboy 大侠的
官方QQ群号码:922069959(空)、1093596563(空)
5 thoughts on “老毛子/padavan固件编译教程,从零开始编译padavan/老毛子固件”
Pingback: Ubuntu系统搭建路由器固件编译环境,OpenWRT(LEDE)固件固件编译命令 – 月下博客 Pingback: 优酷路由宝刷机Padavan固件,优酷路由宝专用Breed,优酷路由宝一键更新固件脚本 – 月下博客 Pingback: 从零开始编译OpenWRT(LEDE)固件教程[Lean大源码]x86固件个性化自定义修改 – 月下博客 Pingback: 在Padavan上搭建解锁网易云的服务器,解锁网易云灰色歌曲下载OpenWRT/LEDE路由器 – 月下博客 Pingback: OpenWrt上实现NAT1(Full cone NAT) 的方法,无需 DMZ/UPnP,newifi3支持NAT1高格固件刷机 – 月下博客
留言评论