私はホームブレンドLinuxディストリビューションを構築しましたが、ブートローダのインストールという1つの例外を除いて、root以外のユーザーとしてディスクイメージファイル全体を作成できます。私はsyslinux(実際にはextlinux)を使用しており、それをインストールするにはroot / sudo権限を必要とするブートパーティションをループバックマウントする必要があります。これらのコマンドはmakefileで実行され、変数名はそれを置き換える項目を明確に表す必要があります。
sudo losetup -o $(BOOT_FS_PARTITION_OFFSET) $(LOOP_DEVICE) $(IMAGE_FILE_NAME)
sudo mount $(LOOP_DEVICE) $(LOOP_MOUNT_POINT)
sudo $(EXTLINUX) -S $(DISK_SECTORS) -H $(DISK_HEADS) -i $(LOOP_MOUNT_POINT)
sudo umount $(LOOP_MOUNT_POINT)
sudo losetup -d $(LOOP_DEVICE)
root権限なしでディスクイメージファイルにsyslinuxまたはextlinuxを書き込む方法はありますか?
ベストアンサー1
これは次の状況で可能ですsyslinux
。
syslinux ~/floppy.ima
インストーラには、syslinux
アンマウントされたファイルシステムで実行するのに十分な魔法が含まれています。 (実際にはまさにそれを行うように設計されています。)extlinux
しかし、インストーラはすでにマウントされているファイルシステムで実行されると予想しています。
extlinux
インストーラをファイルをコピーする部分に分割することはほぼ確実です(FATに似たmtools今すぐ珍しいしかし、存在するようだgenext2fs
)とブートセクタをマウントする部分(一緒に編むこともあります)と直接統合することは可能ですが。
MBRと最初のパーティションの間のスペースにインストールされたGRUB 2と同様の作業を行いました。ゲミール;SYSLINUXとは異なり、GRUBは多くのブートセクタを必要としないため、実際に実行する方が簡単です。基本的には幅広い要件によって異なります。 SYSLINUXの上記のセクションが役に立たない場合は、問題を解決するために私に連絡してください。