📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

39行目: 39行目:


==== ソースコードからインストール ====
==== ソースコードからインストール ====
===== GNU TLS 3.6.14以降のインストール =====
===== GNU TLSのインストール =====
パッケージ管理システムのGNU TLSのバージョンが3.6.14未満の場合は、GNU TLSのソースコードをビルドしてインストールする。<br>
パッケージ管理システムのGNU TLSのバージョンが3.6.14未満の場合は、GNU TLSのソースコードをビルドしてインストールする。<br>
<u>また、GNU TLS 3.6.14(2022/4現在の最新)のビルドでは、Nettle 3.4.1が必要となることに注意する。</u><br>
<u>GNU TLS 3.6.14 (2022/4 現在の最新) のビルドでは、Nettle 3.4.1が必要となることに注意する。</u><br>
<br>
<br>
GNU TLSのビルドに必要なライブラリをインストールする。<br>
GNU TLSのビルドに必要なライブラリをインストールする。<br>
  sudo zypper install libtasn1-devel libunistring-devel unbound-devel p11-kit-devel gmp-devel libnettle-devel
  sudo zypper install libtasn1-devel libunistring-devel unbound-devel p11-kit-devel libidn2-devel trousers-devel \
                    gmp-devel libnettle-devel # GMP, Nettleをパッケージ管理システムからインストールする場合
<br>
<br>
GNU TLSのソースコードをダウンロードする。<br>
GNU TLSのソースコードをダウンロードする。<br>
55行目: 56行目:
*: https://gnutls.org/download.html
*: https://gnutls.org/download.html
<br>
<br>
ビルドディレクトリを作成して、GMP、Nettle、GNU TLSをビルドおよびインストールする。<br>
GMP、Nettle、GNU TLSをビルドおよびインストールする。<br>
  # GMP (パッケージ管理システムにあるGMPが古い場合)
  # GMPのインストール (パッケージ管理システムにあるGMPのバージョンが古い場合)
  ../configure --prefix=<Nettle、GMP、GNU TLSのインストールディレクトリ>
  ../configure --prefix=<GMP、Nettle、GNU TLSのインストールディレクトリ>
  make -j $(nproc)
  make -j $(nproc)
  make install
  make install
   
   
  # Nettle (パッケージ管理システムにあるNettleが古い場合)
  # Nettleのインストール (パッケージ管理システムにあるNettleのバージョンが古い場合)
  ../configure --prefix=<Nettle、GMP、GNU TLSのインストールディレクトリ> --enable-openssl --enable-x86-aesni --enable-x86-sha-ni --enable-x86-pclmul
  ../configure --prefix=<GMP、Nettle、GNU TLSのインストールディレクトリ> \
              --enable-openssl   \
              --enable-x86-aesni \
              --enable-x86-sha-ni \
              --enable-x86-pclmul
  make -j $(nproc)
  make -j $(nproc)
  make install
  make install
   
   
  # GNU TLS
  # GNU TLSのインストール
  ../configure --prefix=<Nettle、GMP、GNU TLSのインストールディレクトリ> --enable-shared
  ../configure --prefix=<GMP、Nettle、GNU TLSのインストールディレクトリ> \
              --enable-shared
  make -j $(nproc)
  make -j $(nproc)
  make install
  make install
74行目: 80行目:
  vi ~/.profile
  vi ~/.profile
<br>
<br>
<syntaxhighlight lang="sh">
  # ~/.profileファイル
  # ~/.profileファイル
   
   
  export PATH="<Nettle、GMP、GNU TLSのインストールディレクトリ>/bin:$PATH"
  export PATH="<GMP、Nettle、GNU TLSのインストールディレクトリ>/bin:$PATH"
  export LD_LIBRARY_PATH="<Nettle、GMP、GNU TLSのインストールディレクトリ>/lib64:$LD_LIBRARY_PATH"
  export LD_LIBRARY_PATH="<GMP、Nettle、GNU TLSのインストールディレクトリ>/lib64:$LD_LIBRARY_PATH"
  export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$(pkg-config --variable pc_path pkg-config)"
  export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$(pkg-config --variable pc_path pkg-config)"
  export PKG_CONFIG_PATH="<Nettle、GMP、GNU TLSのインストールディレクトリ>/lib64/pkgconfig:$PKG_CONFIG_PATH"
  export PKG_CONFIG_PATH="<GMP、Nettle、GNU TLSのインストールディレクトリ>/lib64/pkgconfig:$PKG_CONFIG_PATH"
</syntaxhighlight>
<br>
<br>
PCを再起動する。<br>
PCを再起動する。<br>
<br>
<br>
===== QEMUのインストール =====
===== QEMUのインストール =====
QEMUのビルドに必要なライブラリをインストールする。<br>
QEMUのビルドに必要なライブラリをインストールする。<br>
105行目: 112行目:
*: [https://www.qemu.org/download/ QEMUの公式Webサイト]にアクセスして、ソースコードをダウンロードする。
*: [https://www.qemu.org/download/ QEMUの公式Webサイト]にアクセスして、ソースコードをダウンロードする。
*: ダウンロードしたファイルを解凍する。
*: ダウンロードしたファイルを解凍する。
*: <code>tar xf qemu-<バージョン>.tar.xz</code>
*: <syntaxhighlight lang="text">
*: <code>cd qemu-<バージョン></code>
tar xf qemu-<バージョン>.tar.xz
cd qemu-<バージョン>
</syntaxhighlight>
*: <br>
*: <br>
* Gitからソースコードをダウンロードする場合
* Gitからソースコードをダウンロードする場合
*: <code>git clone git://git.qemu.org/qemu.git</code>
*: <syntaxhighlight lang="text">
*: <code>cd qemu</code>
git clone git://git.qemu.org/qemu.git
*: <code>git submodule update --init --recursive</code>
cd qemu
git submodule update --init --recursive
</syntaxhighlight>
<br>
<br>
QEMUをビルドおよびインストールする。<br>
QEMUをビルドおよびインストールする。<br>
117行目: 129行目:
   
   
  ../configure --prefix=<QEMUのインストールディレクトリ> \
  ../configure --prefix=<QEMUのインストールディレクトリ> \
               --enable-trace-backends=simple \
               --enable-trace-backends=simple   \ # テキストベースのトレース機能を有効化
               --enable-kvm --enable-spice --enable-spice-protocol --enable-usb-redir     \
               --enable-kvm                     \  # KVMによるハードウェア仮想化支援を有効化
               --enable-opengl --enable-tpm --enable-xkbcommon --enable-bzip2 --enable-sdl \
              --enable-spice                   \  # SPICEプロトコルによるリモートデスクトップ機能を有効化
               --enable-gtk --enable-vdi --enable-qcow1 --enable-tools --enable-fdt       \
              --enable-spice-protocol         \  # SPICEプロトコルのライブラリサポートを有効化
               --audio-drv-list=oss,alsa,sdl,pa                                           \
              --enable-usb-redir               \ # ホストUSBデバイスのゲストへの転送機能を有効化
               --enable-vfio-user-server # 任意 : VFIO (Virtual Function I/O) ユーザサーバー機能を有効にする場合
               --enable-opengl                 \  # OpenGLによるGPUアクセラレーションを有効化
               --enable-libusb           # 不要の可能性あり
              --enable-tpm                     \  # TPM (Trusted Platform Module) エミュレーションを有効化
               --enable-hax               # QEMU 8.2以降は、このオプションは削除された
              --enable-xkbcommon               \  # XKBキーボードマッピングライブラリを有効化
               --target-list=i386-softmmu,i386-linux-user,x86_64-softmmu,x86_64-linux-user     # ターゲットをx86およびx86_64限定する場合
              --enable-bzip2                   \  # bzip2圧縮ライブラリを有効化
               # ターゲットにARMおよびAArch64を追加する場合は、<code>arm-softmmu,arm-linux-user,aarch64-softmmu,aarch64-linux-user</code>を指定する
              --enable-sdl                     \ # SDLによるグラフィック・オーディオ出力を有効化
               --enable-gtk                     \  # GTKツールキットによるGUIウィンドウ表示を有効化
              --enable-vdi                     \  # VirtualBoxのVDI形式ディスクイメージ対応を有効化
              --enable-qcow1                   \  # 旧形式qcow1ディスクイメージのサポートを有効化
              --enable-tools                   \  # qemu-img等の補助ツール群のビルドを有効化
              --enable-fdt                     \ # FDT (Flattened Device Tree) サポートを有効化
               --audio-drv-list=oss,alsa,sdl,pa   # オーディオドライバとしてOSS, ALSA, SDL, PulseAudioを指定
               --enable-vfio-user-server           # 任意 : VFIO (Virtual Function I/O) ユーザサーバ機能を有効にする場合
               --enable-libusb                     # 不要の可能性あり
               --enable-hax                       # QEMU 8.2以降は、このオプションは削除済み
               --target-list=i386-softmmu,i386-linux-user,x86_64-softmmu,x86_64-linux-user # ターゲットをx86およびx86_64に限定する場合
               # ターゲットにARM EABIHFおよびAArch64を追加する場合は、<code>arm-softmmu,arm-linux-user,aarch64-softmmu,aarch64-linux-user</code> を指定する
   
   
  make -j $(nproc)  または  ninja -j $(nproc)
  make -j $(nproc)  または  ninja -j $(nproc)