Why Openwrt
openwrt
基于linux
,裁剪了Linux
的文件系统,封装了适用于智能家居的功能模块。

搭建虚拟机
下载镜像:http://archive.openwrt.org/releases/17.01.4/targets/x86/64/lede-17.01.4-x86-64-combined-ext4.img.gz
转换工具:StarWindConvert
导入VM:
使用StarWindConvert
将上面下载的镜像转化为IDE
硬盘格式的VMDK
文件,使用Vmware
导入之。
IDE
- 桥接网卡(修改为
dhcp
模式,默认桥接之后可能为物理机网关) :/etc/config/network
导入Vbox:
使用VboxManage.exe
将img
转为iso
镜像,正常安装虚拟机即可!
C:Program FilesOracleVirtualBox>VBoxManage.exe convertfromraw -format VDI "D:VmwareLede 17.01.4lede-17.01.4-x86-64-combined-ext4.img" "D:VmwareLede 17.01.4lede.vdi"
|
网络配置
导入虚拟机后,默认br-lan
网卡接口的网络为static
地址,需要修改为本地网段或设置为dhcp
模式。
使用Vbox
添加两块网卡,网卡1选择仅Host Only
,网卡选择网络地址转换NAT
,这样就可以内部虚拟机与主机互通,也能让openwrt
访问外网!
vim /etc/config/network config interface 'lan' option type 'bridge' option ifname 'eth0' option proto 'dhcp' /etc/init.d/network/restart |
访问测试
Web
接口
浏览器访问:openwrt's hostonly's ip
远程连接
ssh root@openwrt's hostonly's ip
搭建SDK
Linux版本:·Ubuntu 16.04.6 LTS
相关软件包
apt-get install asciidoc #默认未安装 apt-get install autoconf #默认未安装 apt-get install binutils apt-get install bison #默认未安装 apt-get install build-essential apt-get install bzip2 apt-get install gawk #默认未安装 apt-get install gcc g++ apt-get install gettext apt-get install git-core apt-get install flex #默认未安装 apt-get install patch apt-get install make apt-get install ncurses-term #默认未安装 apt-get install sharutils #默认未安装 apt-get install unzip #下面的包安装时可能存在依赖问题 apt-get install libncurses5-dev apt-get install libssl-dev apt-get install libz-dev apt-get install subversion apt-get install texinfo apt-get install zlib1g-dev |
由于安装软件的过程中会发生一些奇怪的依赖问题,推荐逐条安装,需要特别注意的软件包已标注,如上!
解决依赖问题:
➜ tools git:(master) apt-get install libncurses5-dev 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是 因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件 包尚未被创建或是它们已被从新到(Incoming)目录移出。 下列信息可能会对解决问题有所帮助: 下列软件包有未满足的依赖关系: libncurses5-dev : 依赖: libtinfo5 (= 5.9+20140118-1ubuntu1) 但是 6.0+20160213-1ubuntu1 正要被安装 依赖: libncurses5 (= 5.9+20140118-1ubuntu1) 但是 6.0+20160213-1ubuntu1 正要被安装 依赖: libtinfo-dev (= 5.9+20140118-1ubuntu1) 但是它将不会被安装 依赖: ncurses-bin (= 5.9+20140118-1ubuntu1) E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。 #解决方法: ##系统设置-->软件与更新-->更新-->勾选重要安全更新&推荐更新&不支持的更新 ##系统设置-->软件与更新-->Ubuntu软件-->可从互联网下载,全部勾选,并调整下载自为http://mirrors.aliyun.com/ubuntu #以下软件就都可以正常安装了 apt-get install libncurses5-dev apt-get install libssl-dev apt-get install libz-dev apt-get install subversion apt-get install texinfo apt-get install zlib1g-dev |
对应源码包
git clone git://github.com/openwrt/openwrt.git
|
切换普通用户
后续的操作需要普通用户来完成,故新建一个用户于此。
useradd shavchen passwd shavchen chown shavchen ./openwrt -R su shavchen |
安装Feeds包
Feeds
是Openwrt
环境所需要软件包的套件,主要有:
packages
:一些额外的基础路由器特性软件LuCI
:Openwrt
默认的GUI
Xwrt
:另一种可选的GUI
./scripts/feeds update -a #更新packages ./scripts/feeds install -a #安装feeds包 |
构建Openwrt
基础固件
make menuconfig #配置
|
输入以上命令之后,会进入一个命令行图形界面,界面最上面是用法
[*]
表示:这个包裹选中编译,并安装在升级版本中
[M]
表示:这个软件包选中编译,但并不安装在升级版本中回车进入子级菜单,根据提示按空格或
Y
选中目标项
以下是我的选择,你可以选择性的参考,我的配置非常简单,如果需要额外的功能可以通过 opkg 来安装,所以固件简单点就好,反正之后还可以安装。
目标系统:
目标镜像:
管理接口:
选择结束之后,Exit,输入以下命令开始编译:
proxychains make V=99 -j5 #漫长的过程,挂个代理先
|
新生成的镜像会默认存放在一个bin
目录下。
原创文章,作者:小嵘源码,如若转载,请注明出处:https://www.lcpttec.com/qianrushi/