差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
digi:arm-embedded:linux:dey:dey-kernel-development [2022/03/16 21:52] – robin | digi:arm-embedded:linux:dey:dey-kernel-development [2022/03/16 22:24] (当前版本) – robin | ||
---|---|---|---|
行 7: | 行 7: | ||
编译完成后,记录一下这些目录内容: | 编译完成后,记录一下这些目录内容: | ||
Linux总目录是这个tmp/ | Linux总目录是这个tmp/ | ||
+ | |||
{{: | {{: | ||
Linux内核源码目录位于: | Linux内核源码目录位于: | ||
+ | {{: | ||
Linux内核编译的结果主要是在,在编译时自动生成的.config就是位于这里: | Linux内核编译的结果主要是在,在编译时自动生成的.config就是位于这里: | ||
行 15: | 行 17: | ||
{{: | {{: | ||
+ | 注意,你需要先编译过镜像,再进入devshell进行内核或设备树修改等操作。进入devshell方法是: | ||
+ | bitbake -c devshell virtual/ | ||
+ | 它会打开一个devshell,默认路径在内核源目录上:tmp/ | ||
+ | 如果我们进行make操作,实际上它会进入tmp/ | ||
+ | - 编译设备树 | ||
+ | 要修改和编译的设备树都在内核源码树下,我们需要在tmp/ | ||
+ | 一般插在原来的位置上,比如 | ||
+ | < | ||
+ | imx6ul-ccimx6ulsbc-id136.dtb \ | ||
+ | imx6ul-ccimx6ulsbc-lvg.dtb \ // | ||
+ | imx6ul-ccimx6ulsbc-wb.dtb \ | ||
+ | imx6ul-ccimx6ulsbc-wb-mfg.dtb \ | ||
+ | </ | ||
+ | 然后就可以直接make dtbs | ||
************************** | ************************** | ||
- | + | 如果我们在进入devshell之前没有先编译好镜像,也是可以进行开发的, | |
- | bitbake -c compile virtual/ | + | |
- | + | ||
- | 编译的结果在 | + | |
- | + | ||
- | tmp/ | + | |
- | + | ||
- | + | ||
- | 而如果我们用bitbake -c devshell virtual/ | + | |
- | + | ||
- | 和以往的版本不同,如果我们进入devshell,编译完Linux内核后, | + | |
- | + | ||
- | ls -la ../ | + | |
- | + | ||
- | 在tmp/ | + | |
- | + | ||
- | 因此,make dtbs会报错 | + | |
为了能正常编译设备树,需要指定平台架构,这实际上也是有好处的,毕竟我们只要自己要开发的平台,让编译器把所有x86和其它厂家相关的东西都编译一遍也是一种浪费。 | 为了能正常编译设备树,需要指定平台架构,这实际上也是有好处的,毕竟我们只要自己要开发的平台,让编译器把所有x86和其它厂家相关的东西都编译一遍也是一种浪费。 | ||
行 66: | 行 64: | ||
- | 1.刚编译完内核时的linux目录: | ||
- | {{: | ||
- | |||
- | 2. 刚编译完内核时的linux的build目录 | ||
- | {{: | ||
- | |||
- | 3. 进入devshell后的ls -la | ||
- | {{: | ||
- | {{: | ||
更多参考:https:// | 更多参考:https:// |