32ビットubutu 13.10カーネルのコンパイルとインストール
初心者として、昨日の夜、突然カーネルをコンパイルしようとしたので、関連するチュートリアルを探しました.しかし、ネット上にはいろいろな説があり、それぞれの命令がある.実はubuntu wikiにはチュートリアルがあり、簡潔明瞭です.
リンクは次のとおりです.https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel
カーネルをコンパイル、インストールする過程で、いくつかの問題に遭遇し、以下のように記録することに注意してください.
1、上記のリンクのチュートリアルではmenuconfigを有効にして構成します.menuconfigはlibncurseのインストールを要求し、端末にsudo apt-get install libncurses 5-devと入力すればよい.
2、ubuntu wikiのチュートリアルでは、fakeroot debian/rules editconfigsコマンドがamd 64、i 386、armのconfigファイルを構成するかどうかを尋ね、自分の実際の状況に応じて構成します.例えば私は32位のubuntu 13です.10でamd 64とarmの入力n,i 386の入力yが入力される.もしあなたがyを入力したら、泣いてください.いくつかのインタフェースメニューを構成してください.1つの構成は大変ですが、自虐しなければならない場合は、yをすべて入力してください.
3、メニューにオプションを配置する場合は、金歩国さんが翻訳した資料を参照してください.リンク:http://lamp.linux.gov.cn/Linux/kernel_options.html.初心者はここで長い間配置されていたので、仕方がなく、強迫症がありました.注意すべきは、金歩国さんが翻訳した資料は2.6バージョンのカーネルで、13.10システムのカーネルは比較的新しいので、初心者のように3.11.0-13なので、いくつかの選択肢はもう存在しないか、位置が変動しています.オプションがある場所を検索したい場合は、/キーを押してポップアップテキストボックスにキーワードを出力します.間違いなくvimの検索機能と同じです.皆さんは初心者と同じように、自虐して、もっと探して、もっと助けのドキュメントを見てください.メニューのいずれかのコンフィギュレーション項目が不明な場合は、shift+/クエリーを押して、見終わっても確定していません.一般的にヘルプドキュメントには、If unsure,choose N.のようなものがあります.ドキュメントのアドバイスに従いましょう.
4、配置する前に、端末でlspciコマンドで自分のハードウェア構成を表示して、device driverの中でできるだけ余分なdriverを簡素化することができます.例えばEthernet card driver(この名前を覚えています)では、初心者の方が狂ったように削除し、基本的には2つのNICのドライバしか残っていません.Input device supportでは、どんなゲームハンドルやタッチスクリーンを削除することができます.使うなら別です.その他の構成については、次のリンクを参照してください.http://forum.ubuntu.org.cn/viewtopic.php?t=134404ただし、インストール方法は参考にしないで、ubuntu wikiの上を押してください.そのチュートリアルでは、私のシステムでは見つからないコマンドがいくつかあるので、apt-getのインストール時にもパッケージが見つからないことをヒントにします.
5、Enable the block layerという選択肢の中で、金歩国さんの翻訳資料にはこのような4行があります.
Support for Large Block Devices
2 TBより大きいブロックデバイスを使用する場合にのみ必要
Support for Large Single Files
2 TBより大きいファイルを使用する場合にのみ必要
もちろん、この2行は実は初心者の構成メニューの中で1行しかありません.Support for large(2 TB+)block devices and files typeです.
初心者は最初、どうせ2 TB以上のファイルは出ないし、2 TB以上のディスクもないし、ハードディスクを移動したりすることもないと思っていたので、キャンセルしました.
悲劇が来て、カーネルをコンパイルして、インストールした後、このカーネルに再起動して、結局rootファイルシステムはすべてマウントできません.黒いウィンドウでCONFIGがないことをヒントにしましたLBDAFオプション、マウントできません.実は上のオプションで、構成メニューで検索するとすぐにわかります.
仕方なくtty 1でrootにログインした後、rebootは再起動し、grubで古いカーネル(3.11.0-12)に入り、デスクトップに入った後、端末で3.11.0-13のカーネルを再コンパイルし、インストールし、再起動します.結果は正常になりました.
長い間泣いていない限り、わざと失敗したいと思って、よく泣いてはいけません.
6、チュートリアルのこのコマンドを実行するときfakeroot debian/rules binary-headers binary-generic、やっとコンパイルが終わったので、最後にolder modules checkingのプロセスがあります.結果はMissing modules(start begging for mercy)に提示された.よし、最後の最後は失敗した.そこでgoogleに行って、以下のリンクの中で:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/899957
最后の1阶の大神は返事をします:
リンクは次のとおりです.https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel
カーネルをコンパイル、インストールする過程で、いくつかの問題に遭遇し、以下のように記録することに注意してください.
1、上記のリンクのチュートリアルではmenuconfigを有効にして構成します.menuconfigはlibncurseのインストールを要求し、端末にsudo apt-get install libncurses 5-devと入力すればよい.
2、ubuntu wikiのチュートリアルでは、fakeroot debian/rules editconfigsコマンドがamd 64、i 386、armのconfigファイルを構成するかどうかを尋ね、自分の実際の状況に応じて構成します.例えば私は32位のubuntu 13です.10でamd 64とarmの入力n,i 386の入力yが入力される.もしあなたがyを入力したら、泣いてください.いくつかのインタフェースメニューを構成してください.1つの構成は大変ですが、自虐しなければならない場合は、yをすべて入力してください.
3、メニューにオプションを配置する場合は、金歩国さんが翻訳した資料を参照してください.リンク:http://lamp.linux.gov.cn/Linux/kernel_options.html.初心者はここで長い間配置されていたので、仕方がなく、強迫症がありました.注意すべきは、金歩国さんが翻訳した資料は2.6バージョンのカーネルで、13.10システムのカーネルは比較的新しいので、初心者のように3.11.0-13なので、いくつかの選択肢はもう存在しないか、位置が変動しています.オプションがある場所を検索したい場合は、/キーを押してポップアップテキストボックスにキーワードを出力します.間違いなくvimの検索機能と同じです.皆さんは初心者と同じように、自虐して、もっと探して、もっと助けのドキュメントを見てください.メニューのいずれかのコンフィギュレーション項目が不明な場合は、shift+/クエリーを押して、見終わっても確定していません.一般的にヘルプドキュメントには、If unsure,choose N.のようなものがあります.ドキュメントのアドバイスに従いましょう.
4、配置する前に、端末でlspciコマンドで自分のハードウェア構成を表示して、device driverの中でできるだけ余分なdriverを簡素化することができます.例えばEthernet card driver(この名前を覚えています)では、初心者の方が狂ったように削除し、基本的には2つのNICのドライバしか残っていません.Input device supportでは、どんなゲームハンドルやタッチスクリーンを削除することができます.使うなら別です.その他の構成については、次のリンクを参照してください.http://forum.ubuntu.org.cn/viewtopic.php?t=134404ただし、インストール方法は参考にしないで、ubuntu wikiの上を押してください.そのチュートリアルでは、私のシステムでは見つからないコマンドがいくつかあるので、apt-getのインストール時にもパッケージが見つからないことをヒントにします.
5、Enable the block layerという選択肢の中で、金歩国さんの翻訳資料にはこのような4行があります.
Support for Large Block Devices
2 TBより大きいブロックデバイスを使用する場合にのみ必要
Support for Large Single Files
2 TBより大きいファイルを使用する場合にのみ必要
もちろん、この2行は実は初心者の構成メニューの中で1行しかありません.Support for large(2 TB+)block devices and files typeです.
初心者は最初、どうせ2 TB以上のファイルは出ないし、2 TB以上のディスクもないし、ハードディスクを移動したりすることもないと思っていたので、キャンセルしました.
悲劇が来て、カーネルをコンパイルして、インストールした後、このカーネルに再起動して、結局rootファイルシステムはすべてマウントできません.黒いウィンドウでCONFIGがないことをヒントにしましたLBDAFオプション、マウントできません.実は上のオプションで、構成メニューで検索するとすぐにわかります.
仕方なくtty 1でrootにログインした後、rebootは再起動し、grubで古いカーネル(3.11.0-12)に入り、デスクトップに入った後、端末で3.11.0-13のカーネルを再コンパイルし、インストールし、再起動します.結果は正常になりました.
長い間泣いていない限り、わざと失敗したいと思って、よく泣いてはいけません.
6、チュートリアルのこのコマンドを実行するときfakeroot debian/rules binary-headers binary-generic、やっとコンパイルが終わったので、最後にolder modules checkingのプロセスがあります.結果はMissing modules(start begging for mercy)に提示された.よし、最後の最後は失敗した.そこでgoogleに行って、以下のリンクの中で:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/899957
最后の1阶の大神は返事をします:
Hi Tony,
Because of the fact that you've disabled BTRFS the module check is failing during the build. The module check during the build is often used as a mechanism in our tooling to prevent accidental disablement of modules. However, since you have purposely disabled the module you need to ignore the module check. This can be one of a few ways which are outlined in the following wiki:
https://wiki.ubuntu.com/KernelTeam/KernelMaintenance#Overriding_module_check_failures
As this is not an issue affecting the official Ubuntu kernel. I am marking this bug as Invalid for now. Thanks.
, module disable 。 , , skipmodule=true, , 。
, , ,enjoy!