Padavan完整编译教程
2019独角兽企业重金招聘Python工程师标准>>>
安装Ubuntu 16.04LTS
系统选用32位的版本,安装的时候,注意语言不要选中文,否则无法正常安装,会报错:
Unable to install busybox-initramfs
这是存在Ubuntu里面一个五六年之久的bug,大家都在无脑吹捧开源是多么多么好的时候,开源就是这么任性。
开启Ubuntu SSH远程登录
系统装好后,默认是没有SSH服务的,得自己安装,首先你得把apt源改为国内的源,否则连apt-get update都无法成功执行(这里我们感谢方滨兴校长给我们带来的各种便利),默认的源直接删掉,下载我改好的阿里云的源。
sudo rm /etc/apt/sources.list
sudo wget -P /etc/apt/ //hqidi.com/wp-content/uploads/2016/sources.list
sudo apt-get update
sudo apt-get install openssh-server
开启Ubuntu root用户
因为是虚拟机环境,所以直接启用root,用起来方便,sudo passwd root后回车,输入两次密码就行了。然后修改sshd配置文件,使root能正常远程登录。
sudo vi /etc/ssh/sshd_config
找到并用#注 释掉这行:PermitRootLogin prohibit-password
新建一行 添加:PermitRootLogin yes
sudo service ssh restart
ubuntu 16.04下静态IP地址的设置
vi /etc/network/interface
auto lo
iface lo inet loopback
auto ens32
iface ens32 inet static
address 192.168.8.100
netmask 255.255.255.0
gateway 192.168.8.2
dns-nameserver 223.5.5.5
重启网络服务 /etc/init.d/networking restart
安装编译固件所需要的工具
apt-get install git autoconf automake bison build-essential flex gawk gettext gperf libtool pkg-config zlib1g-dev libgmp3-dev libmpc-dev libmpfr-dev texinfo python-docutils mc autopoint lrzsz -y
这一步耗时大概90秒的样子。
切换到/opt目录,用git克隆Padavan 仓库
cd /opt
git clone https://git.oschina.net/gorden5566/rt-n56u.git
这一步耗时稍长,诸位可以泡一杯板蓝根喝。
编译交叉编译的工具链
这一步耗时会比较长,诸位打开一个screen进去执行,最保险。同时,可以泡一杯正山小种。
cd /opt/rt-n56u/toolchain-mipsel
./clean_sources
./build_toolchain
耗时24分钟
编译好的工具链在 /opt/rt-n56u/toolchain-mipsel/toolchain-3.4.x 目录,刚好128M
机型适配(优酷路由宝 L1)
生成配置文件
cp /opt/rt-n56u/trunk/configs/templates/n14u_base.config /opt/rt-n56u/trunk/.config
修改/opt/rt-n56u/trunk/.config文件
文件里写的很详细,按需打开和关闭需要的功能。
我主要改了一下几项
#CONFIG_FIRMWARE_INCLUDE_UVC=y 关闭相机模块
#CONFIG_FIRMWARE_INCLUDE_LANG_RU=y 关闭俄罗斯语言
CONFIG_FIRMWARE_INCLUDE_LANG_UK=y 开启英语
#CONFIG_FIRMWARE_INCLUDE_LPRD=y 关闭USB打印
#CONFIG_FIRMWARE_INCLUDE_XUPNPD=y 关闭IPVT
适配指示灯与复位键
编辑 /opt/rt-n56u/trunk/configs/boards/RT-N14U/board.h
/* ASUS RT-N14U */
#define BOARD_PID "RT-N14U"
#define BOARD_NAME "RT-N14U"
#define BOARD_DESC "ASUS RT-N14U Wireless Router"
#define BOARD_VENDOR_NAME "ASUSTek Computer Inc."
#define BOARD_VENDOR_URL "http://www.asus.com/"
#define BOARD_MODEL_URL "http://www.asus.com/Networking/RTN14U/"
#define BOARD_BOOT_TIME 20
#define BOARD_FLASH_TIME 120
#undef BOARD_GPIO_BTN_RESET
#define BOARD_GPIO_BTN_WPS 1
#undef BOARD_GPIO_BTN_WLTOG
#undef BOARD_GPIO_LED_ALL
#define BOARD_GPIO_LED_WIFI 72
#define BOARD_GPIO_LED_POWER 29
#undef BOARD_GPIO_LED_LAN
#define BOARD_GPIO_LED_WAN 44
#define BOARD_GPIO_LED_USB 35
#undef BOARD_GPIO_LED_ROUTER
#undef BOARD_GPIO_PWR_USB
#define BOARD_HAS_5G_11AC 0
#define BOARD_NUM_ANT_5G_TX 0
#define BOARD_NUM_ANT_5G_RX 0
#define BOARD_NUM_ANT_2G_TX 2
#define BOARD_NUM_ANT_2G_RX 2
#define BOARD_NUM_ETH_LEDS 1
#define BOARD_HAS_EPHY_L1000 0
#define BOARD_HAS_EPHY_W1000 0
适配WAN口与LAN口
编辑/opt/rt-n56u/trunk/configs/boards/RT-N14U/kernel-3.4.x.config
在1882行的地方
CONFIG_RAETH_ESW_PORT_WAN=4
CONFIG_RAETH_ESW_PORT_LAN1=1
CONFIG_RAETH_ESW_PORT_LAN2=0
CONFIG_RAETH_ESW_PORT_LAN3=3
CONFIG_RAETH_ESW_PORT_LAN4=2
修改内存配置
编辑/opt/rt-n56u/trunk/configs/boards/RT-N14U/kernel-3.4.x.config
// 没修改前是64M内存
CONFIG_RT2880_DRAM_16M is not set
CONFIG_RT2880_DRAM_32M is not set
CONFIG_RT2880_DRAM_64M=y
CONFIG_RT2880_DRAM_128M is not set
CONFIG_RT2880_DRAM_256M is not set
CONFIG_RALINK_RAM_SIZE=64
// 修改成128M
CONFIG_RT2880_DRAM_16M is not set
CONFIG_RT2880_DRAM_32M is not set
CONFIG_RT2880_DRAM_64M is not set
CONFIG_RT2880_DRAM_128M=y
CONFIG_RT2880_DRAM_256M is not set
CONFIG_RALINK_RAM_SIZE=128
增强无线信号
编辑/opt/rt-n56u/trunk/configs/boards/RT-N14U/kernel-3.4.x.config
删除# CONFIG_EXTERNAL_PA_EXTERNAL_LNA is not set 这一行代码,并加入下面的代码
CONFIG_EXTERNAL_PA_EXTERNAL_LNA=y
自定义路由器配置
编辑/opt/rt-n56u/trunk/user/shared/defaults.h
#ifndef _defaults_h_
#define _defaults_h_
#define SYS_SHELL "/bin/sh"
#define SYS_EXEC_PATH "/usr/sbin:/usr/bin:/sbin:/bin"
#define SYS_EXEC_PATH_OPT "/opt/sbin:/opt/bin:/usr/sbin:/usr/bin:/sbin:/bin"
#define SYS_HOME_PATH_ROOT "/home/admin"
#define SYS_USER_ROOT "admin"
#define SYS_GROUP_ROOT "root"
#define SYS_USER_NOBODY "nobody"
#define SYS_GROUP_NOGROUP "nogroup"
#define DEF_LAN_ADDR "192.168.8.1"
#define DEF_LAN_DHCP_BEG "192.168.8.2"
#define DEF_LAN_DHCP_END "192.168.8.180"
#define DEF_LAN_MASK "255.255.255.0"
#define DEF_WLAN_2G_CC "GB"
#define DEF_WLAN_5G_CC "GB"
#define DEF_WLAN_2G_SSID "ASUS"
#define DEF_WLAN_5G_SSID "ASUS_5G"
#define DEF_WLAN_2G_GSSID "ASUS_GUEST"
#define DEF_WLAN_5G_GSSID "ASUS_GUEST_5G"
#define DEF_WLAN_2G_PSK "1234567890"
#define DEF_WLAN_5G_PSK "1234567890"
#define DEF_ROOT_PASSWORD "admin"
#define DEF_SMB_WORKGROUP "WORKGROUP"
#define DEF_TIMEZONE "CST-8"
#define DEF_NTP_SERVER0 "ntp1.aliyun.com"
#define DEF_NTP_SERVER1 "time.nist.gov"
#define DEF_HTTPS_CIPH_LIST "DH+AESGCM:DH+AES256:DH+AES:DH+3DES:RSA+AES:RSA+3DES:!ADH:!MD5:!DSS"
#endif
这里面的参数都可以自己改,主要记得改时区和ntp服务器。
关闭 telnet 开启 ssh
编辑/opt/rt-n56u/trunk/user/shared/defaults.c
{"telnetd","0"}.
{"sshd_enable","1"}
1是打开,0是关闭
最后一步,生成固件
cd /opt/rt-n56u/trunk
./clear_tree
./build_firmware
接下来是漫长的等待,再泡一杯板蓝根。
耗时23分钟。
用sz命令把编译好的固件保存到桌面,
sz /opt/rt-n56u/trunk/images/RT-N14U_3.4.3.9-099.trx
刷入后的web界面
PS:
1、在screen里面,rz sz会报错 rz waiting to receive,所以要用rz sz的时候,退出screen.
2、像编译这种纯体力活,不建议用自己的笔记本电脑来做,当然,如果你家里特别冷的话除外。
原创文章,转载请注明: 转载自笛声
本文链接地址: Padavan完整编译教程
转载于:https://my.oschina.net/u/4000302/blog/3038759
Padavan完整编译教程相关推荐
- 麻将服务端架设linux,湖南房卡麻将客户端/服务器端完整源码及编译教程
客户端源码是基于cocos2d-x 3.10版本开发的.代码完整可编译.本人在WINDOWS平台下成功编译了android包并正常运行.源码里面也有服务器的源码(C++),经过再次鉴定应该是配套的,服 ...
- 光线追踪 embree编译教程
光线追踪 embree编译教程 摘要 1 介绍 2 前期准备 3 下载 3.1 下载Cmake 3.2 下载embree 3.3 下载TBB 4 使用Cmake生成embree源代码对应的VS2019 ...
- object detection API完整配置教程
@object detection完整配置教程 研一下学期用ubuntu16.04配置过一次tensorflow object detection 很遗憾试过很多次都失败了,不了了之,当初记得是ten ...
- oracle oats 安装,Mentor完整培训教程.pdf
Mentor完整培训教程 MENTOR基本培训教程 电路设计人员电路设计人员 MENTORMENTOR培训教程培训教程 讲述人讲述人:: 叉叉刀片叉叉刀片 叉叉刀片 设计室 MENTOR基本培训教程 ...
- CM12同步源码及编译教程
同时提供基于安卓5.0的MKL魔趣猪扒饭编译教程~ [玩机组出品]魔趣猪扒饭MKL50.1编译教程 http://www.oneplusbbs.com/forum.php?mod=viewthread ...
- 最新版OpenWrt编译教程,解决依赖问题
最新版OpenWrt编译教程,解决依赖问题 参考文章: (1)最新版OpenWrt编译教程,解决依赖问题 (2)https://www.cnblogs.com/jzssuanfa/p/7400840. ...
- GPT转MBR怎么转?GPT转MBR完整图文教程
GPT转MBR分区怎么转?现在很多笔记本的硬盘分区都是GPT模式,如果想装XP的话,那只能将GPT磁盘转换成MBR磁盘分区才行.接下来,简单说说如何将GPT分区转成MBR分区! 如果本身电脑有两个硬盘 ...
- 详解S60 WebKit 21772编译教程
S60 WebKit 21772编译教程是本文要介绍的内容,主要是来了解并学习S60 WebKit应用,具体内容的学习来看本文详解. 1.安装环境: perl jdk S60-SDK-0548-3.0 ...
- CEF编译教程(手把手教学版)
CEF编译教程 1.下载.安装CMake工具: 下载链接:https://cmake.org/download/ 选择cmake-3.15.1-win64-x64.msi 下载直接安装即可 安装之后命 ...
- 万能Ghost全攻略(最详细完整的教程)
万能Ghost全攻略(最详细完整的教程) 一.运行 Sysprep 工具的要求 要使用 Sysprep 工具,计算机的硬件和相关设备必须满足下列要求: 1. 参考计算机和目标计算机必须具有兼 ...
最新文章
- mongodb学习笔记6--杂项与补充
- 系统通知、 聊天服务的实现
- 3、Angular JS 学习笔记 – Controllers [翻译中]
- Sublime3 快捷键
- openstack系列文章(二)
- 计算机体系结构---第二章---指令系统
- 二手交易平台html代码,二手物品交易HTML5模板
- (转)CDN是如何工作的?
- ping命令linux软件包,linux下安装 ping 命令
- 英国鬼死于狭隘和傲慢,中国鬼死于听天由命和漫不经心--《我的团长我的团》兰晓龙...
- c/cpp中怎样切割字符串,相似于split的功能
- react 动态获取数据
- 罗茨气体流量计的结构设计
- 学计算机优盘多少内存够用,u盘建议买多大内存的
- ndows phone,Windows Phone 7
- Visual.Assist.X.V10.7.1912的Crack破解补丁
- Android 显示历史搜索记录
- hive中:row_number()排序函数的使用
- POSIX 标准介绍
- 斗地主小游戏(JAVA实现)