By ftake @
2025-10-19 15:46
Windows 10乗り換えセールに乗じて、新しいPCを購入しました。Core Ultra 258V (Lunar Lake) を搭載した dynabook XP です。一応最新、かつ、搭載機種が少ない Lunar Lake ということで、最新の Leap 16.0 でもすんなりは入りませんでした。
Tumbleweed や Slowroll であれば、大丈夫だったかもしれません。
Windows 側でのいろいろ
まずはリカバリーディスクを作ります。32GB のディスクが必要でした。手持ちのメモリーはすべて16GB以下で、なんとか発掘した32GBのmicroSDカードに書き込みました。
次に、「ディスクの管理」でWindowsのパーティションを縮小して、openSUSEをインストールする領域を確保します。細かい説明は省略します。
セキュアブートの設定変更で何度もBitLockerの回復キーを求められたので、準備はしておいたほうがよいでしょう。普通にセットアップすると回復キーはログインしたマイクロソフトアカウントに保存されるそうです。https://aka.ms/myrecoverykey で参照できます。
UEFI の設定
openSUSEのブートローダー、カーネルを署名している鍵を有効化します。まず、UEFIの設定画面で、スーパーバイザーパスワードを設定します。設定すると、追加のメニューが表示されるようになり、「3rd party CA」を Enabled に変更します。
インストール
いろいろ試した結果、なんらかの原因でオンラインリポジトリにアクセスできないようで、ネットワークインストール用のインストーラーが使えませんでした。そのため、オフライン用のISOをダウンロードして、USBメモリーに書き込んでインストールします。
さらに、通常のインストーラーは途中で固まってしまったので、fail safe モードでインストールします。原因は後で分かって、Lunar Lake の GPU (Arc Xe2) にカーネルが対応していないためです。nomodeset を起動オプションに追加すれば、通常のインストーラーも使えます。
Leap 16.0 で導入された Agama インストーラーは Web アプリケーションになっており、fail safe モードの場合は、ネットワーク越しにインストーラーにアクセスして操作を行えます。スクリーンショットはタブレットで操作している様子です。
インストールの詳細は省略しますが、Windowsを残すために、「現在のパーティションを維持する」設定にするのを忘れずに。
UEFI に openSUSEを登録する
本来であれば、インストールが完了すると、GRUB が起動するはずなのですが、Windows が起動する上に、UEFI の設定画面にも Windows しか出てきません。efibootmgr で設定を変更しても、起動順序がもとに戻されてしまうようです。おそろらく UEFI が変えてしまっているのでしょうか。
dynabook の UEFI は efi ファイルを直接指定して UEFI エントリーを追加することができます。この機能で shim.efi (セキュアブート用のプリブートローダー)を指定して起動順序を先頭にしたところ、無事に起動するようになりました。
fail safe から不要なオプションを取り除く
fail safe モードでインストールすると、起動パラメータに問題になりそうな機能を無効にするパラメータが追加されます。これを1つずつ外して、インストーラーが固まった原因を探します。
BOOT_IMAGE=/boot/vmlinuz-6.12.0-160000.5-default root=UUID=c24385d6-faf7-48c7-ade1-906659977d4d ide=nodma apm=off noresume edd=off nomodeset 3 mitigations=auto quiet security=selinux selinux=1
1つずつ外していった結果、nomodeset を外すと途中で固まってしまいました。nomodesetを残した状態でもデスクトップは起動しますが、解像度が 1920×1080 に固定されてしまい、本来は1980×1200なので、縦に間延びした状態になってしまいます。
新しいカーネルを入れる
Lunar Lake の GPU である Intel Arc Xe2 のドライバはどこかのタイミングでカーネルに取り込まれているようなので、最新のカーネルに更新します。最新のカーネルは、OBS の Kernel:stable:Backport から提供されています (記事執筆時は 6.17.3、Leap 標準は 6.12.0 + パッチ)。
以下のコマンドでリポジトリを登録し、カーネルをインストールします。
sudo zypper ar -c https://download.opensuse.org/repositories/Kernel:/stable:/Backport/16.0/Kernel:stable:Backport.repo
sudo zypper in -r Kernel_stable_Backport kernel-default
このリポジトリのカーネルは、OBS の Kernel プロジェクトの鍵で署名されています。セキュアブートが有効なPCで使うには、この鍵を Machine Owner Key (MOK) として UEFI に登録しておかないと、起動させてくれません。
OBS から公開鍵をダウンロードし:
https://build.opensuse.org/projects/Kernel:stable:Backport/signing_keys
以下のコマンドで変換し、再起動時に取り込むように指定します。
openssl x509 -in Kernel_stable_Backport_cert.pem -outform der -out cert.der
sudo mokutil --import cert.der
再起動後にMockManagerが起動し、enroll すれば完了です。
告知
openSUSE Leap 16.0 のリリースイベントを開催します。新機能や新しいインストーラーについても紹介予定です。
https://opensuseja.connpass.com/event/372009
By ribbon @
2020-12-16 00:03
Geeko Blog » マニュアルのみのRPMファイルを作ってみた で、Sambaの日本語マニュアルパッケージを作成した時に参照したLinuxの日本語マニュアルページですが、2017年12月15日バージョンでした。これは openSUSE 15.0 から変わっていません。ちょっと古いですね。そこで、他のディストリビューションなどと比較して見ることにしました。結果は以下の通りです。なお、各ディストリビューションとも、各種コマンドでパッケージの最新化をして確認するか、配布サイトのパッケージ情報を見ています(※のもの)。
- CentOS 7 20130615版
- Debian10 20180315版
- openSUSE 15.2 20171215版
- openSUSE Thumbleweed 20191215版(※)
- Fedora 20200315版(※)
- Oracle Linux 20130615版(※)
- Arch Linux なし(※)
- Gentoo Linux 20180315版(※)
CentOS(=RedHat=Oracle Linux)はちょと古すぎますね。Fedora はやはりというか新しいです。しかし、Thumbleweed も結構新しい方でしょう。とりあえず15.2で使うのであれば、Thumbleweed版を持ってきて入れてしまうと言うのも手かもしれません。rpmファイルの中身はテキストだけなので、バイナリの互換性で引っかかることはないですから。
ちなみに、日本語マニュアルについては、Open Build Service で20201115版を作成し、更新をお願いしておきましたので、そのうちopenSUSE用の最新版が提供されるようになるのではないかと思います。
ただ、ls コマンドのマニュアルを見てみると、openSUSE 15.2 での日本語マニュアルはは GNU Fileutils のバージョンが4.1であると表示されますが、英語版は バージョン8.29 となっています。となると、日本語マニュアルに頼りすぎるのは少々危険かもしれません。
By ftake @
2020-12-10 23:25
この記事は openSUSE Advent Calendar 10日目です。
今日は Open Build Service(動画配信ソフトと紛らわしいですが、以下 OBS)をセルフホストする話です。
Open Build Service
ご存知の人も多いかと思いますが、まずは OBS についておさらいしておきたいと思います。OBS は openSUSE で使用しているパッケージの開発のためのシステムです。openSUSE で使用している OBS の Web UI には次のページからアクセスすることができます。
https://build.opensuse.org
OBS が提供する主な機能は以下のとおりです:
- パッケージソースのバージョン管理
- Pull request スタイルのパッケージ開発のコラボレーション
- CI 環境(オンラインビルド、ビルド結果の配信)
- rpm はもちろん、deb パッケージも扱えます!
OBS のセルフホスト
OBS 自体もオープンソースソフトウェアであり、openSUSE で使うインスタンスを SaaS として使うだけではなく、自身のサーバーにインストールして使うことができます。これにより、会社内で使用するビルドサーバーをローカルに構築することも可能です。
今回は openSUSE Leap 15.2 上にパッケージから OBS をセットアップする方法を紹介します。公式ウェブサイトのダウンロードページの目立つところには(2020年12月現在) 15.1 ベースの ISO イメージからインストールする簡単な方法が書かれていますが、15.1 のサポート期間もそろそろ終わることですし、この方法は今回は使わないことにします。
https://openbuildservice.org/download/
パッケージから OBS をインストール
それでは始めましょう。openSUSE Leap 15.2 はいつものようにセットアップしてください。私が今回実験する上では VirtManager で KVM の VM を作って試しました。
セットアップした後、Web アプリサーバーですので、OBS サーバーにアクセスするときに使用するホスト名の設定をしておいてください。この後の設定スクリプトでがこのホスト名でオレオレ証明書を作ってくれます(設定されていないと止まります)。ちゃんとしたドメインのホスト名でも良いですし、LAN 内の /etc/hosts に設定して回っても OK です。私はルーター (RTX810) の DNS で、LAN 内でのみ有効なホスト名を割り当ててます。
OBS サーバーのパッケージをインストールしましょう。リポジトリを追加して OBS_Server パターンをインストールするだけです。実際は機能ごとにサーバーを分けることもできますが、今回は全部入れてしまいます。
zypper ar -f https://download.opensuse.org/repositories/OBS:/Server:/2.10/openSUSE_15.2/OBS:Server:2.10.repo
zypper in -t pattern OBS_Server
※OBS を構成するサービスについては、ユーザーガイドに解説があります。今回はビルドも含めて一緒に動かします。
https://openbuildservice.org/help/manuals/obs-user-guide/cha.obs.architecture.html
OBS サーバーを起動するために色々設定しましょう。ここでも手を抜いて設定スクリプトを使います。/usr/share/doc/packages/obs-server/README.md に書かれている通り、次のスクリプトを実行して、あとは待つだけです。
/usr/lib/obs/server/setup-appliance.sh
OBS アプリケーションの設定
セットアップが終わったら、https://設定したホスト名/ にアクセスしてみましょう。オレオレ証明書の警告は出ると思いますので、続行するか信頼済みの証明書に登録するかはおまかせします。
まずは Admin アカウントでログインしてみてください。初期パスワードは opensuse です。そうすると、いつもの OBS の Web UI に見たことのない管理用のアイコンが並んでいます。(画像はプロジェクトとパッケージをいくつか追加した後の状態)
あとは、ユーザーを追加したり、プロジェクトとパッケージを追加したり、好きなようにできます。1つやっておいたほうがよいことは、openSUSE の OBS との連携設定です。というのも、セットアップした状態では、ビルドターゲットのディストリビューションの定義(パッケージ類)がない状態です。これを1から作る(パッケージをアップロードしたり)のは大変です。そこで、openSUSE の OBS とリンクします。これにより、openSUSE をはじめとしたディストリビューションの定義やパッケージを必要に応じて、自動的に openSUSE の OBS から取ってこられるようにできます。設定自体は簡単で、設定画面から「Interconnect」にあるボタンを1回クリックするだけで終わります。
詳しい情報
ユーザーガイドとアドミニストレータガイドがあるので、見ておくと良いでしょう。 https://openbuildservice.org/help/