「Linuxコマンド - dracut」の版間の差分

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動
(文字列「__FORCETOC__」を「{{#seo: |title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki |keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板 |description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This pag…)
 
(同じ利用者による、間の3版が非表示)
21行目: 21行目:


== 使用方法 ==
== 使用方法 ==
  dracut [オプション] [イメージファイル] [カーネルバージョン]
  dracut <オプション> <initramfsの出力ディレクトリ> <カーネルバージョン>
<br>
<br>
* 現在実行中のカーネル向けのinitramfsを作成する場合
* 現在実行中のカーネル向けのinitramfsを作成する場合
68行目: 68行目:


== dracutのインストール ==
== dracutのインストール ==
dracutをインストールする。<br>
==== パッケージ管理システムからインストール ====
# RHEL
sudo dnf install dracut
# SUSE
  sudo zypper install dracut dracut-mkinitrd-deprecated plymouth-dracut
  sudo zypper install dracut dracut-mkinitrd-deprecated plymouth-dracut
<br>
<br>
ソースコードからdracutをインストールする場合は、以下の手順に従う。<br>
==== ソースコードからインストール ====
# まず、[https://mirrors.edge.kernel.org/pub/linux/utils/boot/dracut/ Linuxカーネルの公式Webサイト]、または、[https://github.com/dracutdevs/dracut dracutのGithub]にアクセスする。<br>
まず、[https://mirrors.edge.kernel.org/pub/linux/utils/boot/dracut/ Linuxカーネルの公式Webサイト]、または、[https://github.com/dracutdevs/dracut dracutのGithub]にアクセスする。<br>
# dracutのソースコードをダウンロードして解凍する。
dracutのソースコードをダウンロードして解凍する。<br>
#: <code>tar xf dracut-<バージョン>.tar.xz</code>
tar xf dracut-<バージョン>.tar.xz
#: <code>cd dracut-<バージョン></code>
cd dracut-<バージョン>
# dracutのビルドに必要なライブラリをインストールする。
<br>
#: <code>sudo zypper install gcc make cargo libkmod-devel asciidoc</code>
dracutのビルドに必要なライブラリをインストールする。<br>
# dracutをビルドおよびインストールする。
# SUSE
#: <code>../configure --prefix=<dracutのインストールディレクトリ> --enable-dracut-cpio</code>
sudo zypper install gcc make cargo libkmod-devel asciidoc
#: <code>make -j $(nproc)</code>
<br>
#: <code>make install</code>
dracutをビルドおよびインストールする。<br>
mkdir build && cd build
../configure --prefix=<dracutのインストールディレクトリ> --enable-dracut-cpio
make -j $(nproc)
make install
<br><br>
<br><br>


== dracutの実行 ==
 
sudo dracut -f /boot/initrd $(uname -r)
{{#seo:
<br><br>
|title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki
|keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板
|description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux
|image=/resources/assets/MochiuLogo_Single_Blue.png
}}


__FORCETOC__
__FORCETOC__
[[カテゴリ:RHEL]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]][[カテゴリ:PinePhone]]
[[カテゴリ:RHEL]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]][[カテゴリ:PinePhone]]

2024年10月14日 (月) 15:20時点における最新版

概要

dracutコマンドは、Linuxシステムで初期RAMファイルシステム (initramfs) を生成するために必要なブロックデバイスモジュールである。

initramfsは、システムブート時に使用される一時的なルートファイルシステムにおいて、
実際のルートファイルシステムをマウントする前に必要なドライバやツール (IDE、SCSI、RAID等) をプリロードする。

dracutコマンドの特徴および用途を以下に示す。

  • カスタマイズ可能
    必要なモジュールやドライバのみを含むinitramfsを作成することができる。
  • 柔軟性
    多くのLinuxディストリビューションで使用可能である。
  • 高速
    効率的なinitramfs生成プロセスを提供する。
  • 障害復旧
    レスキューモードのinitramfsを作成することにより、システム復旧に役立つ。
  • ホストOSに依存しない
    クロスプラットフォームでの使用が可能である。


dracutコマンドは、主にシステム管理者やディストリビューション開発者によって使用されており、カスタムLinuxシステムの構築やトラブルシューティングに役立つ。


使用方法

dracut <オプション> <initramfsの出力ディレクトリ> <カーネルバージョン>


  • 現在実行中のカーネル向けのinitramfsを作成する場合
sudo dracut -f


  • 出力するディレクトリを変更する場合
    以下の例では、/boot/initrdディレクトリに現在実行中のカーネル向けのinitramfsを作成している。
sudo dracut -f /boot/initrd $(uname -r)



依存関係のライブラリ

依存関係のライブラリのインストール

dracutコマンドを実行するために必要な依存関係のライブラリをインストールする。

# SLE 15 SP5, SP4 / openSUSE Leap 15.5, 15.4
sudo zypper install biosdevname systemd-coredump rng-tools dbus-broker systemd-network systemd-experimental \
                    ibmswtpm2 tpm2-tss-engine squashfs nvme-cli libnvme1 open-iscsi tpm2-0-tss tpm2.0-tools

# SLE 15 SP3
sudo zypper intall biosdevname libnvme1 open-iscsi lvm2


次に、MemstrackのGithubにアクセスして、Memstrackのインストーラをダウンロードする。
ダウンロードしたファイルを実行して、Memstrackをインストールする。

sudo ./memstrack-linux-amd64


または、git cloneコマンドを実行して、ソースコードをダウンロードする。

git clone https://github.com/ryncsn/memstrack.git
cd memstrack


Memstrackをビルドおよびインストールする。
Memstrackは、/binディレクトリにインストールする必要がある。

make -j $(nproc)
sudo make DESTDIR=/ install

# /binディレクトリにもコピーする
sudo cp /usr/bin/memstrack /bin


Memstrackとは

実行時メモリ割り当てトレーサは、メモリ割り当てのホットスポットアナライザのようなものであり、
全体的なメモリ使用量、ピーク時のメモリ使用量、カーネルモジュールのメモリ使用量を、スタックトレースと組み合わせて分析するのに役立つ。
ユーザ空間のメモリトレースは、まだ実装されていない。

Memstrackは、カーネルの全てのページレベルのメモリ割り当てイベントをトレースして (現在、perfまたはftraceをサポートしている) 、
イベントをスタックトレースツリーに積極的に統合することで動作する。

また、カーネルのページオーナーログファイルと連携し、メモリ使用量ビューアとして使用することもできる。


dracutのインストール

パッケージ管理システムからインストール

# RHEL
sudo dnf install dracut

# SUSE
sudo zypper install dracut dracut-mkinitrd-deprecated plymouth-dracut


ソースコードからインストール

まず、Linuxカーネルの公式Webサイト、または、dracutのGithubにアクセスする。
dracutのソースコードをダウンロードして解凍する。

tar xf dracut-<バージョン>.tar.xz
cd dracut-<バージョン>


dracutのビルドに必要なライブラリをインストールする。

# SUSE
sudo zypper install gcc make cargo libkmod-devel asciidoc


dracutをビルドおよびインストールする。

mkdir build && cd build

../configure --prefix=<dracutのインストールディレクトリ> --enable-dracut-cpio
make -j $(nproc)
make install