Arch Boot Hook:zramctlの割り当てに失敗しました

Arch Boot Hook:zramctlの割り当てに失敗しました

オペレーティングシステムのバージョン:5.9.14-arch1-1カーネル

/起動時にディレクトリ全体をRAMにロードする方法を見つけようとしています。ここで小さなヘルパーを見つけました。 https://github.com/arcmags/ramroot

したがって、ramrootフックが実行を開始するとzramモジュールが設定されます。

modprobe zram

次にメモリを割り当てます。

zramctl -f -s 10M

OSが起動すると、このコマンドが正しく実行され、デバイスをマウントできますzram0。ただし、このブートモードでは、次のエラーが発生します。

/dev/zram0: failed to set disksize (.... bytes): Cannot allocate memory

問題がどこにあるかを知っている人はいますか?タスクを完了するために欠けているモジュールはありますか?

私の現在のフックの順序は次のとおりです。

HOOKS=(base udev ramroot autodetect modconf block filesystems keyboard fsck)

ベストアンサー1

あなたが望むものと同じことをするフックを作成し、最初はうまくいきましたが、カーネルの更新後に同じエラーメッセージが表示され始めました。

zram原因は基本圧縮アルゴリズムの変更である可能性があると思います。最新のカーネルバージョンがzstd新しいデフォルトとして使用され始めたと思います。

私に役立ったのは、.hookを使用してフック機能zstdにモジュールを追加することでした。build()add_module zstd

もちろん、他のモジュールを使用する予定がない場合は、zstdこのモジュールを追加してください。

エラーメッセージは非常に誤解を招くかもしれませんが、従うことができました。これ

おすすめ記事