so2学习日志
参考链接 github参考文档 so2内核教学
启动
物理机下
1 | sudo ./local.sh docker interactive --privileged |
docker下
1 | /linux/tools/labs# LABS=<实验名称> make skels |
源码在 docker下/linux 中
vim(Cscope插件)下查询
1 | :cs find g task_struct |
练习
骨架代码是从位于 tools/labs/templates 的完整源代码示例中生成的。要解决任务,首先要为所有实验生成骨架代码:
1 | tools/labs $ make clean |
你还可以使用以下命令为单个任务生成骨架代码:
1 | tools/labs $ LABS=<实验名称>/<任务名称> make skels |
生成骨架驱动程序后,构建源代码:
1 | tools/labs $ make build |
然后,启动虚拟机:
1 | tools/labs $ make console |
模块将放置在 /home/root/skels/kernel_api/<任务名称> 目录中。
重新构建模块时,无需停止虚拟机!本地 skels 目录与虚拟机共享。