LinuxカーネルのコンパイルとCentOSシステムのインストール

1、 パッケージをコンパイルしてインストールします##

コマンド:./ configure、make、make install
(1)./ configure:コンパイル環境の依存関係を確認し、コンパイルパラメータを設定します。
(2)make:コンパイルプロセス中、makeはコンパイルツールではなく、コンパイル操作を実行するために必要なコンパイルツールを呼び出すプロジェクトビルドツールです。
(3)make install:コンパイル中にコンパイルされたファイル(ファイルには、バイナリファイル、ライブラリファイル、ヘルプファイル、構成ファイルが含まれます)を指定されたディレクトリにコピーします。
前提条件:開発環境(開発ツール、開発ライブラリ)を準備し、インストールされたヘッダーファイルを/ usr / includeに配置します。
オープンソースソフトウェアは、ソフトウェアのソースコードを提供します。実行可能なバイナリ形式にコンパイルする必要があります。各オープンソースソフトウェアのリリースバージョンは、「ユニバーサル」を目的として作成されています。ニーズに合わせて、ソースコードを手動でコンパイルする必要があります。のバージョン。

2、 Linuxカーネルコンパイルの準備##

(1)前提条件
1 )開発環境を準備します。
2 1)ターゲットホスト上のハードウェアデバイスの関連情報を取得します。
3 )有効にするファイルシステムなど、ターゲットホストシステム機能に関する関連情報を取得します。
4 )カーネルソースコードパッケージを取得します:[www.kernel.org](http://www.kernel.org/)。
(2)開発環境を整える
1 )CentOS6.7で使用されるパッケージグループは次のとおりです。
Development Tools
Server Platform Development
Desktop Platform Development
2 )CentOS7で使用されるパッケージグループは次のとおりです。
Development Tools
Server Platform Development
Desktop Platform Development
必要な追加パッケージ:ncurses-devel
(3)ターゲットホスト上のハードウェアデバイスの関連情報を取得します。
1 )CPU:
~]# cat /proc/info``~]# lscpu``~]# x86info -a
2 )PCIデバイス:
~]# lspci:PCI情報を表示します。オプション:-v、-vv;
~]# lsusb:USB情報を表示、オプション:-v、-vv;
~]# lsblk:ブロックデバイスまたはCD-ROM情報を表示します ''
3 )すべてのハードウェアデバイス情報を理解するには:hal(ハードウェア抽象層、ハードウェア抽象層)
~]# hal-device

3、 カーネルコンパイルプロセス##

~]# tar  xf  linux-3.10.67.tar.xz  -C  /usr/src
~]# cd  /usr/src
~]# ln  -s  linux-3.10.67  linux
~]# cd  linux				
~]# menuconfigにカーネルオプションを設定させる
~]# make  [-j #]カーネルをコンパイルすると、使用できます-jはコンパイルスレッドの数を指定します
~]# make modules_インストールインストールカーネルモジュール
~]# make installはカーネルをインストールし、grub構成オプションを自動的に生成します
システムを再起動し、新しいカーネルの使用を選択します。

(1)画面コマンド:
画面を開く: 〜]#screen
画面の削除: Ctrl + a、d
リスト画面: 〜] #screen -ls
画面に接続します: 〜] #screen -r SCREEN_ID
画面を閉じる: 〜]#exit
(2)プロセスの詳細な説明:
1 )カーネルオプションを構成する
構成の「更新」モードをサポートします。既存の.configファイルに基づいて構成を「変更」します。
( a)make config:コマンドラインに基づいてトラバーサル方式でカーネルで構成できる各オプションを構成します。
( b)make menuconfig:curesesに基づくテキスト構成ウィンドウ。
©makegconfig:GTK開発環境のウィンドウインターフェイスに基づいて、パッケージグループ「デスクトッププラットフォーム開発」は、GTKライブラリがある限り、GNomeデスクトップに依存しません。
( d)make xonfig:QT開発環境、KDEデスクトップ開発ライブラリに基づくウィンドウインターフェイス。
構成の「新しい構成」モードをサポートします。
( a)make defconfig:ターゲットプラットフォーム用にカーネルによって提供される「デフォルト」構成に基づいてテンプレートとして構成します。.configは読み取られません。
( b)make allnoconfig:すべてのオプションは「no」です。
2 )コンパイル
( a)マルチスレッドコンパイル: make [-j#]
( b)カーネル内のコードの一部をコンパイルします。
( i)特定のサブディレクトリで関連するコードのみをコンパイルします。
# cd /usr/src/linux``# make path/to/dir/
( ii)特定のモジュールのみをコンパイルする
# cd /usr/src/linux``# make path/to/dir/file.ko
©クロスコンパイル:ターゲットプラットフォームは、現在のコンパイル操作が配置されているプラットフォームとは異なります。
# make ARCH=arch_name
特定のターゲットプラットフォームのヘルプを取得するには:
# make ARCH=arch_name help
3 )コンパイルされたカーネルソースツリーで再コンパイルします。
事前にクリーンアップします。
# make clean:コンパイルによって生成されたほとんどのファイルをクリーンアップしますが、外部モジュールのコンパイルに必要な構成とファイルは保持します。
# make mrproper:構成によって生成された構成ファイルといくつかのバックアップファイルを含む、コンパイルによって生成されたすべてのファイルをクリーンアップします。
# make distclean:mrproperと同等で、さまざまなパッチとエディターのバックアップファイルを追加でクリーンアップします。

4、 CentOSシステムのインストール##

(1)システムのインストール手順
インストールプログラムはanacondaです。ブートローダーが起動すると、カーネルが読み込まれ、ルートファイルシステムが読み込まれ、anacondaインストールプログラムが起動します。 Anacondaには、tui、curesesベースのテキスト構成ウィンドウ、gui、グラフィカルインストールインターフェイスの2つのインストールインターフェイスがあります。
(2)CentOSインストールプロセスの起動プロセス
boot.catファイルはMBRステージで使用され、isolinux / isolinux.binファイルはStage2ステージで使用され、構成ファイルはisolinux /isolinux.cfgです。
対応する各メニューオプション:
カーネルをロードします:isolinux / vmlinuz;
パラメータをカーネルに渡します。appendinitrd= initrd.img;
ルートファイルシステムをマウントし、anacondaを起動します。
anacondaのデフォルトのインターフェースはグラフィカルインターフェースです:512MB +メモリスペース。
TUIインターフェイスを開始するように明示的に指定する必要がある場合は、メニューインターフェイスのESCキーを押して、パラメータ「text」をブートカーネルに渡します: boot:linuxtext
注:上記のコンテンツは通常、CD、Uディスク、ネットワークなどを介してブートデバイスに配置されます。インストールに使用される後続のanacondaおよびプログラムパッケージは、パッケージウェアハウスから取得できます。このウェアハウスの場所は、ローカルCD、ローカルハードディスク、ftpサーバー、httpサーバー、nfsサーバー。インストールウェアハウスを手動で指定する場合は、ESCキーを押して、「boot:linuxmethod」と入力します。
(3)アナコンダの作業プロセス
1 )インストール前の構成フェーズ
( a)インストール中に使用される言語。
( b)キーボードタイプ。
©ターゲットストレージデバイスのインストール:基本ストレージ(ローカルディスク)、特殊ストレージ(iSCSI);
( d)ホスト名を設定します。
( e)ネットワークインターフェイスを構成します。
( f)タイムゾーンを構成します。
( g)管理者パスワードを構成します。
( h)MBRのパーティション方法とインストール場所を設定します。
( i)通常のユーザーを作成します。
( j)インストールするパッケージを選択します。
2 )インストールフェーズ
( a)ターゲットディスクにパーティションを作成し、フォーマットを実行します。
( b)選択したプログラムパッケージをターゲットの場所にインストールします。
©ブートローダーをインストールします。
3 )最初のスタート
( a)iptablesを無効にします。
( b)selinuxを無効にします。
© core dump;
(4)アナコンダの設定方法
1 )インタラクティブ構成モード。
2 )特定の構文形式に従って、構成ファイル内の事前定義された構成項目を読み取ることにより、自動構成をサポートします。このファイルはキックスタートファイルです。
(5)ブートオプションをインストールします
boot:text:テキストのインストール方法
boot method:使用するインストール方法を手動で指定します
ネットワーク関連のブートオプション:
ip=IPADDR``netmask=MASK``gateway=GW``dns=DNS_SERVER_IP
リモートアクセス機能に関連するブートオプション:
vnc``vncpassword='PASSWORD'
緊急レスキューモードを開始します: rescue
追加のドライバーをロードします: dd
関連するインストールプロセスについては、「インストールガイド」の公式Webサイト[www.redhat.com/docs](http://www.redhat.com/docs)を参照してください。
ks:キックスタートファイルの場所を指定します。

ks=
DVD drive: ks=cdrom:/PATH/TO/KICKSTART_FILE
Hard Drive: ks=hd:/DEVICE/PATH/TO/KICKSTART_FILE
HTTP Server: ks=http://HOST[:PORT]/PATH/TO/KICKSTART_FILE
FTP Server:  ks=ftp://HOST[:PORT]/PATH/TO/KICKSTART_FILE
HTTPS Server:   ks=https://HOST[:PORT]/PATH/TO/KICKSTART_FILE

(6)キックスタートファイルのフォーマット
1 )コマンドセクション:必須コマンドとオプションコマンドに分けて、キーボードタイプなどのさまざまなインストール前の構成オプションを指定します。
2 )プログラムパッケージセクション:インストールするプログラムパッケージとパッケージグループを指定し、インストールしないプログラムパッケージも含めます。

%packages
@ group_name
package-package%end

3 )スクリプトセクション:
%pre:プレインストールスクリプト。実行環境は、実行中のインストールメディア上のマイクロLinuxシステム環境です。
%post:インストール後のスクリプト。実行環境はインストールされたシステムです。
4 )コマンドセクションの必須コマンド:
authconfig:認証モードの構成
authconfig --enableshadow --passalgo=sha512
ブートローダー:ブートローダーのインストール場所と関連する構成を定義します
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
キーボード:キーボードタイプを設定します
keyboard us
lang:言語タイプ
lang zh_CN.UTF-8
パート:パーティションレイアウト。
part /boot --fstype=ext4 --size=500``part pv.008002 --size=51200
rootpw:管理者パスワード
rootpw --iscrypted $6$4Yh15kMGDWOPtbbW$SGax4DsZwDAz4201.O97WvaqVJfHcISsSQEokZH054juNnoBmO/rmmA7H8ZsD08.fM.Z3Br/67Uffod1ZbE0s.
タイムゾーン:タイムゾーン
timezone Asia/Shanghai
5 )パーティションに関連するその他のコマンド
clearpart:パーティションをクリアします
clearpart --none --drives = sda:ディスクパーティションをクリアします。
volgroup:ボリュームグループを作成します
volgroup myvg --pesize=4096 pv.008002
logvol:論理ボリュームを作成します
logvol /home --fstype=ext4 --name=lv_home --vgname=myvg --size=5120
暗号化されたパスワードを生成する方法:
~]# openssl passwd -1 -salt openssl rand -hex 4
6 )オプションのコマンド
インストールまたはアップグレード:インストールまたはアップグレード。
テキスト:インストールインターフェイスタイプ、テキストはtui、デフォルトはGUIです。
ネットワーク:ネットワークインターフェイスを構成します。
network --onboot yes --device eth0 --bootproto dhcp --noipv6
ファイアウォール:ファイアウォール: firewall --disabled;
SELinux:selinux --disabled
停止、電源オフ、または再起動:インストールが完了した後の動作。
repo:インストール中に使用されるリポジトリを指定します。
repo --name="CentOS" --baseurl=cdrom:sr0 --cost=100
url:インストール中に使用されるリポジトリを示しますが、url形式です。
url --url=http://172.16.0.1/cobbler/ks_mirror/CentOS-6.7-x86_64/
7 )システムのインストール後にファイアウォールを無効にする
CentOS 6:
# service iptables stop``# chkconfig iptables off
CentOS 7:
# systemctl stop firewalld.service``# systemctl disable firewalld.service
8 )システムのインストール後にSELinuxを無効にする
/ etc / sysconfig / selinuxまたは/ etc / selinux / configファイルを編集し、SELINUXパラメーターの値を次のいずれかに変更します。permissiveまたはdisabled。
selinuxはすぐに有効になります。
# getenforce``# setenforce 0
9 )カスタムキックスタートファイル
# yum install system-config-kickstart``# system-config-kickstart
構文エラーを確認します。
# ksvalidator
10 )CDイメージを作成する
~]# mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 6 x86_64 boot" -c isolinux/boot.cat -b isolinux/isolinux.bin -o /root/boot.iso myboot/

Recommended Posts

LinuxカーネルのコンパイルとCentOSシステムのインストール
CentOS7.Xシステムのインストールと最適化
Centos7.6オペレーティングシステムのインストールと最適化の記録
CentOS7.5-1804システムカーネルのアップグレード
Centosカーネルコンパイル構成
Linuxノート(1):CentOS-7のインストール
Linux CentOS7インストールチュートリアル
CentOS7システムでのJDKのインストールと構成
CentOS(RHEL)カーネルバージョンとシステムバージョン間の対応
CentOS 6.5システムのインストールと構成のグラフィックチュートリアル(詳細なグラフィック)
Centosmysqlのインストールと構成
Linuxを理解し、CentOSをインストールする
Centos7のインストールと構成のプロメテウス
UbuntuとRHELのデュアルLinuxオペレーティングシステムのインストールチュートリアル
CentOS7のインストールと構成PPTP
CentOSのインストールと構成cmake
LinuxシステムにおけるCentOSとUbuntuの違い
Centos7.5のインストールと構成MongoDB4.0.4
CentOS7のインストールと構成PPTP
centos7kvmのインストールと使用
CentOS7postgresqlのインストールと使用
LinuxシステムへのJDK8のインストールに関する詳細なチュートリアル(CentOS7のインストール)
CentOS8 Linux 8.0.1905のインストールプロセス(図)
Linuxcentosシステムの起動プロセス
Centos7elk7.1.1のインストールと使用
Centos7に関する注意事項|オペレーティングシステムの起動プロセス、Linuxユーザーおよび権限
Centos7のインストールとJenkinsの構成
Centos6.5のインストールとKVMの展開
Centos7hadoopクラスターのインストールと構成
CentOS7のインストールとGitlabのメンテナンス
Linux:Centos7は元のカーネルをアップグレードします
CentOSでのJava-JDKのインストールと構成
CentOS 7Tomcatサービスのインストールと構成
001.エンタープライズレベルのCentOS7.6オペレーティングシステムのインストール
CentOSNTPサーバーのインストールと構成
CentOs7のインストールと展開Zabbix3.4オリジナル
LinuxCentOS6はPytをコンパイルしてインストールします
CentOS7でのErlang20.2のインストールと展開
Centos7mysqlデータベースのインストールと構成
2019-07-09CentOS7のインストール
centos7_1708のインストール
CentOSでのMysqlのインストールと使用
CentOS 7でのTomcatのインストールと構成(Tomcatの起動)
CentOS6 / 7でのMySQL8.0のインストール、展開、および構成
Ubuntu18.04システムのインストールと前提条件のソフトウェアインストールガイド
Centos-6.5LNMP環境のインストールと展開
centos7でのredisのインストールと構成
Centos7のインストールとgitlabサーバーの展開
LinuxCentOS7システムにmysql8.0.13バージョンをインストールします
Centospython3コンパイルインストールとコンパイルgccアップグレード
CentOSでのZabbixのインストールと展開およびローカリゼーション
Centos7ハイブスタンドアロンモードのインストールと構成
CentOS7インストールzabbix4.0チュートリアル(グラフィックスとテキスト)
CentOS7でのJenkinsのインストールと展開のチュートリアル
Ubuntu 14.04 16.04 Linuxnvidiaドライバーのダウンロードとインストール
CentOS7.2でのKVMのインストールと予備使用
LinuxはDockerをインストールし、Ubuntuシステムを実行します
Linuxを学ぶ初心者(8)---- MySqlのインストール(Centos7)
Centos7のインストールとAirflowの展開の詳細
Python-centos6のインストール
セントスシステム管理