다음 명령을 사용하여 Raspberry Pi 이미지를 만들고 있습니다.raspi3 이미지 사양프로젝트. 기존 설치의 결과가 아니기 때문에 d-i
루트를 요청하지도 않고 부팅 시 연결하기 위해 WiFi 정보로 루트를 구성하지도 않습니다.
d-i
그래서 WiFi 세부 정보를 정확하게 저장하고 처음 부팅할 때 자동으로 연결되도록 하는 방법을 알고 싶습니다 . WiFi 연결을 구성하기 위해 이더넷이나 키보드 및 모니터에 연결할 필요가 없도록 RPi 이미지에서 동일한 작업을 수행하고 싶습니다.
명령을 사용하여 WiFi에 연결하는 방법을 묻는 것이 아닙니다. 이미 그 방법을 알고 있습니다. 내가 묻는 것은 사전 구성이 어떻게 이루어지는가입니다
d-i
.@kemotep의 솔루션에 따르면 WiFi에 연결하기 위해 명령을 실행해야 했을 뿐만 아니라
dhcpd
고정 IP 주소를 수동으로 활성화하거나 할당해야 했습니다. 또한 파일을 사용하여 이러한 단계를 자동화하는 방법도 알고 있지만/etc/network/interfaces
그게 요점은 아닙니다.내가 알고 싶은 것은
d-i
그것이 일반 데비안 설치와 일치하고 내 WiFi 프로필이 업데이트 중에 실수로 삭제되지 않도록 하는 방법입니다.
답변1
현재 문제
debian-installer
WiFi 설정을 사전 구성하는 방법을 알고 싶습니다 . 당신은 사용을 언급했습니다이 빌드Raspberry Pi 3용 Debian 이미지를 만듭니다.
그들은 Raspberry Pi의 debootstrap
표준 설치 대신 Debian을 사용합니다. debian-installer
이 두 가지 프로세스를 사용하여 WiFi를 프로비저닝하는 방법에 대한 정보를 제공하겠습니다.
사용debian-installer
debian-installer
각 구성 요소의 작동 방식을 알고 싶다면 다음을 읽어보세요.이 설명서. 섹션 6.3.1.5에서는 네트워크 구성에 대해 설명합니다.섹션 3.3.4debian-installer
네트워크를 설정하기 위해 제공해야 할 사항에 대한 정보를 제공하십시오 .
그러나 이 모든 작업은 debian-installer
"프로비저닝" 또는 사전 구성된 프로필 제공을 통해 자동화할 수 있는 수동 프로세스입니다.
여기있어데비안 위키 페이지프로필을 편집하는 방법. 나도 포함다른 매뉴얼 페이지도움말은 사전 설정에 대한 자세한 정보를 제공합니다.
다음은 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
데비안을 설치하는 또 다른 방법은 debootstrap
.데비안 위키에 대한 링크는 다음과 같습니다.그리고 또 다른맨페이지 링크. Debootstrap
기존 Unix 또는 Linux 컴퓨터에서 Debian 설치를 만드는 데 사용할 수 있습니다.
저장소에서 패키지를 다운로드하려면 debootstrap
하나 이상의 디스크/파티션 및 네트워크 연결만 필요합니다 . 그런 다음 새 데비안으로 가서 원하는 대로 구성한 다음 이를 설치하려는 모든 장치에 전파 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이 제안한 두 번째 방법은 명령줄을 통해 무선 구성을 추가할 수도 있습니다.
결론적으로
사용하시는 경우에는 debian-installer
미리 debian.iso
원하는 구성을 설정해 주셔야 합니다.
사용하는 경우 설치 debootstrap
중이나 설치 후에 chroot
수행하려는 추가 단계를 포함해야 합니다.
포함하겠습니다데비안 위키 페이지Wi-Fi와방법 페이지및 관련 정보누락된 펌웨어 추가. 무선 펌웨어를 찾을 수 있습니다이것은 라즈베리 파이입니다
이 답변에 대해 질문이나 문의사항이 있으면 댓글을 남겨주세요. 명령을 시도하기 전에 제가 제공하는 각 링크를 주의 깊게 읽어 보시기 바랍니다. 오해를 바로잡고 게시물을 개선할 수 있도록 피드백을 보내주셔서 감사합니다. 필요한 경우 답변을 업데이트할 수 있습니다.
행운을 빌어요!