在信息安全系统实验箱中部署、运行代码
在信息安全系统实验箱中部署、运行代码
交叉编译环境的搭建
实验要求
-
实验两人一组,最多三人一组
-
可以使用自己的笔记本,也可以使用实验室台式机,使用实验室机器的不用做本题
-
安装老师提供的software目录中的“VMware-workstation-full-10.0.1-1379776.exe”
-
解压老师提供的software目录中的“Ubuntu1204.rar”
注意:虚拟机Linux
的口令为1
注意:本实验所有虚拟机都要在桥接网络模式下进行,右击虚拟机标签页->设置->网络->交接模式(不复制物理网络)
准备实验箱
统一网段
实验大家注意按云班课上的顺序做,要点是所有系统(实验箱,交叉编译环境,Win7)的IP要在同一网段,还有,网线,串口线不要插错位置了(注意:网线一定接入实验箱net1,串口线接入COM0)。
因为有交叉编译环境,提供的虚拟机都是基于vmware的。
用Win7虚拟机主要是因为win10,win11没有超级终端。
超级终端是作为实验箱的终端使用的,必须首先保证超级终端能访问实验箱,通过ipconfig 查看实验箱的IP,然后交叉编译环境,Win7要配置成和实验箱的IP在同一网段。
win7虚拟机连接实验箱
首先需要修改Win7虚拟机默认的IP地址
控制面板->网络和Internet->网络和共享中心->本地连接
属性->Internet协议版本 4(TCP/IPv4)
将IP地址改为192.168.0.231
在win7 虚拟机(rocedu:rocedu)中查看ip地址:
通过设备管理器查看USB转串口的端口号为COM4(不同系统可能不一样)
打开超级终端,选择正确的串口号COM4(超级终端在00 bocsdexpvm-4stu\exp1\software\windows7st(Windows)文件中)
串口配置:
对实验箱重新加电,出现以下界面,登陆用户为root
用ifconfig 查看实验箱IP:192.168.0.232
实验箱(超级终端)(192.168.0.232),ubuntu(192.168.0.230),win7(192.168.0.231)要互相能ping通,如:
能ping通说明在超级终端中,建立了实验箱与虚拟机之间的通讯。
交叉编译
单击终端,打开Linux命令行:
终端输入ifconfig
,可以查看IP是192.168.0.230
编写代码,交叉编译
输入mkdir hello
在主目录下新建目录hello
输入cd hello
进入目录
输入vi hello.c
编辑代码
#include <stdio.h>
int main(){
printf("Hello BESTI IS BOCSD World!");
return 0;
}
ESC
后输入:wq
保存退出
输入vi armc.sh
编辑这个脚本文件,由于在arm环境,所以需要用arm-none-linux-gnueabi-gcc
的绝对路径替换gcc
对hello.c
进行编译
这里可以使用find / -name arm-none-linux-gnueabi-gcc
寻找绝对路径
运行armc.sh
交叉编译出hello程序
在实验箱中运行代码
配置Network File System(NFS)——网络文件系统
输入vi /etc/exports
进入exports文件修改nfs共享目录路径
在13行,修改本机代码路径为/home/linux/hello
,然后保存
输入如下命令mount -t nfs -o nolock 192.168.0.230:/home/linux/hello ./hello
可以看到hello文件夹和里面的代码传入实验箱了
然后在超级终端中输入cd hello
运行./hello 就可以了
实验中常见的问题
- 在互ping的过程中如果不通,可能是因为虚拟机的网络配置未改为桥接模式。
还有可能是Win7的防火墙没有关闭。 - 修改nfs共享目录文件/etc/exports后需要重启nfs服务,可以通过重启虚拟机的方法重启nfs服务,或者参考这。
- 如果在超级终端中mount过程出现报错,如:
Device or resource busy
或者Bad file descriptor
,可以重启超级终端后重新运行mount命令。 - mount前保证目录都存在。比如
mount -t nfs -o nolock 192.168.0.230:/home/linux/hello /bocsd/hello
,文件夹bocsd要在超级终端这mkdir /bocsd
感谢 李祎铭、曾宇涛、谢绎、覃泳龙同学。也欢迎大家在这个基础上改进,添加自己遇到的问题。
欢迎关注“rocedu”微信公众号(手机上长按二维码)
做中教,做中学,实践中共同进步!
-
版权声明:自由转载-非商用-非衍生-保持署名| Creative Commons BY-NC-ND 3.0
如果你觉得本文对你有帮助,请点一下左下角的“好文要顶”和“收藏该文”
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库