Linux kernel release 5.x (3/4)

https://www.kernel.org/doc/html/latest/admin-guide/README.html

Docs » The Linux kernel user’s and administrator’s guide »
Linux kernel release 5.x ＜ http://kernel.org/ ＞


# Compiling the kernel

> Make sure you have at least gcc 4.6 available. For more information, refer to Documentation/process/changes.rst.
Please note that you can still run a.out user programs with this kernel.

少なくともgcc4.6が利用できることを確認して下さい。詳細については、Documentation/process/changes.rst.を参照してください。このカーネルで、ユーザープログラム./a.outが実行できることに注意してください。

> Do a make to create a compressed kernel image. It is also possible to do make install if you have lilo installed to suit the kernel makefiles, but you may want to check your particular lilo setup first.
>
> To do the actual install, you have to be root, but none of the normal build should require that. Don’t take the name of root in vain.

makeを実行し、圧縮カーネルイメージを作ってください。kernel makefileが手起動しているならば、make installによってlilo へインストールすることもできますが、最初に特定のlilo setupを確認することをお勧めします。

実際にインストールするときには、rootでなければなりません。これはbuildするときには必要ありません。rootのnameを無駄にしないでください（訳注：一派ユーザーでbuildして、インストールだけrootでやってください）。

> If you configured any of the parts of the kernel as modules, you will also have to do make modules_install.

モジュールとしてカーネルの一部分を設定した場合には、modules_installをしてください。

>Verbose kernel compile/build output:
>
>Normally, the kernel build system runs in a fairly quiet mode (but not totally silent). However, sometimes you or other kernel developers need to see compile, link, or other commands exactly as they are executed. For this, use “verbose” build mode. This is done by passing V=1 to the make command, e.g.:
>
> ` make V=1 all`
>
> To have the build system also tell the reason for the rebuild of each target, use V=2. The default is V=0.

kernel compile/build出力の詳細化。

通常、kernel build systemは、非常に静かなモードで動作します（ただし、完全に無音ではありません）。しかし、時としてあなたやkernel developerはcompile, link あるいは必要となるそのほかのコマンドについて確認をしたい場合もあります。そのために、"verbose" build modeを使ってください。これは、make commandに"V=1"を引き渡してください：例えば、

` make V=1 all`

ビルドシステムに各ターゲットの再ビルドの理由も通知させるには、V=2を使用します。 デフォルトはV=0です。

> Keep a backup kernel handy in case something goes wrong. This is especially true for the development releases, since each new release contains new code which has not been debugged. Make sure you keep a backup of the modules corresponding to that kernel, as well. If you are installing a new kernel with the same version number as your working kernel, make a backup of your modules directory before you do a make modules_install.
>
>Alternatively, before compiling, use the kernel config option “LOCALVERSION” to append a unique suffix to the regular kernel version. LOCALVERSION can be set in the “General Setup” menu.

不具合があった場合、backup kernelを保持してください。これは特に、開発用リリースなどで、新しいコードがデバッグできていないものを含む場合に有効です。そのカーネルに対応するモジュールもバックアップを保存してください。新しいカーネルが作業中のカーネルと同じバージョンをインストールしようとしている場合には、make modules_installを実行するまでにmodule directoryのバックアップを作成してください。

> In order to boot your new kernel, you’ll need to copy the kernel image (e.g. …/linux/arch/x86/boot/bzImage after compilation) to the place where your regular bootable kernel is found.

新しいカーネルを起動させるために、kernel image(例：コンパイル後に生成されるlinux/arch/x86/boot/bzImage ) を通常bootable kernelを発見できる位置にコピーしてください。

> Booting a kernel directly from a floppy without the assistance of a bootloader such as LILO, is no longer supported.

LILOなどのブートローダーの支援なしでフロッピーから直接カーネルをブートすることはサポートされなくなりました。

> If you boot Linux from the hard drive, chances are you use LILO, which uses the kernel image as specified in the file /etc/lilo.conf. The kernel image file is usually /vmlinuz, /boot/vmlinuz, /bzImage or /boot/bzImage. To use the new kernel, save a copy of the old image and copy the new image over the old one. Then, you MUST RERUN LILO to update the loading map! If you don’t, you won’t be able to boot the new kernel image.

hard driverからLinux を起動させたい場合には、LILOを使うことができます。これは、kernel imageが/etc/lilo.confに記述されます。kernel image fileは通常/vmlinuz, /boot/vmlinuz, /baimage あるいは /boot/bzImageです。新しいkernelを使うには、old imageをコピーしておいて、古いものを新しいimageで上書きしてください。そして、LILOを再実行し！！ mapを更新してください。もしそれをしない場合には、新しいkernel imageで起動させることができません。

> Reinstalling LILO is usually a matter of running /sbin/lilo. You may wish to edit /etc/lilo.conf to specify an entry for your old kernel image (say, /vmlinux.old) in case the new one does not work. See the LILO docs for more information.

LILOの再インストールは通常、/sbin/liloを実行させることです。/etc/lilo.confを編集する事で、新しいkernel imageが起動しないケースに備えて、古いkernel imageのentryを指定する事もできます(/vmlinux.old)。詳細については、LILO docsを参照して下さい。

>After reinstalling LILO, you should be all set. Shutdown the system, reboot, and enjoy!

LILOを再インストールしたら、準備は完了です。システムをシャットダウンし、再起動させて、楽しんでください！

>If you ever need to change the default root device, video mode, ramdisk size, etc. in the kernel image, use the rdev program (or alternatively the LILO boot options when appropriate). No need to recompile the kernel to change these parameters.

kernel imageのデフォルトのルートデバイス、ビデオモード、RAMディスクサイズなどを変更する必要がある場合は、rdev program（または必要に応じてLILO boot oprion）を使用してください。 これらのパラメータを変更するためにカーネルを再コンパイルする必要はありません。

> Reboot with the new kernel and enjoy.

新しいカーネルで再起動させて、楽しんでください！

---
もともと、Linux Kernelのソースコードの一部なので、GPLv2扱いになる（はずの認識）。

> https://www.kernel.org/doc/html/latest/index.html
> 
> Licensing documentation
> 
> The following describes the license of the Linux kernel source code (GPLv2), how to properly mark the license of individual files in the source tree, as well as links to the full license text.
> 
> https://www.kernel.org/doc/html/latest/process/license-rules.html#kernel-licensing