首先在openwrt镜像站下载镜像,这里我选择了清华的openwrt镜像站,Openwrt版本是19.07.3-x86。其他版本可以自行查找。链接如下[openwrt-19.07.3-x86-generic-combined-ext4.img.gz](https://mirror.tuna.tsinghua.edu.cn/openwrt/releases/19.07.3/targets/x86/generic/openwrt-19.07.3-x86-generic-combined-ext4.img.gz) ,镜像很小,只有8M。
下载下来之后,使用7z解压到我们需要的目录,解压之后文件为 openwrt-19.07.3-x86-generic-combined-ext4.img
我们开始制作Vmware系统镜像。这里要用到的软件如下:
StarWind V2V Converter
Vmware Workstation
以及第一步下载的openwrt img镜像
以下操作假设你已经安装好了Vmware和StarWind V2V软件,安装教程网上都有。
打开StarWind V2V软件,按照如下步骤
1. 选择Local file
2. 这里的File name选择你之前解压出来的img文件。选择Next
3. 选择Next
4. 选择VMDK,点击Next
5. 这里我喜欢选择预分配的镜像,而不是增长的镜像,是因为可增长的镜像删除文件后,并不会归还空间。导致镜像越来越大。具体如何增加镜像大小,后面讲,这里原始的官方镜像空间是273M.
点击Next
6. 这里选择你vmdk文件存放的位置。然后点击Convert
7. 转换完成后,点击Finsh
**注意,这里磁盘大小可以随便选,我们并不用这个磁盘文件。**
**注意下面的文件名都是跟你创建虚拟机时虚拟机的名称有关系,我虚拟机名是Openwrt-19.07.3-x86,因此磁盘镜像名就是 Openwrt-19.07.3-x86.vmdk**
1. 创建虚拟机完成后,我们先不启动(当然启动也启动不了)。找到虚拟机存放目录,我这里是(F:\vmware\Openwrt-19.07.3-x86)。删除目录下自动生成的vmdk文件,我这里是Openwrt-19.07.3-x86.vmdk。
2. 将之前使用starConvert转换生成的两个文件文件拷贝到虚拟机目录下
openwrt-19.07.3-x86-generic-combined-ext4.vmdk
openwrt-19.07.3-x86-generic-combined-ext4-flat.vmdk
并将名字分别改为
openwrt-19.07.3-x86.vmdk
openwrt-19.07.3-x86-flat.vmdk
效果如下图
3. 用文本文件打开Openwrt-19.07.3-86.vmdk,修改链接的磁盘文件名为 Openwrt-19.07.3-x86-flat.vmdk
1. 虚拟机设置里面,新增一个磁盘,这里我选择的是2G,增加完成后应该是2个磁盘
2. 启动虚拟机Openwrt-19.07.3-x86,没有意外的话,应该可以启动了。
Tips: 第一次启动的时候会提示下图,实际上是提示的DVD,点否即可
2. 见到如下图,说明启动成功
这一步也可以使用luci登录后网页方式修改。
1. 在虚拟机窗口里面单击进入。回车,进行配置
vi /etc/config/network
配置成下图
vi /etc/config/firewall
将WAN口的入口方向改为ACCEPT打开
2. reboot 重启。
3. 等待重启完成后,再次单击并回车进入shell,ifconfig查看dhcp获取到的IP地址。我这里是192.168.106.130
## 二、 配置openwrt
**Tips1:首次登陆没有密码,直接按回车即可登录。**
**Tips2:下面的操作也可直接用shell命令直接修改。**
1. 设置密码,在System->Administration中随意设置
2. 更新软件包列表
3. 更新完成后,安装以下软件包
luci-i18n-base-zh-cn #中文语言包
cfdisk # 磁盘工具
block-mount # 挂载工具
4. 新增的磁盘要手动初始化成ext4,
ssh登录到openwrt。
mkfs.ext4 /dev/sdb
5. 进入luci的挂载点,新增挂载点,这里我想挂载到的是/root目录
然后保存并应用。
6. 继续安装以下软件包。
有些包比较大,可以直接去 https://mirror.tuna.tsinghua.edu.cn/openwrt/releases/19.07.3/packages/i386_pentium4/packages/ 下面下载
# 编译相关
make
gdb
gdbserver
gcc # 这个比较大,可以直接到清华镜像网站去下载,然后上传上去安装
openssh-server
openssh-sftp-server
rsync
coreutils-tty
7. 编译并安装zip
这个是因为openwrt未提供,但vs2019又需要,所以自行编译。下载https://nchc.dl.sourceforge.net/project/infozip/Zip%203.x%20%28latest%29/3.0/zip30.tar.gz。并传到/root目录
cd /root
tar -xzvf zip30.tar.gz
cd zip30
修改unix/Makefile ,将prefix=/usr/local 改为 prefix=/usr
vi unix/Makefile
开始编译
make -f unix/Makefile generic_gcc
make -f unix/Makefile install
/usr/bin/zip #检查是否安装正确
8. 下面修改dropbear为openssh
参考:https://blog.csdn.net/Kenon_Lin/article/details/80976162修改 /etc/ssh/sshd_config 将#PermitRootLogin without-password 修改为 PermitRootLogin yes
vi /etc/ssh/sshd_config
修改dropbear的端口
uci set dropbear.@dropbear[0].Port=2222
uci commit dropbear
/etc/init.d/dropbear restart
reboot #重启生效
1. 安装VS2019社区版,直接选择以下项即可
2. 创建C++控制台项目,进行测试
3. 工具->选项->跨平台。增加一个ssh连接
4. 编译工程,成功。可以直接进行在线调试
在编写C代码时,涉及到头文件路径的设置。可能会提示找不到头文件。
1. 对于系统头文件,如 stdio.h stdlib.h等等,首先要包含目标系统的include目录
本地最好也拷贝一份include文件。下载并解压到本地目录,这里解压到:\Users\ucgs\source\repos\
tar -cvf include.tar /usr/include
并设置头文件包含目录
2. 动态库也差不多设置方法
最近编辑记录 阿黄 (2021-12-11 14:09:46)
离线