上篇
主要以 Lede 的 OpenWrt 来举例,以 Ubuntu 来做示例,另外如果在大陆建议最好准备全局梯子来进行编译(请不要使用 root 用户来进行相关操作,你应当使用普通用户 详细原因就暂且不讲,你可以使用adduser 用户useradd -m +用户名 来创建用户,若你使用后者还需要手动使用passwd 用户名来进行设定密码,相关细节就不细讲了,如果你需要删除用户可使用 userdel 用户名 ,但是如此并不会删除文件,所以推荐userdel -r 用户名)

系统准备

 
#更新软件列表
sudo apt-get update 
#安装所需要的包
sudo apt-get 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 autoconf automake libtool autopoint

安装如上包
而后执行

 
git clone https://github.com/coolsnowwolf/lede && cd lede
#如果你想使用官方源编译,则可以使用
git clone https://git.openwrt.org/openwrt/openwrt.git && cd openwrt

接下来执行

 
./scripts/feeds update -a && ./scripts/feeds install -a

这条命令是用于 更新和安装 Feeds 使其可用于构建系统

开始编译


执行如下指令:

 
make menuconfig 

执行后界面如果想要简单了解可到此,执行后应该会出现如下界面:

D7.png

我们必须要选定的有前四行 操作方式是左右控制下方菜单栏,空格选定,回车确定下方菜单栏
第一行 Target System 你需要用来选择你的硬件架构,例如ARM/MIPS/X86等
第二行 Subtarget 你需要选择你具体的硬件型号,例如以联想Y1为例, Target System 选定了MTK MIPS ,Y1的硬件是MT7620 那 Subtarget 选择其,第三行是用来选择你的路由器型号,所以 target profile 选择了 Y1 ,当列表里没有特定硬件的情况后期再讲,Target Images 就是你编译出来的文件类型/格式等等,选定完成以后这时就可以使用方向键(左右)移动至下方 Save 保存后退出就可以开始编译了
执行

 
make -j1 V=s 

即可,第一次编译时为了方便查错所以建议单线程编译,当然,没更改太多东西的话,可以直接选择 make -j '线程数+1' 来进行编译,例如一台 32C 的机器,那就可以使用 make -j33 编译优化等后期再讲
编译完成的目录在于你克隆下的分支目录里的 /bin/targets 文件夹内,以默认用户目录为例,那这时编译完成的目录为 ~/openwrt/bin/targets

安装软件包

D7.png
在这个界面 以Lede为例,需要进入 LuCI > Applications (上下键选中 空格确定) ,即可选定自己需要的常用软件包

既然来了,那就试着讨论一下吧~,现在还没有评论噢

发表评论