미리 준비된 SD 카드 이미지 생성


19

내가 작업중 인 프로젝트의 경우 많은 Pis에 설치할 수있는 Raspbian을 기반으로 "스톡"이미지를 만들고 싶습니다.

이상적으로 (내 컴퓨터에서) Raspbian 이미지를 가져 와서 패키지를 가져 와서 구성을 편집 한 다음 SD 카드 이미지를 만들어 Pis에 넣을 수 있기를 원합니다.

이 작업을 수행하는 간단하거나 권장되는 방법이 있습니까? 어떤 함정이 발생할 수 있습니까?

pi로 수동으로 땜질 한 다음 해당 이미지를 복제하지 않으려 고합니다. 아마도 Raspbian은 누군가 Pi의 버튼을 수동으로 클릭하지 않는 방식으로 만들어졌습니다. 가능하다면 그렇게하고 싶습니다.

이상적으로는 연속 통합 서버에서 자동으로 빌드 할 수있는 무언가를 만들고 싶습니다. "SD 카드를 작성하고 Pi에 넣습니다"와 관련된 빌드 프로세스를 원하지 않습니다. 라즈베리 파이에 대한 물리적 접근.


3
편리한 경우 : Raspberry Pi Linux 배포판 이미지를 마운트하려면 어떻게해야합니까? - "무엇을 변경하면 해당 변경 사항이 .img 파일에 포함됩니다."라는 대답의 강조된 줄에 유의 하십시오. 불행히도, 이것은 신청할 수있는 기회를 제공하지 않습니다 apt-get. 가장 쉬운 방법은 VM을 사용하고 VM rsync을 시작하는 데 사용되는 것과 동일한 마운트 된 이미지 를 사용하는 것입니다 (VM 이미지 자체는 좋지 않기 때문에) 여기서 유일한 VM 옵션은 QEMU라고 생각합니다. AFAICT는 PITA입니다.
goldilocks

또 다른 방법은 넷 부팅입니다.
lexu

Win32DiskImager에는 읽기 기능이 있습니다. 사용해 보셨습니까?
Kong Chun Ho

답변:


6

Raspberry Pi Foundation은 QEMU를 자동화하는 일련의 bash 스크립트를 사용하여 이미지를 생성합니다. 여전히 "산업 표준"빌드 루트와 Yocto도 조사해야합니다.

https://github.com/RPi-Distro/pi-gen

http://cellux.github.io/articles/diy-linux-with-buildroot-part-1/


OP가 업계 표준 릴리스 이미지를 만들려고한다면 그렇습니다. 그러나 그 방법은 엄청나게 큰 학습 곡선이어서 그 길을 애호가가되기를 바랍니다.
Piotr Kula

1
이것은 내가 찾고있는 것처럼 들립니다! 이것을 사용하기위한 가이드가 있습니까? build.sh는 많은 환경 변수가 설정되어 있다고 가정합니다.
Andy Smith

아마도 TODO에서 # 4에 의해 다뤄 졌을 것입니다.
goldilocks

@goldilocks 그래서 이것은 기본 rasbian 이미지의 출처가 아닙니다?
Andy Smith

3
나는 솔직히 말해서 당신이 XY 문제 의 Y면을 너무 활기차게 추구하고 있다고 말합니다 . 단순한 방법을 생각한다는 것을 암시합니다 (파이에서 이미지를 설정하십시오. 원격 로그인을 통한 컴퓨터 및 PC에서 수행 할 수있는 마운트로 조정 된 이미지 자체는 스크립팅으로 자동화 할 수 있습니다.) 너무 번거롭기 때문에 실제로 많은 방법으로 희망을 가졌 습니다 더 번거 로움 .
goldilocks

5

내 프로젝트 Nard SDK 에는 원하는 많은 기능이 있습니다. Raspbian은 아니지만 Raspbian 바이너리 에뮬레이션이 있으므로 매우 가깝습니다. Nard를 사용하면 PC에 모든 것을 구축하고 프로세스가 매우 빠르고 재현 가능합니다. 모든 것은 스크립트 가능하며 야간 연속 통합으로 수행 할 수 있습니다.
http://www.arbetsmyra.dyndns.org/nard/


0

내 의견으로는 , 제안한 방식으로 마운트 (업데이트, 구성 및 업데이트 등을 수행하는 등) 하는 것이 실제 솔루션보다 더 어려운 과제 입니다. 물론, 관심이 있다면 자신의 방식대로하는 것이 재미있을 수 있지만 가장 쉽고 쉬운 방법은 피하는 방법 일 수 있습니다.

Pi를 얻어서해야 할 일을 한 다음 SD 카드의 이미지를 만드는 것이 좋습니다. 그런 다음 해당 이미지가 이미 구성되어 있으므로 다른 Pis에서 해당 이미지를 사용하십시오.

참고 : Raspbian을 사용한다고 가정하겠습니다. 또한 평범한 사람 일뿐 아니라 이미지를 자주 준비하는 사람이 아니라고 가정합니다 (예 : Raspberry Pi Foundation).


단계 당신이 경우에 당신의 파이 어설프게를 :

  1. 원하는 신선한 OS 이미지를 다운로드하여 설치하십시오.
  2. 이더넷 케이블 연결 / WiFi 연결
    • Pi의 IP 주소를 모르는 경우 LAN 스캔을 수행하십시오.
  3. SSH를 통해 작업을 수행
    • apt-get update -y && apt-get upgrade 패키지를 업데이트
    • 개인 구성 요구
  4. 이미지를 만든 다음 다른 Pis에 해당 이미지를 사용하십시오.

Pi 를 다루지 않는 단계 (위 참고 참조) :

  1. 새로운 OS 이미지 다운로드
  2. /raspberrypi//a/13138/24224의 지침을 사용하여 이미지를 마운트 하십시오 (일부 FS 레이아웃이 다르기 때문에 어떤 OS / 이미지가 있는지 고려해야합니다)
    • 계산기를 준비하십시오.
  3. 업데이트하려는 각 패키지해당 종속성 , 해당 종속성의 종속성 및 해당 종속성의 종속성의 종속성에 대한 deb파일을 찾으십시오 . 번거 로움입니다. 이 링크를 참조하십시오apt-offline
    • 그런 다음 Pi를 사용하거나 땜질하지 않고 해당 패키지를 모두 설치할 수있는 방법을 찾으십시오. apt-get오프라인에서 작동하지 않습니다. deb 파일 세부 정보는 여기 . 행운을 빕니다.
  4. Hexxeh의 도구를 사용하여 Pi 커널 및 저수준 항목 업데이트
  5. 요구 사항에 맞게 구성
  6. Pis의 SD 카드에 수정 된 이미지를 씁니다.

당신의 파이를 어지럽히 지 않으면 어떤 이점도 얻지 못합니다.

Pi로 느슨하고 어설프게 잘라내십시오. 한 번만하면됩니다.


의존성, 의존성 및 의존성 등을 가져 와서 수동으로 프로그램을 얻는 것은 거의 불가능합니다. 그러나 apt-get을 사용하고 VLC를 원한다면 apt-get install vlc --yes --print- 소변. 링크 목록이 제공됩니다. 다운로드 한 후에는 / var / cache / apt / archives / partial에 넣고 dpkg -i partial / *. deb를 실행하여 설치하십시오. 더 좋은 것은 Synaptics를 사용하면 패키지 다운로드 스크립트를 생성하는 옵션이 있습니다. Linux 컴퓨터에서 해당 스크립트를 실행하면 패키지가 제공됩니다. 그런 다음 시냅틱으로 다시 설치할 수 있습니다.
NULL

@NULLThen find a way to install all of those packages without using/tinkering with your Pi.
PNDA

@NULL 아는 한, dpkg마운트 된 이미지가 아니라 시스템 자체 에서만 사용할 수 있습니다 . 또한 OP는 자신의 PC를 사용할 계획이므로 *.deb처음에 잘못된 아키텍처를위한 파일입니다 (PC는 x86 / x64, Pi는 ARMv6 / v7 임)
PNDA

내 질문에서 지정했듯이 1을하고 싶지 않습니다 .2는 견과류처럼 들립니다 :). @flakeshakes 제안이 2에서 더 어렵다고 생각하는 것은 무엇입니까?
Andy Smith

@AndySmith goldilock의 의견을 인용하겠습니다 :I'll be honest and say that my impression is you are pursuing the Y side of an XY problem with too much vigour -- it's implied you think the simpler method (just set up an image on a pi, which can be done from a computer via remote login, and the image itself tweaked by mounting, which can be done on a PC, and all of this can be automated with scripting) is too much hassle, and so you have put your hopes in a method that is actually much more hassle.
PNDA

0

나는 당신이 찾고있는 것이 일종의 것 같아요 (software) configuration management. 이를 통해 스톡 라즈 비안 이미지를 부팅 한 다음 자신의 구성 (새 패키지 등 포함)을 푸시 할 수 있습니다. 많은 SCM 시스템이 있습니다. 단점은 이러한 시스템의 대부분은 대규모 네트워크를 지원하는 것이 목적이므로 귀하의 목적에 따라 약간 과잉 일 수 있습니다. 또한 일종의 프로비저닝 서버가 필요합니다. 가장 인기있는 SCM은 Puppet , Chef , Ansible 인 것 같습니다 . 시작하기위한 기사 :

이것은 일반적인 대답이지만 SCM은 넓은 분야입니다. 아마도 이것은 당신의 계획이 무엇인지에 따라 파고들 가치가 있습니다.


에이전트가 없기 때문에 Ansible은 유망한 것으로 보이며 서버를 실행할 필요가 없습니다.
duenni

1
사실, 나는 이미지를 이미 구축하기를 원하지만 내가 다루는 것이 아닙니다. Pi가 네트워크에 연결되어 있지 않으면이 제안이 작동하지 않습니다.
앤디 스미스
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.