次のコマンドを使用してRaspberry Piイメージを作成しています。raspi3 イメージ仕様プロジェクト。既存のインストールの結果ではないため、d-i
root を要求せず、起動時に接続するために WiFi 情報でルートを設定することもありません。
d-i
そのため、WiFiの詳細を正確に保存し、初めて起動したときに自動的に接続できるようにする方法を知りたいです。 WiFi接続を設定するためにイーサネットやキーボードやモニターに接続する必要がないように、RPiイメージで同じことをしたいと思います。
コマンドを使用してWiFiに接続する方法を尋ねるものではありません。すでにその方法を知っています。私が尋ねるのは、事前設定がどのように行われるかです
d-i
。@kemotepのソリューションによると、WiFiに接続するためにコマンドを実行する必要があるだけでなく、
dhcpd
静的IPアドレスを手動で有効または割り当てる必要がありました。また、ファイルを使用してこれらの手順を自動化する方法も知っていますが、/etc/network/interfaces
それはポイントではありません。私が知りたいのは、
d-i
それが通常のDebianインストールと一致し、私のWiFiプロファイルが更新中に誤って削除されないようにする方法です。
ベストアンサー1
現在の問題
debian-installer
WiFi設定を事前設定する方法を知りたいです。あなたは使用について言及しましたこのビルド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
これは非常に包括的なリストです。可能なオプションを示しますnetcfg
。preseed.cfg
記載した内容がお客様の要件を満たしていない場合は、必要に応じて追加してください。作成したら、preseed.cfg
次の手順に従って追加してください。
プリセットを追加するには。 [arch]debian.iso
にコピーするコンテンツをインストールして抽出する必要があります。preseed.cfg
.iso
armhf
arm64
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をインストールするもう一つの方法はdebootstrap
。Debian Wikiへのリンクは次のとおりです。そして別のマンページリンク。Debootstrap
既存のUnixまたはLinuxコンピュータでDebianインストールを作成するために使用できます。
リポジトリからパッケージをダウンロードするには、debootstrap
1つ以上のディスク/パーティションとネットワーク接続のみが必要です。その後、新しいDebianに行き、必要に応じて設定し、それをインストールしたいすべてのデバイスに伝播chroot
できます。これはArch Linuxのインストールプロセスと非常によく似ています。 chroot
rootfs
ただし、以下を使用する場合このスクリプトは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と方法ページおよび関連情報不足しているファームウェアの追加。ワイヤレスファームウェアを見つけることができますこれはラズベリーパイです
この回答について質問や質問がある場合は、コメントを残してください。コマンドを試す前に、私が提供する各リンクを注意深く読んでください。誤解を解決し、投稿を改善するためにフィードバックを送信していただきありがとうございます。必要に応じて回答を更新できます。
頑張ってください!