zl程序教程

您现在的位置是:首页 >  IT要闻

当前栏目

[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