我目前正在研究linux内核3.11.0-12。但是我通过修改从linux-2.6.26的kernel.org下载的源代码来添加系统调用。我想编译修改后的2.6.26内核来测试我的新系统调用。我该怎么办?
答案 0 :(得分:0)
1)如果你想为你正在使用的相同架构构建内核,那么......
进入你的linux源文件夹并触发命令....
清洁: 使distclean
写配置:
make defconfig
构建内核:
制作uImage
或使vmlinux成为您要构建的图像
2)用于手臂架构...
清洁: make ARCH = arm CROSS_COMPILE = arm-linux-gnueabihf-distclean
写配置: make ARCH = arm CROSS_COMPILE = arm-linux-gnueabihf- defconfig
构建内核: make ARCH = arm CROSS_COMPILE = arm-linux-gnueabihf- uImage
3)使用第二步,您可以使用任何工具链为任何平台构建Linux内核 根据要求使用ARCH = CROSS_COMPILE =宏......
答案 1 :(得分:0)
我假设您使用的是vanilla内核并且您正在使用模块。无论是否香草,您需要目标内核的配置文件。
只需下载源代码,将内核配置文件复制到<kernel_source>/.config
并构建内核一次,因为您需要配置和头文件来进行内核源代码构建。使用make modules_prepare
。
然后运行make -C <full_path_to_kernel_source> M=$PWD
来构建模块。
请查看here以获取更多详细信息。