Re: 問題ID: 14322
arashi1977
居住地: 広島
投稿数: 1715
カーネルのビルド時って、基本的にはvmlinux(コンパイルしただけのカーネル)やbzImage(コンパイルしたものを圧縮したカーネルイメージ)が作成されるんですよね。
例えば私の環境で以下のように3.10.13のソースからビルドしてみたところ、以下のようにカーネルイメージが作成されています。
また、上記のmake helpの結果から「make installするとディストリビューションが提供している/sbin/installkernelを使ってカーネルをインストールする」とありますので、CentOS7とUbuntu14.04LTSで/sbin/installkernelが存在するのか確認したらちゃんとあって、以下の通りbzImageをバージョン番号付きの名前にリネームして配置するようになってます。(cpをリネームというのかと言われると辛いですが、bzImageと違う名前に変えて配置しているので、間違いではないと個人的には思います)
なので、一般的には選択肢の通りの
引用:は、間違っていないと思います。
ちなみに「一般的には」といったのは、「/sbin/installkernelを用意していない環境ではそうだと言い切れない」というのがあるからです。この場合は古いliloを使った環境での処理が行われるのですが、今時lilo使うのか?というのもありまして。
※こないだliloの開発ヤメるぜってアナウンスもありましたしね。
そういったことも踏まえて、この選択肢は別におかしくないんじゃないかなーと思ったりします。
$ make help
(略)
Other generic targets:
all - Build all targets marked with [*]
* vmlinux - Build the bare kernel
* modules - Build all modules
(略)
Architecture specific targets (x86):
* bzImage - Compressed kernel image (arch/x86/boot/bzImage)
install - Install kernel using
(your) ~/bin/installkernel or
(distribution) /sbin/installkernel or
install to $(INSTALL_PATH) and run lilo
(略)
Execute "make" or "make all" to build all targets marked with [*]
For further info see the ./README file
$ make allnoconfig
(略)
$ make
scripts/kconfig/conf --silentoldconfig Kconfig
make[1]: `all' に対して行うべき事はありません.
HOSTCC arch/x86/tools/relocs_32.o
HOSTCC arch/x86/tools/relocs_64.o
(略)
System is 842 kB
CRC d5d86605
Kernel: arch/x86/boot/bzImage is ready (#1)
$ find . -name vmlinux
./arch/x86/boot/compressed/vmlinux
./vmlinux
$ ls -l ./arch/x86/boot/compressed/vmlinux
-rwxrwxr-x. 1 arashi1977 arashi1977 868840 10月 10 10:17 ./arch/x86/boot/compressed/vmlinux
$ ls -l vmlinux
-rwxrwxr-x. 1 arashi1977 arashi1977 2086702 10月 10 10:17 vmlinux
$ ls -l arch/x86/boot/bzImage
-rw-rw-r--. 1 arashi1977 arashi1977 876592 10月 10 10:17 arch/x86/boot/bzImage
CentOS7:
$ ls /sbin/installkernel
/sbin/installkernel
$ cat /sbin/installkernel
(略)
cat $BOOTIMAGE > $INSTALL_PATH/$KERNEL_NAME-$KERNEL_VERSION
Ubuntu14.04:
$ ls /sbin/installkernel
/sbin/installkernel
$ cat /sbin/installkernel
(略)
updatever $img_dest "$img"
引用:
・バージョンがファイル名に付くようカーネルイメージ等をリネームする
ちなみに「一般的には」といったのは、「/sbin/installkernelを用意していない環境ではそうだと言い切れない」というのがあるからです。この場合は古いliloを使った環境での処理が行われるのですが、今時lilo使うのか?というのもありまして。
※こないだliloの開発ヤメるぜってアナウンスもありましたしね。
そういったことも踏まえて、この選択肢は別におかしくないんじゃないかなーと思ったりします。
投稿ツリー
-
問題ID: 14322
(saebat_, 2015-10-11 0:31)
-
Re: 問題ID: 14322
(arashi1977, 2015-10-11 15:48)
- Re: Re: 問題ID: 14322 (saebat_, 2015-10-18 11:36)
-
Re: 問題ID: 14322
(arashi1977, 2015-10-11 15:48)