5
Tôi cố gắng để biên dịch hạt nhân Linux: http://tldp.org/LDP/lkmpg/2.6/html/lkmpg.htmlBiên dịch Linux kernel - hello world
tôi có một chương trình thế giới hello đơn giản hello-1.cpp
#include <linux/module.h>
#include <linux/kernel.h>
int init_module(void)
{
return 0;
}
void cleanup_module(void)
{
}
Nhưng tôi đang cố gắng để xây dựng nó sử dụng Makefile:
obj-m += hello-1.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
Tôi gặp một vài lỗi.
make -C /home/pacman/linux-2.6.34.11/2.6.35.6-45.fc14.i686/build M=/home/pacman/p1 modules
make: *** /home/pacman/linux-2.6.34.11/2.6.35.6-45.fc14.i686/build: No such file or directory. Stop.
thực hiện: * [tất cả] Lỗi 2
Tôi quên để xác định cái gì?
Trong trường hợp của tôi ví dụ biên soạn một cách chính xác. Trong trường hợp của bạn thư mục xây dựng mà bạn đang đi qua như một đối số để thực hiện không được tìm thấy. Hãy thử làm theo hướng dẫn trong [trang web] này (http://www.cyberciti.biz/tips/compiling-linux-kernel-module.html) để xem nó có giải quyết được vấn đề của bạn hay không và bạn có thể tìm kiếm dir của phiên bản hạt nhân của bạn và vượt qua nó như là một đối số của thực hiện. – bacchus
Khi tôi liệt kê các nội dung của – user289925
Trong thư mục /home/pacman/linux-2.6.34.11 tôi có thể thấy thư mục hoặc tệp xây dựng không? Tôi có một tập tin Kbuild. – user289925