Файл syscall_table_32.S не найден

Я хочу добавить системный вызов в Linux, но в обучающих данных нам нужно изменить файл linux/arch/i386/kernel/entry.S или arch/x86/kernel/syscall_table_32.S. Я не могу найти файлы. Я посмотрел и не смог найти и у меня нет папки с именем i386. Помогите мне, пожалуйста. необходимо.

3
задан 13 December 2012 в 15:07

2 ответа

Прежде всего вам нужен исходный код ядра Linux. Вы можете скачать его на kernel.org или установить пакет linux-source из Ubuntu. В последнем случае вы найдете несколько исправлений из Ubuntu.

Обычно источники живут по /usr/src. Если вы распаковали файлы или установили пакет, вы найдете дерево, которое вы упомянули выше. Таким образом, самая последняя версия ядра содержит файл с именем entry_32.S и entry_64.S в подкаталоге arch/x86/kernel. Часть после arch имеет имя x86, а не i386, как вы упоминали. Если вы хотите использовать i386, вам следует выбрать версию ядра ниже 3.7, потому что i386 был удален с 3.7 и далее.

0
ответ дан 13 December 2012 в 15:07

Файл entry_64.S не является эквивалентным файлом, который вам нужно изменить ... в зависимости от того, что вы хотите сделать. Если вы хотите добавить системный вызов в свое ядро, измените файл /arch/x86/syscalls/syscall_64.tbl .

0
ответ дан 13 December 2012 в 15:07

Другие вопросы по тегам:

Похожие вопросы: