|
|
@ -392,34 +392,26 @@ U盘: |
|
|
|
## 登录 |
|
|
|
ubuntu和debian系统包含了超级用户root,和一个普通用户user,密码和用户名相同,busybox最小系统只需要输入用户名root。 |
|
|
|
|
|
|
|
# ubuntu及debian系统支持linux-headers |
|
|
|
linux-headers包含构建内核外部模块所需的头文件,编译ubuntu和debian的defconfig会生成linux-headers。 |
|
|
|
关于如何编译内核外部模块,可参考https://www.kernel.org/doc/html/latest/kbuild/modules.html |
|
|
|
|
|
|
|
## 开发板上编译内核模块 |
|
|
|
buildroot将linux-headers-version安装在根文件系统的`/usr/src`目录下, |
|
|
|
并为它创建了一个软链接`/lib/modules/version/build`。 |
|
|
|
在开发板上编译内核外部模块的命令为: |
|
|
|
`make -C /lib/modules/5.10.153-phytium-embeded/build M=$PWD modules` |
|
|
|
# 编译内核模块 |
|
|
|
关于如何编译内核外部模块,可参考https://www.kernel.org/doc/html/latest/kbuild/modules.html |
|
|
|
|
|
|
|
## 交叉编译内核模块 |
|
|
|
编译ubuntu和debian的defconfig,会在`output/target/usr/src`目录中安装linux-headers-version。 |
|
|
|
注意,目前linux-headers-version默认支持在开发板上编译内核模块,如果用于交叉编译内核模块,需要在编译ubuntu和debian的defconfig之前, |
|
|
|
将`board/phytium/common/post-build.sh`中的如下两行注释掉,再执行编译。 |
|
|
|
`cp -r board/phytium/common/linux-5.10/scripts $destdir` |
|
|
|
`cp -r board/phytium/common/linux-4.19/scripts $destdir` |
|
|
|
|
|
|
|
使用buildroot的工具链来交叉编译内核模块,buildroot工具链位于`output/host/bin`,工具链的sysroot为 |
|
|
|
使用工具链来交叉编译内核模块,工具链位于`output/host/bin`,工具链的sysroot为 |
|
|
|
`output/host/aarch64-buildroot-linux-gnu/sysroot`。 |
|
|
|
交叉编译内核外部模块的命令为: |
|
|
|
``` |
|
|
|
$ make ARCH=arm64 \ |
|
|
|
CROSS_COMPILE=/home/xxx/phytium-linux-buildroot/output/host/bin/aarch64-none-linux-gnu- \ |
|
|
|
-C /home/xxx/phytium-linux-buildroot/output/target/usr/src/linux-headers-5.10.153-phytium-embeded \ |
|
|
|
-C /home/xxx/phytium-linux-buildroot/output/build/linux-xxx/ \ |
|
|
|
M=$PWD \ |
|
|
|
modules |
|
|
|
``` |
|
|
|
|
|
|
|
## 开发板上编译内核模块 |
|
|
|
利用linux-headers可以在开发板上进行内核模块编译,软链接`/lib/modules/xxx/build`指向linux-headers。 |
|
|
|
在开发板上编译内核外部模块的命令为: |
|
|
|
`make -C /lib/modules/xxx/build M=$PWD modules` |
|
|
|
|
|
|
|
# buildroot编译新的应用软件 |
|
|
|
本节简单介绍如何通过buildroot交叉编译能运行在开发板上的应用软件,完整的教程请参考buildroot用户手册manual.pdf。 |
|
|
|
## buildroot软件包介绍 |
|
|
|