前言:
如今同学们对“automake教程”大致比较重视,同学们都需要了解一些“automake教程”的相关资讯。那么小编也在网上收集了一些关于“automake教程””的相关文章,希望姐妹们能喜欢,兄弟们快快来了解一下吧!不知道有没有感觉搭建linux编译openwrt困难的,此篇选择租个云服务器编译。
以下我编译之旅
注册服务器阿里云登录,选择ECS产品
选择地区美国(硅谷)(其实选国内的也是可以的,这边为了演示方便,买个海外的,顺便测测海外编译速度),服务器类型选择共享型(这个类型是最便宜的便宜)选择服务器版本ubuntu 18.04 64位,时长一周即可最后,支付,我这边选择下来,一周共18元。
如果想选择云服务编译,且学习linux知识,可以在每年双十一看看各大云服务商有没有优惠。不一定选择海外服务器,国内服务器的基本上很便宜。一年100以下的很多。
增加非root用户
openwrt默认不能用root编译,所以需要增加非root用户,并且最好设置sudo权限。
添加用户
useradd test #增加名字为test的用户
passwd test #修改&添加test的密码
设置用户信息,在/etc/passwd中,设置工作目录和shell执行器,如下:增加sudo权限,在/etc/sudoers中,参考root的设置,设置自己新增用户的sudo权限以新增用户重新登录,如果发现工作目录没有权限。输入以下命令修改权限
sudo chown -R test:test ./test/ # test为你新增用户
最后,更新系统和安装编译所使用到的包。环境设置结束。
sudo apt-get update
sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch 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
下载openwrt源码
这边建议下载分支版本(不要选择master),例如目前最新的19.07
git clone -b openwrt-19.07 # -b制定分支
下载选装包
除了以上源码,还有一些比较有用工具在选装包中,例如luci,可以用以下方式更新和安装
./scripts/feeds update -a
./scripts/feeds install -a
配置默认配置命令
make defconfig # 默认配置参数
make menuconfig # 菜单配置,自定义选择功能。配置结束后按两次ESC退出。
(建议全部配置完成后,再执行多次make menuconfig然后直接退出,确保配置参数保存成功)
菜单配置选择编译路由器类型,例如我们编译K3路由器,如下增加luci,luci是web页面,方便路由配置其他需要增加工具自行研究编译
开始编译之前,分享一个工具,screen,它可以让shell命令后台运行。具体参考如下:
screen -S xxx # 创建xxx工作台
ctrl+a ctrl+d # 退出工作台,或者直接关掉ssh客户端也行,screen一直确保命令后台运行
screen -d -r xxx # 恢复工作台
由于服务器内存较小,可能导致编译失败,可以增加swap分区解决,具体参考如下
# 增加swap方法
dd if=/dev/zero of=/tmp/swap bs=1M count=1024 # 设置bs*count大小swap文件
mkswap /tmp/swap # swap文件格式化
sudo swapon /tmp/swap # 挂载swap分区,主要要用sudo,输入free看是否挂载成功
# 卸载swap方法
sudo swapoff /tmp/swap
rm /tmp/swap
# 默认挂载,以上挂载下次机器重启就还需要重新输入命令挂载,参考以下方法自动挂载
sudo vi /etc/fstab
在文件末尾(最后一行)加上
/tmp/swap swap swap default 0 0
这样就算重启系统,swap分区还是有值
# 系统设置swap使用比例
sudo vi /etc/sysctl.conf
swappiness=60 # 这个是百分比
sudo sysctl -p
在screen中编译openwrt,执行make V=99即可开始编译。这个是一个漫长过程。可以先洗洗睡了。
最终编译下来(此次购买硅谷服务器),使用了两个小时,是不是很快?
固件烧录
固件生成bin目录中,烧录方法,各个路由器不同,可以自行搜索一下。
标签: #automake教程