我用一台ubuntu 12.04作为服务器,一台windows电脑开发用,两台电脑连接到同一个路由器上。
为了节省系统资源,我决定在windows端用ssh远程登录。
把ubuntu的SSH功能打开,
#设置root权限
sudo passwd root #输入新密码
su – #切换到root用户下
apt-get install openssh-server
ps -e | grep ssh #有sshd,说明ssh服务已经启动,如果没有启动,输入:
service ssh start
#修改/etc/rc.local文件,在exit 0这一句的前面,添加/etc/init.d/ssh start可让此服务开机自动启动
#打开下面的文件,将PermitRootLogin的值改为yes
gedit /etc/ssh/sshd_config
#因为root账户设置了密码,所以还要更改PermitEmptyPasswords为no,然后保存文件。
services ssh restart #重启ssh服务
在Windows电脑上,用SecureCRT等工具,可远程登录SSH服务器。
下载OpenWRT最新源码:
git clone https://github.com/openwrt/openwrt.git
#查看所有的tag
git tag
#查看最新稳定版本对应的版本号
git show v18.06.1
commit 70255e3d624cd393612069aae0a859d1acbbeeae
Author: Jo-Philipp Wich
Date: Thu Aug 16 18:36:48 2018 +0200
OpenWrt v18.06.1: adjust config defaults
Signed-off-by: Jo-Philipp Wich
diff –git a/feeds.conf.default b/feeds.conf.default
index 763a269..9dddc19 100644
— a/feeds.conf.default
+++ b/feeds.conf.default
#将最新源码切换到v18.06.1稳定版本对应的版本号
git reset –hard 70255e3d624cd393612069aae0a859d1acbbeeae
/config : configuration files for menuconfig
/include : makefile configuration files
/package : packages makefile and configuration
/scripts : miscellaneous scripts used throughout the build process
/target : makefile and configuration for building imagebuilder, kernel, sdk and the toolchain built by buildroot.
/toolchain : makefile and configuration for building the toolchain
/tools : miscellaneous tools used throughout the build process
网上的编译教程很多,为了避免走弯路,我还是以openwrt官网的参考资料为准:
#编译前,安装依赖的库和工具,Build system – Installation
https://openwrt.org/docs/guide-developer/build-system/install-buildsystem
#Ubuntu 12.04 LTS:
sudo apt-get install build-essential subversion git-core libncurses5-dev zlib1g-dev gawk flex quilt libssl-dev xsltproc libxml-parser-perl mercurial bzr ecj cvs unzip
#Updating Feeds:https://openwrt.org/docs/guide-developer/build-system/use-buildsystem
#Installing in context of ./scripts/feeds script means “making package available in make menuconfig” rather than really installing or compiling package.
#Update feeds:
./scripts/feeds update -a
#Make downloaded package/packages available in make menuconfig:./scripts/feeds install <PACKAGENAME>
./scripts/feeds install -a -p luci
#安装all packages,可能会导致安装包过大,这里我先不执行:
./scripts/feeds install -a
#接下来是Image Configuration
#Typical actions:
#run make menuconfig and set target;
#run make defconfig to set default config for build system and device;
#run make menuconfig and modify set of package;
#run make download (download all dependency source files before final make, enables multi-core compilation);
#run scripts/diffconfig.sh >mydiffconfig (save your changes in the text file mydiffconfig);
Target System (MediaTek Ralink MIPS) —>
Subtarget (MT76x8 based boards) —>
Target Profile (MediaTek MT7628 EVB) —>
LuCI—>Collections—– <*> luci #添加Luci
LuCI—>Translations—- <*> luci-i18n-chinese #添加中文
#最后是编译,一般情况,使用一个简单的命令:
make #默认安装,无提示
#或者make V=99 #V=99表示输出debug信息,V一定要大写
#或者make -j V=99 #如果要让CPU全速编译,就加上 -j 参数,第一次编译最好不带-j参数,常规用法为 <您cpu处理器的数目 + 1>
#编译错误与解决办法:
configure: error: you should not run configure as root (set FORCE_UNSAFE_CONFIGURE=1 in environment to bypass this check)
#解决方法:export FORCE_UNSAFE_CONFIGURE=1
#编译错误:openwrt-ramips-***-XXX-squashfs-sysupgrade.bin is too big,failed to build firmware.
#解决方法:
git diff target/linux/ramips/image/mt76x8.mk
diff –git a/target/linux/ramips/image/mt76x8.mk b/target/linux/ramips/image/mt76x8.mk
index 21c5357..79b9680 100644
— a/target/linux/ramips/image/mt76x8.mk
+++ b/target/linux/ramips/image/mt76x8.mk
@@ -84,7 +84,7 @@ TARGET_DEVICES += miwifi-nano
define Device/mt7628
DTS := MT7628
BLOCKSIZE := 64k
– IMAGE_SIZE := (ralink_default_fw_size_4M)
+ IMAGE_SIZE :=(ralink_default_fw_size_8M)
DEVICE_TITLE := MediaTek MT7628 EVB
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-usbport
endef
参考文档:
https://openwrt.org/docs/guide-developer/build.wndr3700
Building, deploying and testing your application:https://openwrt.org/docs/guide-developer/helloworld/chapter5
使用镜像生成工具 (Image Builder):https://openwrt.org/zh/docs/guide-user/additional-software/imagebuilder?s[]=build
OpenWrt编译 – 说明:https://openwrt.org/zh-cn/doc/howto/build?s[]=build
硬件列表:固件下载:https://openwrt.org/zh/toh_fwdownload