Сегодня у меня есть проект промежуточного уровня для моего курса «Операционные системы», нам предлагается реализовать системный вызов (и я предполагаю, что мы должны будем написать фрагмент кода для вызова Это).Создание системного вызова в Linux
Я понимаю, что мне нужно будет обновить таблицу системных вызовов (не помню имя, но не biggie), а также создать модуль ядра, на который будет ссылаться таблица, но означает ли это, что я мне нужно перекомпилировать все ядро, поэтому ядро знает о моем модуле?
Я видел, что можно захватить текущий системный вызов, но я подозреваю, что я не получу кредит на свое задание, если я это сделаю.
Просто хотел почувствовать размер усилий, которые я буду делать.
UPDATE: Хорошо, что это похоже на проблему, они меняют некоторые вещи, я верю 2.6.32 вперёд, поэтому, когда я вернулся к предыдущей версии ядра, специфичной для обучаемых в Интернете, я обнаружил, что это было очень просто следить. Если кто-то ловит это в Интернете и следует за учебником, изначально я бы рекомендовал сначала загрузить то же самое ядро в учебнике, а затем перейти оттуда, когда у вас есть понимание того, что вы делаете. Если вы действительно знакомы с компиляцией ядер и т. Д., У вас может не возникнуть проблема, но это был первый раз, когда я собирал ядро, поэтому было больно скомпилировать в течение 2 часов, а затем выяснить, что-то не работает, и придется делать это снова и снова, особенно когда я не был уверен, что я/не делал неправильно.
Для перекомпиляции части ядра, я бы порекомендовал вам взять исходный код и .config из дистрибутива вместо того, чтобы Ваше собственное .config с источником из kernel.org. Это должно вызывать меньше головных болей, если вы не получите .config для вашего оборудования. – jonescb