使用vmware搭建openwrt开发环境

本文档介绍了如何在Ubuntu 20.04环境下编译OpenWrt 21.02.3版本,包括安装依赖、下载源码、配置平台、选择生成vmdk镜像、解决编译错误、网络配置、安装luci以及设置root密码和SSH。编译完成后,通过VMware启动OpenWrt虚拟机,并进行网络配置以实现上网功能。同时,还演示了如何开启SSH服务,以及如何在编译时预设root密码。
摘要由CSDN通过智能技术生成

开发环境:
openwrt版本:21.02.3

编译环境:ubuntu20.04 64位

vmware:16

1.下载openwrt代码编译

// 安装依赖
sudo apt-get install subversion g++ flex patch libncurses5-dev zlib1g-dev libssl-dev gawk unzip git
 
// 下载openwrt
git clone git@github.com:openwrt/openwrt.git
 
// 更新并安装包
cd openwrt
./scripts/feeds update
./scripts/feeds install -a
 
// 配置平台为x86
make menuconfig

在Target Images中选择生成vmdk镜像,这个镜像可以直接在vmware中启动

// 开始编译
make -j4
// 如果编译出错,使用下面指令编译看错误原因
make -j1 V=s

第一次编译可能需要几个小时,编译完成后在bin/x86目录下会生成镜像文件。

2.使用vmware启动openwrt

把bin/targets/x86/generic/openwrt-x86-generic-generic-squashfs-combined.vmdk文件复制到PC上,打开vmware新建虚拟机

 

 

 

 

 

 

 

 

 

 

 

 完成后启动虚拟机,到下面的界面后按回车即可进入系统 

3.网络配置

装好的虚拟机不能上网,ifconfig发现eth0没有获取到ip,查看网络配置:

cat /etc/config/network

 查看openwrt的网络配置发现eth0是静态,改为dhcp。

uci set network.lan.proto=dhcp
uci commit network
/etc/init.d/network restart

 重启后发现eth0获取到ip,并可以上网了。

有个一劳永逸的方法是修改源码package/base-files/files/bin/config_generate,修改lan口为dhcp。

4.安装luci

在menuconfig中选中luci,如果没有的话更新一下包。 

然后在浏览器中访问eht0,打开登入页面 ,不输入密码,点login显示下面的页面:

 5.设置root密码

在system->administration页面设置root密码: 

在网页中设置root密码后,在/etc/shadow文件中可以看到设置的密,将root开头的那一行复制到源码中的 package/base-files/files/etc/shadow中,编译出的固件就默认设置了密码。

6.开启ssh

openwrt默认使用Dropbear,如果要使用openssh,请在Base system中取消Dropbear,然后在Network->SSH中选择openssh。

问题:

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

然后再编译

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值