前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[078]Photon-Linux学习环境搭建

[078]Photon-Linux学习环境搭建

作者头像
王小二
发布2023-02-16 08:50:41
7700
发布2023-02-16 08:50:41
举报

背景

础光 Linux 是面向汽车的实时操作系统,在原生 Linux 内核基础上,确保系统可靠的前提下,从中断线程化、调度策略、进程切换等方面进行了优化,构建了专注于仪表/娱乐/自动驾驶场景的安全、可靠、强实时的基础操作系统,分享一下我的本地学习环境。

一、下载编译

推荐个人电脑的系统为 Ubuntu 18.04 LTS 及以上版本。

1.1 安装依赖

代码语言:javascript
复制
sudo apt install git bc bison flex libssl-dev make

1.2 安装交叉编译器

代码语言:javascript
复制
sudo apt install gcc-aarch64-linux-gnu

1.3 下载源码

代码语言:javascript
复制
git clone https://gitee.com/kernelsoft/photon-linux.git

1.4 编译源码

代码语言:javascript
复制
# 在 photon-linux 源码根目录中执行如下命令完成编译的配置(只需执行一次)
cd photon-linux
./quick-start.sh devel
# 执行如下命令编译内核
./quick-start.sh image

二、QEMU虚拟机

2.1 安装QEMU

代码语言:javascript
复制
sudo apt install qemu-system-aarch64

2.2 下载rootfs.img

代码语言:javascript
复制
# 通过如下链接下载预制的版本并重命名为 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并加载编译好的镜像。

代码语言:javascript
复制
./quick-start.sh run

三、Clion导入源码

3.1 生成compile_commands.json

编译完成之后,执行以下指令

代码语言:javascript
复制
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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-02-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • 一、下载编译
    • 1.1 安装依赖
      • 1.2 安装交叉编译器
        • 1.3 下载源码
          • 1.4 编译源码
          • 二、QEMU虚拟机
            • 2.1 安装QEMU
              • 2.2 下载rootfs.img
                • 2.3 QEMU运行Photon Linux
                • 三、Clion导入源码
                  • 3.1 生成compile_commands.json
                    • 3.2 Clion以项目的方式打开compile_commands.json
                    • 总结
                    • 小彩蛋
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档