1-内核开发环境ubuntu+virtualbox+mobaXterm搭建

news/2024/10/22 0:34:11/
ubuntu%2Bvirtualbox%2BmobaXterm%E6%90%AD%E5%BB%BA">内核开发环境 ubuntu+virtualbox+mobaXterm搭建

目录

ubuntu%2Bvirtualbox%2BmobaXterm%E6%90%AD%E5%BB%BA-toc" style="margin-left:160px;">内核开发环境 ubuntu+virtualbox+mobaXterm搭建

1.virtualbox 安装

ubuntu%20%E5%AE%89%E8%A3%85-toc" style="margin-left:200px;">2.ubuntu 安装

3.网络设置

ubuntu%20%E6%BA%90%E5%AE%89%E8%A3%85%E5%9F%BA%E6%9C%AC%E8%BD%AF%E4%BB%B6-toc" style="margin-left:200px;">4.虚拟机安装ssh 服务,更新ubuntu 源安装基本软件

5.mobaXterm 个人免费版本安装

6.总结


本课程教程从0-1开始教你如何入门Linux内核模块开发

课程名称:Linux内核开发入门


课程简介:
Linux内核开发入门是一门旨在帮助学习者从最基本的知识开始学习Linux内核开发的入门课程。该课程旨在为对Linux内核开发感兴趣的初学者提供一个扎实的基础,让他们能够理解和参与到Linux内核的开发过程中。

课程特点:
1. 入门级别:该课程专注于为初学者提供Linux内核开发的入门知识。无论你是否具有编程或操作系统的背景,该课程都将从最基本的概念和技术开始,逐步引导学习者深入了解Linux内核开发的核心原理。

2. 系统化学习:课程内容经过系统化的安排,涵盖了Linux内核的基础知识、内核模块编程、设备驱动程序开发等关键主题。学习者将逐步了解Linux内核的结构、功能和工作原理,并学习如何编写和调试内核模块和设备驱动程序。

3. 实践导向:该课程强调实践,通过丰富的实例和编程练习,帮助学习者将理论知识应用到实际的Linux内核开发中。学习者将有机会编写简单的内核模块和设备驱动程序,并通过实际的测试和调试来加深对Linux内核开发的理解。

4. 配套资源:为了帮助学习者更好地掌握课程内容,该课程提供了丰富的配套资源,包括教学文档、示例代码、实验指导和参考资料等。学习者可以根据自己的学习进度和需求,灵活地利用这些资源进行学习和实践。

无论你是计算机科学专业的学生、软件工程师还是对Linux内核开发感兴趣的爱好者,Linux内核开发入门课程都将为你提供一个扎实的学习平台,帮助你掌握Linux内核开发的基础知识,为进一步深入研究和应用Linux内核打下坚实的基础。

本章是课程的第一课,首先我们先进行环境安装吧。这门课程目前选择的开发宿主机为 Window 10.其他Linux ,Mac OS环境切换过去理论也不是很困难。

1.virtualbox 安装

到官方网站下载 获取最新版本的安装包,假设在环境windwos 进行实验

官方下载地址:https://download.virtualbox.org

安装包直接下载地址:https://download.virtualbox.org/virtualbox/7.0.12/VirtualBox-7.0.12-159484-Win.exe

下载后,直接下一步安装即可。

ubuntu%20%E5%AE%89%E8%A3%85">2.ubuntu 安装

这里推荐到清华tuna镜像网站上下载 ,下载速度会快很多(当然你也可以选择其他国内大学,企业资源镜像网站进行下载)

官方地址:https://mirrors.tuna.tsinghua.edu.cn/

选择20.04.1-Ubuntu 安装包 ,进入左侧:常用发行版 iso 和应用工具安装包直接下载。获取下载链接:

  • https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/focal/ubuntu-20.04.6-desktop-amd64.iso

这个版本的进行下载。下载后,保存到本地 ubuntu-20.04.6-desktop-amd64.iso。

开始进行Ubuntu 安装。具体步骤如下图。

新建虚拟机叫ubuntu ,保存目录:D:\ProgramData\testvm\ubuntu\

进入专家模式,硬盘选择20g,内存2g即可

然后选择设置,设置到加载当前下载的虚拟镜像iso 文件

选择后保存设置。

然后在virutalbox 主界面点击刚才创建的虚拟机 ubuntu ,右键---启动---正常启动,就进入安装环节了。

选择 install 模式

选择安装的时候,不进行“download updates while installing Ubuntu” 更新,这样安装会更快

中途会让你设置用户名,密码,设置好后,就进入漫长的安装环境,等待即可

等待安装完成,然后安装提示进行重启

重启后,一般进入系统页面,如果发现进入的还是安装界面,需要先卸载掉安装媒介。然后重启虚拟机就会进入系统。

进入页面后,打开terminal应用,输入ping www.baidu.com 看虚拟机是否可以连接外网?

显示当前是可以连接外网的。检查当前virtual box 网络设置模式,当前只设置了网卡1,并且模式是网络地址转换NAT 模式。

当前采用的完全是virtualbox 为我们进行默认设置。

检测下宿主windows机器 ip 与虚拟机IP 地址

执行ping 看宿主机是否可以ping 虚拟机

C:\Users\Administrator>ping 10.0.2.15正在 Ping 10.0.2.15 具有 32 字节的数据:
请求超时。

发现ping 不通,这会给后面的mobaXterm 配置ssh 连接虚拟机带来问题。直接在virtualbox 虚拟机页面操作命令没有通过 ssh 方式的方便,所以我们要解决这个问题,详细看下面一节。

3.网络设置

首先virtual box 对于虚拟机网络设置位两个网卡模式,具体设置如下图

这里我们启用了网卡2,并且设置连接方式为:仅主机( Host-Only) 网络。

设置后保存再次启动ubuntu 虚拟机,查看虚拟机 网络ip 信息,发现另外一个网卡 enp0s3 已经获取到ip 地址信息 192.168.56.102

这里我们在宿主windows 机器上执行ping 192.168.56.102 就可以发现可以ping 通了。

记录此IP地址 192.168.56.102 后面配置ssh 使用

ubuntu%20%E6%BA%90%E5%AE%89%E8%A3%85%E5%9F%BA%E6%9C%AC%E8%BD%AF%E4%BB%B6">4.虚拟机安装ssh 服务,更新ubuntu 源安装基本软件
sudo apt update
sudo apt list --upgradable
sudo apt install net-tools
sudo apt install vim
sudo apt-get install openssh-server

最后一个是安装ssh server的,安装后,我们先检测ssh 服务是否启动

sudo systemctl status sshd 

命令查看 OpenSSH 服务端的状态 。输出:active running 可知 OpenSSH 服务端已经在运行

5.mobaXterm 个人免费版本安装

进入官网:MobaXterm free 下载mobaXterm。

选择 home edition   https://mobaxterm.mobatek.net/download-home-edition.html

下载,这时候可以选择     Download MobaXterm Home Edition (current version)

选择:Portable edition ,这样解压到本地磁盘就可以使用。当然你也可以选择installer edition 执行安装后在使用,但是我觉得完全没有必要。

安装好后,就是配置

创建New session  session 选择ssh 名称可以自定义,host填写ubuntu 安装自动获取的ip 地址。port 选择输入 22 ,然后点击保存,保存好之后,双击左侧的quick connect 对应的session ,就可以进入虚拟机(前提是你的virutal box 对应的虚拟机目前是开启的状态

保存好后,双击此虚拟机的 session,进入登陆 

输入用户名,密码,即可登记ubuntu 机器了。

自此,我们的 Virtualbox + Ubuntu + mobaXter 开发环境已经配置好, 可以进行后续内核课程的学习开发。

6.总结

有了这个环境后,我们就可以进行开发了,当前已经配置好ssh 服务功能,相关命令的复制,copy 比直接操作virtualbox虚拟机界面方便多。

接下来就进行内核开发入门课程。


http://www.ppmy.cn/news/1425785.html

相关文章

YMP实现Oracle迁移到YashanDB

迁移需求 ip地址 数据库信息 操作系统信息 源库 192.168.3.132 实例名topdh 用户密码TOPICIS/oracle 端口1521 Centos7.9 x86_64 目标库 192.168.3.175 实例名yasdb 用户密码topicist/opicis 端口1688 Centos7.9 x86_64 迁移前准备 YMP工具获取 根据实际需求向厂…

(一)基于IDEA的JAVA基础14

在看今天的重点二维数组前,先做俩个练习复习一下,热热脑子: 求数组内的最大值/最小值 这个就是挨个比较换一下位置 假设有这么一组数组{16,48,48,54,3} public class Test01 { public static void main(String[] args) { int [] num {16,48,54,3}; …

大模型日报2024-04-13

大模型日报 2024-04-13 大模型资讯 Snowflake Copilot AI助手公开预览版发布 摘要: Snowflake Copilot是一款基于Mistral Large动力的AI助手,现已推出公开预览版。根据Snowflake分享的演示,该助手能够在SQL工作表中静默运行,并为用户提供一个…

编程入门(一)【Web服务器环境的部署】

文章目录 前言一、常见的软件类型二、网站系统的工作方式三、商城网站系统的部署总结 前言 本文内容: ⭐️常见的软件类型 🌟网站系统的工作方式 ❤️商城网站系统的部署 一、常见的软件类型 无论是我们所用的网站系统还是移动APP,都会设计…

URL GET +号后台接收成空格

问题:参数spdmwhbs001 其中包含URL特殊符号 如果用GET请求方式不做任何不处理那么浏览器自动将转为%20 请求链接为 details?spdmwhbs%20001&limitKcysType1 后台接收到的参数为 whbs 001 ,自动将号转成空格了。 尝试解决(失败&#…

Mac上的PD虚拟机安装parallels tools问题

本文主要记录mac上的虚拟机软件安装好centos7.9的时候安装parallels tools的错误的解决办法: Centos 7.9虚拟机安装parallels tools 前言 在centos高版本上安装parallells tools时会报错,具体错误信息可以在/var/log/parallels.log文件中查看。 本文…

论文阅读:BEVBert: Multimodal Map Pre-training for Language-guided Navigation

BEVBert:语言引导导航的多模态地图预训练 摘要 现存的问题:目前大多数现有的预训练方法都采用离散的全景图来学习视觉-文本关联。这要求模型隐式关联全景图中不完整、重复的观察结果,这可能会损害智能体的空间理解。 本文解决方案&#xf…

pytorch 今日小知识3——nn.MaxPool3d 、nn.AdaptiveAvgPool3d、nn.ModuleList

MaxPool3d — PyTorch 2.2 documentation 假设输入维度(1,2,3,4,4) maxpool torch.nn.MaxPool3d(kernel_size(2, 2, 2), stride(2, 2, 2), padding(1, 0, 0))F 维的 kernel_size 为 2,说明在 F 维的覆盖的 frame 数为 2,也就是…