在 OSX 10.15.4 Catalina 上构建的 arm64 内核的一次更新。
我的意图是在 macOS 上本地构建最新(5.7)arm64 内核,并在 qemu-system-aarch64 上播放它。顺便说一句,从 crosstool-ng 构建的工具链。
1)首先按照上述步骤,包含一些头文件。我把它们放在我的主文件夹下
$ ls ~/usr/include/ -l
drwxr-xr-x 4 yupluo01 admin 128 May 4 16:47 bits
-rw-r--r-- 1 yupluo01 管理员 177346 5 月 4 日 16:23 elf.h
-rw-r--r-- 1 yupluo01 admin 17079 May 4 16:23 features.h
drwxr-xr-x 4 yupluo01 admin 128 May 4 16:44 gnu
-rw-r--r-- 1 yupluo01 admin 6186 May 4 16:33 malloc.h
-rw-r--r-- 1 yupluo01 admin 2290 May 4 16:43 stdc-predef.h
2) 其次,对主机 uuid 代码进行一些 hack,因为 mac 上的 uuid_t 类型与 linux 不同:scripts/mod/file2alias.c 通过一个宏 BUILD_ON_LINUX 删除 uuid_t 定义,并在 do_tee_entry() 中注释代码
3) 使 ARCH=arm64 HOSTCFLAGS=" -I /usr/local/include -I ~/usr/include -I /usr/local/opt/openssl/include/ -L /usr/local/opt/openssl/lib/ -DBUILD_ON_LINUX=0" CROSS_COMPILE= aarch64-unknown-linux-gnu- O=out_arm64/