ゼロからLinuxのisoイメージを作る方法(グラフィックチュートリアル)
I. 前書き
極めて単純化されたlinuxシステムには、linuxカーネル、ルートファイルシステム、ブートの3つの部分だけが必要です。ここでは、この記事のlinuxのisoイメージを作成するために使用したシステムとソフトウェアを紹介します。
OS: ubuntu 20
ソフトウェア:xorriso
II. linuxカーネルを作る
1. まず、公式サイトにアクセスし、ダウンロードするバージョンを選択する必要があります。公式のダウンロードアドレスは以下の通りです。 https://mirrors.edge.kernel.org/pub/linux/kernel
2. tar で解凍し、そのディレクトリに入り、カーネルの設定を行います。以下のような構成が一般的です。
a. make defconfig - デフォルト設定
b. make allyesconfig - できれば「はい」を選択する設定を作成する。
c. make allnoconfig - noを選択できる場合は、noの設定を作成します。
d. make menuconfig - ncurserベースのGUI設定
ここでは、下図のように、make defconfigというコマンドを使って、デフォルトのものを使用します。
3. 次に
make bzImage
コマンドでカーネルをコンパイルすると、下図のようになります。
コンパイルされたカーネルファイルは
arch
のように、対応するアーキテクチャフォルダの下にあるフォルダに移動します。
III. ルートファイルシステムの作成
1. busyboxは簡単に言うとLinuxのツールの集合体です。まず、busyboxは以下の公式サイトからダウンロードすることができます。 https://busybox.net/downloads
2は、ビジーボックスをコンパイルし、カーネルの手順をコンパイルする基本的に同じですが、解凍のためのパッケージをダウンロードし、フォルダに、デフォルトのコンパイルオプションを設定するdefconfigを作る使用、ここで生成に注意を払う必要があります。
.config
設定ファイルでは
CONFIG_STATIC=y
ない場合は、以下のように追加してください。
3. 次に
make busybox install
コマンドでbusyboxをコンパイルすると
_install
フォルダーを作成します。
4. 次に
rootfs
フォルダを作成し、そこに
_install
フォルダから
linuxxrc
コード}以外のすべてのファイルとフォルダ /codeにコピーされます。
rootfs
フォルダを作成し、最後に
dev
フォルダーを作成し、最後にルートディレクトリの下に
init
ファイルの中身は、次の図のとおりです。
5. 最後に、コマンド
find . | cpio -R root:root -H newc -o | gzip > . /rootfs.gz
ファイルシステムをパックすると、以下のようにファイルシステムが作成されます。
IV. BIOS
1. ここでは
syslinux
を作成し
bios
ブート可能なlinuxのisoイメージである
syslinux
公式ダウンロードアドレスは以下の通りです。
https://mirrors.edge.kernel.org/pub/linux/utils/boot/syslinux
2. ダウンロード
syslinux
解凍して、フォルダを作成します。
isobios
を解凍し
syslinux
フォルダの下にある
bios/core/isolinux.bin
bios/com32/elflink/ldlinux/ldlinux.c32
にコピーします。
isobios
フォルダに、次のように記述します。
<イグ
3. で
isobios
フォルダに設定ファイルを作成します。
isolinux.cfg
を、以下のファイル内容で作成します。
4. 最後に
isobios
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...] [...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...] [...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...] [...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...] [...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...] [...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...] [...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...] [...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
[...]
関連
-
Linux ddコマンド詳細説明:データのバックアップ、およびバックアッププロセスでのフォーマット変換のケース
-
Linux sarコマンドによるシステム性能の詳細解析事例
-
centos7 インストール クリックハウスとセット ユーザー名 パスワード ケース 詳細
-
Manjaro linuxでマウスの速度を設定する方法は?Manjaroのマウスのカーソル速度を設定する方法に関するヒント
-
Linux NICがRTNETLINK answersというエラーで起動できない場合、どうすればよいですか?ファイルが存在するか?
-
Linux 5.10.10 正式版リリース:NULLポインタの不具合修正など。
-
Kali Linuxのデスクトップの外観スタイルを変更するには? KALIの外観の最適化のヒント
-
deepin20のソフトをアンインストールする方法を教えてください。deepinのアプリケーションをアンインストールする2つの方法
-
TclError: 表示名がなく、$DISPLAY環境変数もない。
-
TclError: 表示名がなく、$DISPLAY環境変数もない。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Linuxにおけるxinetdサービスの管理方法に関するケーススタディ
-
Linuxのデスクトップの背景を画像で引き伸ばし表示にする方法とは?
-
rsyncとinotfiyの組み合わせでリアルタイムバックアップ問題を実現
-
中国版「浮世」を含むUbuntu 20.04.2リリース
-
Linux Mintで入力メソッドを削除する方法は?Linux Mintで冗長な入力メソッドを削除するためのヒント
-
Kali Linuxのデフォルトのひげメニューアイコンを変更する方法は?
-
linux(ubuntu 18.04)でのアイデア運用データベース障害問題について
-
deepin20のデスクトップアイコンのスタイルを変更する方法は?deepinのアイコンテーマを変更するためのヒント
-
GCCのバージョンによる浮動小数点演算の例外発生
-
sudo が sudo として表示される: setuid root である必要がある