Debian インストーラファイルシステムを書き込み可能にする方法 (インストールプログラムをカスタマイズするため)

Debian インストーラファイルシステムを書き込み可能にする方法 (インストールプログラムをカスタマイズするため)

起動可能なUSBドライブを作成しましたamd64用Debianネットワークインストーラ。インストーラにいくつかの無料ファームウェアを含めたいのですが、USBドライブにあるインストーラのファイルシステムは読み取り専用です。

無料ではなくファームウェアを含むインストーラがあることを知っていますが、学習目的でそれを書き込み可能にする方法を知りたいです。これにより、独自のカスタムインストーラを作成できます。


まず、以前のchmodを使ってみました。

$ sudo chmod 777 -R 'media/maxim/Debian 9.4.0 amd64 n'

ただし、USBドライブ上のすべてのファイルとフォルダに次のエラーが発生します。

chmod: changing permissions of 'Debian 9.4.0 amd64 n': Read-only file system

インターネット検索の後、chmodはファイル権限を変更するには書き込み権限が必要なので、chmodは私が望むものを達成できないことに気づきました。


その後、次のコマンドを試しました。

$ sudo hdparm -r0 /dev/sdb1

/dev/sdb1:
 setting readonly to 0 (off)
 readonly      =  0 (off)

しかし、うまくいきません。それでも読み取り専用です。私も/dev/sdb同じ結果を持って代わりにこれを試しました/dev/sdb1


それからrwで再インストールしてみましたが、やはり動作しませんでした。

$ sudo mount -o remount,rw /dev/sdb1
mount: /media/maxim/Debian 9.4.0 amd64 n: cannot remount /dev/sdb1 read-write, is write-protected.

だから基本的に私の質問は:DebianインストーラのファイルシステムをUSBドライブに書き込むことができる方法は何ですか?

答え1

インストーラはISO9660(CD-ROM)ファイルシステムです。書き込み可能にする方法はありません。その場で変更することはできません。再構築する必要があります。

より低いレベルでは、書き込み可能なファイルシステム(たとえば)のディレクトリにファイルをコピー~/myinstaller、変更、およびgenisoimage新しいISOイメージを使用または作成しようとしますxorriso。イメージを起動可能にするには、いくつかのオプションを追加する必要があります。

手を汚したくない場合は、debian-cd公式のDebianインストールイメージをビルドするパッケージを入手して、カスタムインストーラをビルドしてください。または、必要なカスタマイズがで提供されていることを確認してくださいsimple-cdd

答え2

Wumpusは正しいです。ただし、Debian インストーラは ISO を再パッケージ化しなくてもファームウェアでパーティションを接続する準備ができていると約束します。バラより https://www.debian.org/releases/stretch/amd64/ch04s03.html.en、「sdX2」および「tar」に関するパラグラフ4.3.1の終わり。

つまり、Debian netinst ISOの生成に使用されたxorrisoオプションは、「/.disk/mkisofs」というISOファイルに公開されます。その大部分はJigdo製作のためのもので、「-jigdo」で始まります。省略できます。

特定の起動可能なISOの起動オプションに関する提案を受け取るには、次の手順を実行します。

xorriso -indev debian-9.4.0-amd64-netinst.iso -report_system_area as_mkisofs

推奨される「--interval:local_fs:...-netinst.iso」の代わりに、ファイルパス「/usr/lib/ISOLINUX/isohdpfx.bin」を使用するか、ISOからMBRテンプレートファイルを切り取ることができます。

dd if=debian-9.4.0-amd64-netinst.iso bs=1 count=432 of=isohdpfx.bin

関連情報