У меня есть сценарий (найденный здесь на GitHub) что пользовательские компиляции 3,8 ядра Linux (с Xenomai для в реальном времени). Ядро компилирует/устанавливает/выполняет однако, когда я пытаюсь установить свой графический драйвер (fglrx для ATI RADEON 8490), я получаю следующую ошибку:
/lib/modules/3.8.13.20-xenomai-2.6.3/build/include/generated/uapi/linux/version.h cannot be found on this system.
Когда я изучаю этот каталог (/lib/modules/3.8.13.20-xenomai-2.6.3/build/) там нет ничего. Я затем выполнил ls-l в/lib/modules/3.8.13.20-xenomai-2.6.3 и получил следующий вывод для каталога сборки:
build -> /home/yapatel/Dev/rtxi/scripts/linux-3.8.13
Каталог, на который указывает каталог сборки, был удален как часть сценария для компиляции/установки пользовательского ядра, таким образом, эта символьная ссылка мертва, которые имеют смысл относительно того, почему я получаю ошибку.
Я компилирую пользовательское ядро с помощью следующей команды:
fakeroot make-kpkg --initrd --append-to-version=-xenomai-$xenomai_version kernel-image kernel-headers modules
и затем устанавливая скомпилированное ядро с помощью следующих команд:
sudo dpkg -i linux-image-*.deb
sudo dpkg -i linux-headers*.deb
sudo update-initramfs -c -k $linux_version-xenomai-$xenomai_version
sudo update-grub
Теперь вот мой вопрос - я понял это, как вышеупомянутая установка управляет для заботы обо всех необходимых частях для установки пользовательского скомпилированного ядра, однако deadlink к моему каталогу сборки, кажется, предлагает, чтобы я вручную скопировал по файлам с:
/home/yapatel/Dev/rtxi/scripts/linux-3.8.13
кому:
/lib/modules/3.8.13.20-xenomai-2.6.3/build/
Это походит на ручную фиксацию, а не надлежащую фиксацию. Существует ли команда, которую я пропускаю в процессе компиляции/установки моего пользовательского ядра? Я предполагаю, что это означает, что мои модули ядра не устанавливаются?
Весь совет/справка ценится!
Необходимо или отредактировать сценарий так, чтобы он не удалял каталог сборки (надлежащая фиксация), как Вы называете его или копируете файлы в систему (ручная фиксация).
Ни одни из этих "мер" не имеют никакого отношения к командам, используемым для компиляции ядра (делают).
можно выбрать, где и как скомпилировать ядро, обычно используйте, используют каталог сборки в корневом каталоге и сборке как пользователь, но нет серьезного основания, Вы не могли использовать системный каталог и создать как корень. Можно использовать любое местоположение, которого Вы желаете для создания.
Попытайтесь работать make modules -j $number_of_cpus
и затем make modules_install -j $number_of_cpus
, чтобы восстановить и установить все модули. Проверьте, дает ли это все еще Вам ошибки.