현재 문제

현재 문제

다음 명령을 사용하여 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-installerWiFi 설정을 사전 구성하는 방법을 알고 싶습니다 . 당신은 사용을 언급했습니다이 빌드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.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

데비안을 설치하는 또 다른 방법은 debootstrap.데비안 위키에 대한 링크는 다음과 같습니다.그리고 또 다른맨페이지 링크. Debootstrap기존 Unix 또는 Linux 컴퓨터에서 Debian 설치를 만드는 데 사용할 수 있습니다.

저장소에서 패키지를 다운로드하려면 debootstrap하나 이상의 디스크/파티션 및 네트워크 연결만 필요합니다 . 그런 다음 새 데비안으로 가서 원하는 대로 구성한 다음 이를 설치하려는 모든 장치에 전파 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이 제안한 두 번째 방법은 명령줄을 통해 무선 구성을 추가할 수도 있습니다.

결론적으로

사용하시는 경우에는 debian-installer미리 debian.iso원하는 구성을 설정해 주셔야 합니다.

사용하는 경우 설치 debootstrap중이나 설치 후에 chroot수행하려는 추가 단계를 포함해야 합니다.

포함하겠습니다데비안 위키 페이지Wi-Fi와방법 페이지및 관련 정보누락된 펌웨어 추가. 무선 펌웨어를 찾을 수 있습니다이것은 라즈베리 파이입니다

이 답변에 대해 질문이나 문의사항이 있으면 댓글을 남겨주세요. 명령을 시도하기 전에 제가 제공하는 각 링크를 주의 깊게 읽어 보시기 바랍니다. 오해를 바로잡고 게시물을 개선할 수 있도록 피드백을 보내주셔서 감사합니다. 필요한 경우 답변을 업데이트할 수 있습니다.

행운을 빌어요!

관련 정보