
Я пытаюсь установитьМодульный маршрутизатор Clickкак модуль ядра 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.)
Мне нужно настроить это таким образом, чтобы я мог поместить это в автоматизированный сценарий развертывания. Как мне это сделать?
решение1
Вам нужно сделать что-то вроде этого:
$: 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
пакеты с похожими именами, чтобы узнать, как это сделать.