現在の問題

現在の問題

次のコマンドを使用してRaspberry Piイメージを作成しています。raspi3 イメージ仕様プロジェクト。既存のインストールの結果ではないため、d-iroot を要求せず、起動時に接続するために WiFi 情報でルートを設定することもありません。

d-iそのため、WiFiの詳細を正確に保存し、初めて起動したときに自動的に接続できるようにする方法を知りたいです。 WiFi接続を設定するためにイーサネットやキーボードやモニターに接続する必要がないように、RPiイメージで同じことをしたいと思います。

コマンドを使用してWiFiに接続する方法を尋ねるものではありません。すでにその方法を知っています。私が尋ねるのは、事前設定がどのように行われるかです d-i

@kemotepのソリューションによると、WiFiに接続するためにコマンドを実行する必要があるだけでなく、dhcpd静的IPアドレスを手動で有効または割り当てる必要がありました。また、ファイルを使用してこれらの手順を自動化する方法も知っていますが、/etc/network/interfacesそれはポイントではありません。

私が知りたいのは、d-iそれが通常のDebianインストールと一致し、私のWiFiプロファイルが更新中に誤って削除されないようにする方法です。

ベストアンサー1

現在の問題

debian-installerWiFi設定を事前設定する方法を知りたいです。あなたは使用について言及しましたこのビルドRaspberry Pi 3用のDebianイメージを作成します。

彼らはRaspberry Piのdebootstrap標準インストールの代わりにDebianを使います。debian-installerこれら2つのプロセスを使用してWiFiをプロビジョニングする方法についての情報を提供します。

使用debian-installer

debian-installer各コンポーネントの仕組みを知りたい場合は、以下をお読みください。このマニュアル。セクション6.3.1.5では、ネットワーク構成について説明します。セクション3.3.4debian-installerネットワークを設定するために提供する必要がある事項に関する情報を提供してください。

ただし、これはすべて、debian-installer「プロビジョニング」または事前設定されたプロファイルを提供することによって自動化できる手動プロセスです。

ここにいるDebian Wiki ページプロファイルを編集する方法。私も含めるその他のマニュアルページヘルプはプリセットに関する詳細情報を提供します。

以下は preseed.cfg の例です。あなたの例のため。ワイヤレスファームウェアを追加する手順を含めるように編集します(d-i hw-detect/load_firmware boolean trueここではこれがコアラインです)。

preseed.cfgファームウェアをロードするためのラインを追加した後、ワイヤレスWPA2ネットワークをプロビジョニングするためのラインを追加します。ファームウェアのロード方法については、こちらを参照してください。debian-installer

d-i netcfg/wireless_essid [string] // Name of wireless network
d-i netcfg/wireless_security_type [select] // Options are wep/open or wpa
d-i netcfg/wireless_wpa [string] // Password

これは非常に包括的なリストです。可能なオプションを示しますnetcfgpreseed.cfg記載した内容がお客様の要件を満たしていない場合は、必要に応じて追加してください。作成したら、preseed.cfg次の手順に従って追加してください。

プリセットを追加するには。 [arch]debian.isoにコピーするコンテンツをインストールして抽出する必要があります。preseed.cfg.isoarmhfarm64

udevil mount debian.iso
cp -rT /media/debian.iso/ isofiles/
chmod +w -R isofiles/install.[arch]/
gunzip isofiles/install.[arch]/initrd.gz
echo preseed.cfg | cpio -H newc -o -A -F isofiles/install.[arch]/initrd
gzip isofiles/install.386/initrd
chmod -w -R isofiles/install.[arch]/

md5sum.txtを修正する方法は次のとおりです。

# cd isofiles
# md5sum `find -follow -type f` > md5sum.txt
# cd ..

新しい起動可能なISOイメージを作成する方法は次のとおりです。

genisoimage -r -J -b isolinux/isolinux.bin -c isolinux/boot.cat \                                                    
            -no-emul-boot -boot-load-size 4 -boot-info-table \                                                           
            -o preseed-debian.iso isofiles

これで起動可能なISOイメージが作成されたため、事前設定されたインストーラを含むUSBまたはディスクにイメージが書き込まれます。ぜひお読みくださいウィキページそして手動どんな問題でも注意深く助けてください。

使用debootstrap

Debianをインストールするもう一つの方法はdebootstrapDebian Wikiへのリンクは次のとおりです。そして別のマンページリンクDebootstrap既存のUnixまたはLinuxコンピュータでDebianインストールを作成するために使用できます。

リポジトリからパッケージをダウンロードするには、debootstrap1つ以上のディスク/パーティションとネットワーク接続のみが必要です。その後、新しいDebianに行き、必要に応じて設定し、それをインストールしたいすべてのデバイスに伝播chrootできます。これはArch Linuxのインストールプロセスと非常によく似ています。 chrootrootfs

ただし、以下を使用する場合このスクリプトはGitHubで提供されています。、ワイヤレス設定を事前に準備するには、を編集して使用する必要がraspi3.yamlありますvmdb2

インストールvmdb2:(Debian Stretchを使用しているとします!)

 apt install kpartx parted qemu-utils qemu-user-static python3-cliapp \
 python3-jinja2 python3-yaml

Stretchでは使用できませんが、python3-cliapp依存関係がないため、次の方法で手動でインストールできます。.deb パッケージの入手手動でインストールしてください。

次に、画像のコピーをダウンロードします。

 git clone --recursive https://github.com/Debian/raspi3-image-spec
 cd raspi3-image-spec

次にraspi3.yaml、次を含めるように編集します。

68行目の後に- apt: install次の行を追加します。

- iw

これで、90行目(- shell: |)の後にこのコードを独自の行に追加できます。

wpa_passphrase [WiFi SSID] [WiFI Password] > /etc/wpa_supplicant.conf

wpa_supplicant画像処理中に正しくインストールされている場合は、この行にWiFi設定が追加され、自動的に接続できます。起動後もこれらのコマンドを実行する必要がありますが、スクリプトに追加することもできます。

ip link set wlan0 down
ip link set wlan0 up
wpa_supplicant -B -iwlan0 -c /etc/wpa_supplicant.conf -Dwext
dhclient wlan0

編集後、raspi3.yaml次のコマンドを実行して画像を生成できます。システム全体を使用する場合vmdb2:

umask 022
sudo env -i LC_CTYPE=C.UTF-8 PATH="/usr/sbin:/sbin:$PATH" \
vmdb2 --output raspi3.img raspi3.yaml --log raspi3.log

または、このリポジトリのサブモジュールで使用する場合

umask 022
sudo env -i LC_CTYPE=C.UTF-8 PATH="/usr/sbin:/sbin:$PATH" \
./vmdb2/vmdb2 --output raspi3.img raspi3.yaml --log raspi3.log

その後、新しいイメージをSDカードにインストールできる必要があり、スクリプトに追加した追加の手順に従います。このファイルに必要な追加手順を追加できます。

これこのスタック交換ポストのOPユーザーGAD3Rが提案した2番目の方法は、コマンドラインを介してワイヤレス設定を追加することもできます。

結論として

ご使用の場合は、debian-installerあらかじめdebian.isoご希望の構成を設定してください。

使用する場合は、インストールdebootstrap中またはインストール後にchroot実行する追加の手順を含める必要があります。

含めますDebian Wiki ページWi-Fiと方法ページおよび関連情報不足しているファームウェアの追加。ワイヤレスファームウェアを見つけることができますこれはラズベリーパイです

この回答について質問や質問がある場合は、コメントを残してください。コマンドを試す前に、私が提供する各リンクを注意深く読んでください。誤解を解決し、投稿を改善するためにフィードバックを送信していただきありがとうございます。必要に応じて回答を更新できます。

頑張ってください!

おすすめ記事