Я пытаюсь установить Click Modular Router в качестве модуля ядра Linux.
Я выполнил команду
sudo ./configure --enable-linuxmodule
И получил следующую ошибку
Can't find /usr/src/linux, so I can't compile the linuxmodule driver! (You may need the --with-linux=DIR option.)
Затем я выполнил следующую команду
sudo ./configure --enable-linuxmodule --with-linux=/usr/src/linux-headers-3.2.0-55-generic-pae
И Я получил следующую ошибку
Can't find Linux System.map file in /usr/src/linux-headers-3.2.0-55-generic-pae. (You may need the --with-linux=DIR and/or --with-linux-map=MAP options.)
Мне нужно настроить это таким образом, чтобы я мог поместить это в сценарий автоматического развертывания. Как бы я поступил так?
Вам нужно сделать что-то вроде этого:
$: LINUX_VERSION=`uname -r` ./configure --with-linux=/usr/src/linux-headers-$LINUX_VERSION --with-linux-map=/boot/System.map-$LINUX_VERSION
Если требуются другие детали, вам, возможно, придется передать опции для них таким же образом, если они предназначены для версионных произведений.
Лучшее решение для автоматического развертывания - это упаковать его в пакет debian, который устанавливается вместе с dkms
, чтобы модуль ядра автоматически перестраивался при установке новых ядер в систему. Вы можете увидеть пакет virtualbox-dkms
и другие похожие -dkms
именованные пакеты, чтобы узнать, как это сделать.