OpenMythosをLinuxMint 22.3に環境構築してみました

 1.概要 Claude Mythosが話題になっています。このClaude Mythosの公開論文を元にOpen Mythosが開発されてOSS公開されたとのニュースが目に止まりました。早速、Open Mythosの環境構築にチャレンジしました。 2.詳細 pytorchベースで、Pytorch-12.6、CUDA-12.6環境を構築して、python3でimportできることを確認しました。 環境は以下の通りです。 HW amd 3200G, Memory 16GB, SSD 256GB, nvidia-1660 super SW LinuxMint 22.3, NVIDIA-driver-595-open, CUDA-12.6, Pytorch-12.6 (1) nouveauの無効化 /etc/modprobe.d/blacklist-nouveau.conf作成 # nvidia(nouveau) blacklist nouveau options nouveau modeset=0 適用します $ sudo update-initramfs -u (2) nvidia driver設定 $ ubuntu-drivers devices $ sudo apt -y install nvidia-driver-595-open (3) CUDA設定 $ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb $ sudo dpkg -i cuda-keyring_1.1-1_all.deb $ sudo apt update $ sudo apt install cuda-toolkit-12-6 path設定を~/.bashrcに追加( vi ~/.bashrc ) # CUDA Toolkit export PATH="/usr/local/cuda/bin:$PATH" export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH" (4) 動作確認 $ nvidia-smi $ nvcc -V...

LinuxMint 22.3でkernel-6.18.26をbuildする

1.概要

amd 3200GでBlack Out問題が発生したときにkernel buildを実施しました。その時はエラーの対処に集中していたので、もう一度整理をしました。kenel-6.18.21のbuildと少し変わっています。新しいkernelをLinxuMintやUbuntuで利用する場合は役立つと思います。その内容を記述します。

2.詳細

Build作業を~/srcで実行します
$ mkdir ~/src

(a)kernel-6.18.26を入手する
$ cd ~/src
$ VERSION="6.18.26"
$ wget https://mirrors.edge.kernel.org/pub/linux/kernel/v6.x/linux-${VERSION}.tar.gz
$ tar xf linux-${VERSION}.tar.gz
$ ln -s linux-${VERSION} linux

(b)configの設定
$ cd ~/src
$ CONFIG="6.17.0-23"
$ cp /boot/config-${CONFIG}-generic  ~/src/linux/.config

$ cat ~/src/linux/.config | grep "canonical"
$ cp  ~/src/linux/.config   build.config
$ sed -i -e 's/debian\/canonical-certs.pem//'          build.config
$ sed -i -e 's/debian\/canonical-revoked-certs.pem//'  build.config
$ cat build.config | grep "canonical"
$ cp  build.config ~/src/linux/.config
$ echo
$ diff build.config ~/src/linux/.config

(c)buildに必要な準備とbuild

(1)標準モジュールの追加
$ sudo apt install build-essential libelf-dev linux-headers-$(uname -r) bison flex
$ cd ~/src/linux
$ make olddefconfig
$ make -j$(nproc)

(2)dwarf.hのerror発生、libdw-devを追加 
In file included from scripts/gendwarfksyms/gendwarfksyms.c:12:
scripts/gendwarfksyms/gendwarfksyms.h:6:10: fatal error: dwarf.h: そのようなファイルやディレクトリはありません
    6 | #include <dwarf.h>
      |          ^~~~~~~~~
compilation terminated.

$ sudo apt install libdw-dev
$ cd ~/src/linux
$ make olddefconfig
$ make -j$(nproc)

(3)openssl/opensslv.hのerror発生、libssl-devを追加
scripts/sign-file.c:25:10: fatal error: openssl/opensslv.h: そのようなファイルやディレクトリはありません
   25 | #include <openssl/opensslv.h>
      |          ^~~~~~~~~~~~~~~~~~~~
compilation terminated.

$ sudo apt install libssl-dev
$ cd ~/src/linux
$ make olddefconfig
$ make -j$(nproc)

(4)sub-makeが発生、理由調査のためre-run、gawk問題と判明して、gawkを追加
make: *** [Makefile:248: __sub-make] エラー 2

buildをre-run

/bin/sh: 1: gawk: not found
...
make: *** [Makefile:248: __sub-make] エラー 2

$ sudo apt install gawk
$ cd ~/src/linux
$ make olddefconfig
$ make -j$(nproc)

最終的なBuild処理は以下のようになります

$ sudo apt install build-essential libelf-dev linux-headers-$(uname -r) bison flex
$ sudo apt install libdw-dev
$ sudo apt install libssl-dev
$ sudo apt install gawk

$ cd ~/src/linux
$ make olddefconfig
$ make -j$(nproc)

(d)install
$ cd ~/src/linux
$ sudo make install
$ sudo make modules_install

3.所見

参考資料にあるINSTALL_MOD_STRIP=1を付けて、下記コマンドのようにinstallすると
initrd.img-6.18.26は30MB程度になりましたが、bootできません。
$ sudo make modules_install INSTALL_MOD_STRIP=1

下記コマンドでinitrd.img-6.18.26は80MB程度でした。
$ sudo make install
$ sudo make modules_install

kenel-6.18.21で必要だった下記処理は不要でした、
$ sudo rm /boot/initrd.img-6.18.21
$ sudo find /lib/modules/6.18.21/ -name "*.ko" -type f -exec strip --strip-debug {} +
$ sudo update-initramfs -c -k 6.18.21

参考
[本ブログ内参照]
【問題解決】AMD 3200Gがkernel-6.17でBlack Outする
[外部サイト参照]
Ubuntu 22.04LTS kernel rebuild
Ubuntu 22.04 カーネルビルド手順

コメント

このブログの人気の投稿

miniPCのBMAXでWindows11のsecure boot設定漏れでトラブル発生

LinuxMint-22.3にWine 11.6をサクッと入れてみました