[078]Photon-Linux学习环境搭建
2023-03-07 09:14:49 时间
背景
础光 Linux 是面向汽车的实时操作系统,在原生 Linux 内核基础上,确保系统可靠的前提下,从中断线程化、调度策略、进程切换等方面进行了优化,构建了专注于仪表/娱乐/自动驾驶场景的安全、可靠、强实时的基础操作系统,分享一下我的本地学习环境。
一、下载编译
推荐个人电脑的系统为 Ubuntu 18.04 LTS 及以上版本。
1.1 安装依赖
sudo apt install git bc bison flex libssl-dev make
1.2 安装交叉编译器
sudo apt install gcc-aarch64-linux-gnu
1.3 下载源码
git clone https://gitee.com/kernelsoft/photon-linux.git
1.4 编译源码
# 在 photon-linux 源码根目录中执行如下命令完成编译的配置(只需执行一次)
cd photon-linux
./quick-start.sh devel
# 执行如下命令编译内核
./quick-start.sh image
二、QEMU虚拟机
2.1 安装QEMU
sudo apt install qemu-system-aarch64
2.2 下载rootfs.img
# 通过如下链接下载预制的版本并重命名为 rootfs.img,保存到 build 目录
mkdir build && cd build
wget https://www.kernelsoft.com/api/media?path=static/files/rootfs.img -O rootfs.img
2.3 QEMU运行Photon Linux
编译完成,运行以下指令启动qemu并加载编译好的镜像。
./quick-start.sh run
三、Clion导入源码
3.1 生成compile_commands.json
编译完成之后,执行以下指令
python3 ./scripts/clang-tools/gen_compile_commands.py
3.2 Clion以项目的方式打开compile_commands.json
导入的项目时间有点长,请耐心等待,如果电脑内存不够,可能会导致失败。
总结
现在你可以轻松地跳转代码,修改源码,编译运行调试了,如果想要断点调试,可以学习一下使用GDB。
小彩蛋
我在寻找资料的途中,发现了一些牛逼的网站,这个图是可以点击的。 https://makelinux.github.io/kernel/map/
参考文献 https://gitee.com/kernelsoft/photon-linux https://github.com/nickdiego/compiledb
相关文章
- 发现 Linux SpaceFM 文件管理器的威力
- 夯实数据智能底座 共筑数字经济发展“新基石”
- 五分钟教你使用console.log发布公司的招聘信息
- 微软发布 Windows 11 Beta 预览版 Build 22621.1250 和 22623.1250 (KB5023008)
- Windows 11 学院:在 Windows 11 Build 25290 上如何为文件管理器启用标签页拖拽支持
- 微软Windows 11 Dev 预览版 Build 25290 发布:带来新的开始菜单提醒角标
- 微软正用全屏通知提醒 Windows 10 用户免费升级 Windows 11,要点击 5 次才能退出
- Linux Mint 21.2 将于 6 月发布:改进登录屏幕,优化 Pix 图像管理程序等等
- 字节面试也会问SPI机制?
- 微软正式停售 Windows 10 产品密钥 / 许可证:继续提供 ISO 镜像下载,推荐用户升级 Windows 11
- 用复古电脑程序 Toy CPU 学习低级编程
- Windows 11 新功能泄露:现代音量合成器、实验工具和新的文件管理器
- 微软 Windows 11 文件资源管理器全新设计曝光:UI 迎来大修,整合 Microsoft 365
- 对比Pandas,学习PySpark大数据处理
- 微软宣布为Windows 11 21H2设备开启自动更新到22H2版本
- 互联网都在说降本增效,小红书技术团队是怎么做的?
- 微软将继续提供 Windows 10 ISO 镜像下载,即将停售产品密钥 / 许可证
- 微软宣布为Windows 11 21H2 设备开启自动更新到 22H2 版本
- 面试突击:Properties和Yml有什么区别?
- 微软 Windows 11 Beta 预览版 22621.1245 和 22623.1245 (KB5022358) 发布