既存のLinuxシステムを使用したGuixSDのインストール

既存のLinuxシステムを使用したGuixSDのインストール

他のディストリビューションと一緒にGuix System Distribution(またはGuixSDまたはGuixのみ)をインストールしたいと思います。問題は、Guixが無料ではなくRealtekドライバを認識していないため、WiFiを使用できないことです。イーサネット経由でGuixをインストールすることはできますが、非常に不安定なので、既存のDebian(buster)インストールと一緒にインストールしてNonguixチャンネルを追加し、ドライバをインストールしようとしています。問題は、私が何をすべきかわからないということです。

私はDebianにGuixをインストールし、いくつかのパッケージをインストールし、GuixSDをルートディレクトリにバインドするか(少なくともNixOSが実行するものであり、Guixに触発されました)、ISOにchrootingを含むものが含まれていると確信しています。

可能なすべての助けをいただきありがとうございます。

システムメッセージ

# neofetch # some info was filtered

root@deblugo 
--------------- 
OS: Debian GNU/Linux 10 (buster) x86_64 
Host: HP Notebook 
Kernel: 4.19.0-16-amd64 
Packages: 1624 (dpkg) 
Shell: bash 5.0.3  
CPU: Intel Celeron N3060 (2) @ 2.480GHz 
GPU: Intel Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx 
Memory: 1931MiB / 3803MiB 

# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 10 (buster)
Release:    10
Codename:   buster

# uname -a
Linux deblugo 4.19.0-16-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19) x86_64 GNU/Linux

# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

答え1

Debian にインストール

GNU Guixリファレンスマニュアルでは、2 設置:

ノート
これを使用することをお勧めしますシェルインストーラスクリプト実行中のGNU / LinuxシステムにGuixをインストールします。海外発売。このスクリプトはGuixを自動的にダウンロード、インストール、および初期設定します。 rootユーザーとして実行する必要があります。

以下は、bashDebian BusterにGuixをインストールする1行のコマンドです。

bash <(wget -qO- https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh)

非GUIXチャンネルのインストール

以下で修正されたディレクティブNonguixプロジェクトページ:

Nonguixは次のようにインストールできます。GuixChannel。これを行うには、次の場所に追加してください~/.config/guix/channels.scm

(cons* (channel
        (name 'nonguix)
        (url "https://gitlab.com/nonguix/nonguix")
        ;; Enable signature verification:
        (introduction
         (make-channel-introduction
          "897c1a470da759236cc11798f4e0a5f7d4d59fbc"
          (openpgp-fingerprint
           "2A39 3FFF 68F4 EF7A 3D29  12AF 6F51 20A0 22FB B2D5"))))
       %default-channels)

それからguix pull

無料でないファームウェアとドライバを使用する

標準のLinuxカーネルとフリーファームウェアを含むGuixシステムを使用するには、オペレーティングシステム定義のカーネルとファームウェアフィールドを編集してくださいconfig.scm

;; Import nonfree linux module.
(use-modules (nongnu packages linux)
             (nongnu system linux-initrd))

(operating-system
  (kernel linux)
  (initrd microcode-initrd)
  (firmware (list linux-firmware))
  ...
  )

Realtekネットワークデバイス用のファームウェアのみが必要な場合は、より小さなファームウェアパッケージを使用してディスク容量を節約できます。

(firmware (cons* iwlwifi-firmware
                 %base-firmware))

もちろん、sudo guix system reconfigure /etc/config.scm設定を適用するには実行してください。

ガイドライン

言うように、公式のGuixインストールイメージはあなたのハードウェアには利用できません。

guix system image --image-size=7.2GiB /path/to/this/channel/nongnu/system/install.scm

以下のようにguix pullNonguixパッケージの説明をダウンロードするには実行する必要があります。これを正常に実行するには、USBサムドライブに空き容量が必要です。上記の--image-sizeオプションを使用すると、画像サイズを指定して空き領域を割り当てることができます。提供される値は純粋に指標にすぎず、明らかにサムドライブの容量によって異なります。

その後、次のコマンドを使用して結果のディスクイメージをUSBサムドライブに書き込むことができます。

ノート
この例では、Linuxでサムドライブを/dev/sdb
dd if=/path/to/disk-image of=/dev/sdb bs=4M status=progress oflag=sync

上記の方法で作成されたインストールメディアは、チャンネル仕様を自動的に設定しません。 Nonguixを「手動で」追加し、/etc/guix/channels.scmGuixguix pullがNonguixスキームライブラリを認識するように実行する必要があります。以下は、チャンネル仕様にNonguixを含めるGuileソリューションのコードです。

(use-modules (ice-9 pretty-print))
(with-output-to-file "/etc/guix/channels.scm"
  (lambda _
    (pretty-print
     '(cons*
       (channel (name 'nonguix)
        (url "https://gitlab.com/nonguix/nonguix"))
       %default-channels))))

で述べたように82号、Realtekネットワーク機器用のモジュールが含まれていますkernel-linux-5.11

ファームウェアファイルはrealtek-firmwareパッケージ内になければなりませんlinux-firmware。しかし、私の考えでは、私たちはそのモジュールを作成する必要があると思いますRTW88。だから私たちはそれCONFIG_RTW88=mに設定する必要がありますupstream guix gnu/packages/aux-files/linux-libre/5.10-x86_64.conf。 [なぜ]これで、kernel linux-5.11この特定のモジュールはデフォルトで有効になっているはずです。

関連情報