662|0

66

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

《奔跑吧Linux内核(第2版)卷1:基础架构》配套实验环境搭建 [复制链接]

本帖最后由 maskmoo 于 2023-12-13 23:38 编辑

本文主要记录对《奔跑吧Linux内核》第二版的配套实验平台环境搭建和测试过程。并通过本“实验 1-3:使用 QEMU 虚拟机来运行 Linux 系统”学习如何编译一个 ARM64 版本的内核 image,并且在 QEMU 上运行起来。
起来。

搭建的实验环境如下:

主机硬件平台:Intel x86_84处理器兼容主机。

主机操作系统:VMware虚拟机(Ubuntu Linux 20.04)

GCC版本:9 (aarch64-linux-gnu-gcc-9)

1 相关资料下载

 

 

 

代码仓库文件列表 - runninglinuxkernel_5.0/runninglinuxkernel_5.0 - 公开仓库 (coding.net)

 

作者准备好的镜像下载方法:登陆“奔跑吧linux社区”微信公众号,输入“奔跑吧2”获取下载地址。

镜像所在路径:奔跑吧linux内核第二版 免费全套资料\vmware镜像 - 奔跑吧实验平台\vmware镜像

 

2 镜像安装

下载完成镜像后进行解压,打开Vmware,通过'文件-->打开 来选择刚刚解压好的镜像文件。  

 

 

启动虚拟机,输入密码: 123 即可进入。

 

进入系统后对代码仓库进行更新操作。

cd /home/rlk/rlk/runninglinuxkernel_5.0
git pull

 

关于该镜像的特点,作者描述如下:对于初学者来说最大的好处就是开箱即用。

 

3 实践测试

    最后以实验 1-3:使用 QEMU 虚拟机来运行 Linux 系统为例来测试一下环境。

    参考代码是在kmodules/rlk_lab/rlk_basic/chapter_1_quick_start/lab3_hello_world

     配置环境变量

export ARCH=arm64
export CROSS_COMPILE=aarch64-linux-gnu-
export BASEINCLUDE=/home/rlk/rlk/runninglinuxkernel_5.0

 

输入输入 make 命令进行编译

 

把 hello-world.ko 文件复制到 runninglinuxkernel_5.0/kmodules 目录中

cp hello-world.ko ../../../../../kmodules/

编译内核。

./run_debian_arm64.sh build_kernel

执行上述脚本需要几十分钟,依赖于主机的计算能力。接着,编译根文件系统。

cd runninglinuxkernel_5.0
sudo ./run_debian_arm64.sh build_rootfs

执行完成后会生成一个名为rootfs_arm64.ext4的根文件系统。

通过run_debian_arm64.sh脚本运行刚才编译好的ARM64版本的Linux系统,输入run参数即可。

./run_debian_arm64.sh run

QEMU加载linux系统登录名: benshushu 密码:123

 

 

 

加载 hello-world内核模块

su
sudo insmod /mnt/hello-world.ko

 

卸载 hello_world内核模块

sudo rmmod hello_world

 

总结

本文对实验平台环境搭建和测试过程进行了描述。笨叔为《奔跑吧Linux内核》第二版图书配套提供了丰富的工具和文档等资料,能够帮助读者快速上手Linux的学习。由于环境等其他因素影响在实践过程中可能会遇到一些挑战和问题,希望通过这次分享能为其他读者提供一些有价值的信息。

点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表