'System.map' fileが見つからないことによるエラーを解決したい
Q&A
Closed
解決したいこと
・Ubuntu18.04.6
・Open vSwitch2.17.8
この環境でOpen vSwitchのカーネル部分の実装を変更し、カーネルにinstallしたいと考えているのですが、
次の問題が発生しており、適切に行えていません。
発生している問題・エラー
カーネルへのインストールを行うため次のコマンドを実行しています。
cd openvswitch-2.17.8
./boot.sh
./configure --with-linux=/lib/modules/$(uname -r)/build
make
sudo make modules_install
sudo rmmod openvswitch
sudo modprobe gre
sudo modprobe libcrc32c
1ヶ月ほど前にISOファイルからubuntuを立ち上げて同様の実行をしていた際は問題なく実行できていましたが、つい先日カーネルがクラッシュしたため再度同じ手順で実行したところ、次のエラーが発生しました。
例)
$ sudo make modules_install
cd datapath/linux && make modules_install
make[1]: ディレクトリ '/home/switch/openvswitch-2.17.8/datapath/linux' に入ります
make -C /lib/modules/5.4.0-150-generic/build M=/home/switch/openvswitch-2.17.8/datapath/linux modules_install
make[2]: ディレクトリ '/usr/src/linux-headers-5.4.0-150-generic' に入ります
INSTALL /home/switch/openvswitch-2.17.8/datapath/linux/openvswitch.ko
At main.c:167:
- SSL error:02001002:system library:fopen:No such file or directory: crypto/bio/bss_file.c:69
- SSL error:2006D080:BIO routines:BIO_new_file:no such file: crypto/bio/bss_file.c:76
sign-file: certs/signing_key.pem: No such file or directory
INSTALL /home/switch/openvswitch-2.17.8/datapath/linux/vport-geneve.ko
At main.c:167:
- SSL error:02001002:system library:fopen:No such file or directory: crypto/bio/bss_file.c:69
- SSL error:2006D080:BIO routines:BIO_new_file:no such file: crypto/bio/bss_file.c:76
sign-file: certs/signing_key.pem: No such file or directory
INSTALL /home/switch/openvswitch-2.17.8/datapath/linux/vport-gre.ko
At main.c:167:
- SSL error:02001002:system library:fopen:No such file or directory: crypto/bio/bss_file.c:69
- SSL error:2006D080:BIO routines:BIO_new_file:no such file: crypto/bio/bss_file.c:76
sign-file: certs/signing_key.pem: No such file or directory
INSTALL /home/switch/openvswitch-2.17.8/datapath/linux/vport-lisp.ko
At main.c:167:
- SSL error:02001002:system library:fopen:No such file or directory: crypto/bio/bss_file.c:69
- SSL error:2006D080:BIO routines:BIO_new_file:no such file: crypto/bio/bss_file.c:76
sign-file: certs/signing_key.pem: No such file or directory
INSTALL /home/switch/openvswitch-2.17.8/datapath/linux/vport-stt.ko
At main.c:167:
- SSL error:02001002:system library:fopen:No such file or directory: crypto/bio/bss_file.c:69
- SSL error:2006D080:BIO routines:BIO_new_file:no such file: crypto/bio/bss_file.c:76
sign-file: certs/signing_key.pem: No such file or directory
INSTALL /home/switch/openvswitch-2.17.8/datapath/linux/vport-vxlan.ko
At main.c:167:
- SSL error:02001002:system library:fopen:No such file or directory: crypto/bio/bss_file.c:69
- SSL error:2006D080:BIO routines:BIO_new_file:no such file: crypto/bio/bss_file.c:76
sign-file: certs/signing_key.pem: No such file or directory
DEPMOD 5.4.0-150-generic
Warning: modules_install: missing 'System.map' file. Skipping depmod.
make[2]: ディレクトリ '/usr/src/linux-headers-5.4.0-150-generic' から出ます
/sbin/depmod `sed -n 's/#define UTS_RELEASE "\([^"]*\)"/\1/p' /lib/modules/5.4.0-150-generic/build/include/generated/utsrelease.h`
make[1]: ディレクトリ '/home/switch/openvswitch-2.17.8/datapath/linux' から出ます
このSSLのエラーについては、証明書がなぜか作成されていなかったことが原因であることがわかり、作成したところこのエラーはでなくなりました。その後再度sudo make modules_installを実行すると、
$ sudo make modules_install
[sudo] switch のパスワード:
cd datapath/linux && make modules_install
make[1]: ディレクトリ '/home/switch/openvswitch-2.17.8/datapath/linux' に入ります
make -C /lib/modules/5.4.0-150-generic/build M=/home/switch/openvswitch-2.17.8/datapath/linux modules_install
make[2]: ディレクトリ '/usr/src/linux-headers-5.4.0-150-generic' に入ります
INSTALL /home/switch/openvswitch-2.17.8/datapath/linux/openvswitch.ko
INSTALL /home/switch/openvswitch-2.17.8/datapath/linux/vport-geneve.ko
INSTALL /home/switch/openvswitch-2.17.8/datapath/linux/vport-gre.ko
INSTALL /home/switch/openvswitch-2.17.8/datapath/linux/vport-lisp.ko
INSTALL /home/switch/openvswitch-2.17.8/datapath/linux/vport-stt.ko
INSTALL /home/switch/openvswitch-2.17.8/datapath/linux/vport-vxlan.ko
DEPMOD 5.4.0-150-generic
Warning: modules_install: missing 'System.map' file. Skipping depmod.
make[2]: ディレクトリ '/usr/src/linux-headers-5.4.0-150-generic' から出ます
/sbin/depmod `sed -n 's/#define UTS_RELEASE "\([^"]*\)"/\1/p' /lib/modules/5.4.0-150-generic/build/include/generated/utsrelease.h`
make[1]: ディレクトリ '/home/switch/openvswitch-2.17.8/datapath/linux' から出ます
となり、System.mapが見つからないという旨のエラーが発生しました。しかしこのファイルの存在を確認したところ、
$ uname -r
5.4.0-150-generic
$ ls /boot | grep System.map
System.map-5.0.0-23-generic
System.map-5.4.0-150-generic
で、ファイル自体はあることが確認できました。なぜこのエラーが発生しているのか、またこれを解決する方法を教えてください。
OSのビルド後、Open vSwitchの実行環境を作成するためのコマンド
Open vSwitchの環境構築には次のコマンドを使っています。
sudo apt update;sudo apt -y upgrade;
sudo apt-get install -y build-essential pkg-config libssl-dev python3 python3-dev python3-six python3-twisted python3-zope.interface autoconf automake libtool graphviz debhelper dh-autoreconf python3-all python3-sphinx libunbound-dev libunwind-dev
設定の反映を確認するため、datapathディレクトリ内のdatapathl.c内の、__init dp_init関数の先頭に
printk(KERN_INFO "!!!!!!!!!");
をいれて起動時に任意のカーネルメッセージを出力させようとしています。
0