Làm cách nào tôi có thể sao chép cùng một hình ảnh vào nhiều SD?


23

Vì vậy, cuối cùng tôi có thể đặt đơn hàng số lượng lớn đó cho Raspberry Pis ! Tuy nhiên, cấu hình chúng sẽ là một việc vặt. Những gì tôi muốn làm là:

  1. Tải xuống một hình ảnh chứng khoán và tinker với nó trên một Pi
  2. Lưu / trích xuất / sao chép hình ảnh đó vào tất cả các thẻ SD khác
  3. Có tất cả các Pi khác được thiết lập mà không cần cấu hình bổ sung nào cần phải hoàn thành

Máy tính của tôi chỉ có một khe SD duy nhất, vậy có cách nào để tạo .imgtệp từ thẻ 'chính' đã sửa đổi của tôi không?


4
Tom kiểm tra bài này raspberrypi.stackexchange.com/questions/311/ khăn Tôi nghĩ rằng nó trả lời câu hỏi của bạn.
Steve Robillard

@SteveRobillard +1 Điều đó sẽ trả lời câu hỏi hoàn hảo.
Jivings

4
Một điều cần chú ý là SSH. Nếu bạn thiết lập SSH trên bản gốc, bạn sẽ kết thúc bằng chứng chỉ SSH nhân bản trên tất cả các hình ảnh, đây không nhất thiết là những gì bạn muốn. OTOH, nếu bạn đang sử dụng Pis không đầu, có lẽ bạn muốn cài đặt SSH ...
Darren Wilkinson

@darrenjw Đó là một điểm cực kỳ tốt. Bạn đã cứu tôi một chút bối rối và không có lỗi lầm. Cảm ơn bạn.
Jivings

Tùy thuộc vào cách bạn định sử dụng khối lượng Pis đó mà bạn có thể muốn xem dự án Raspi-LTSP của Andrew Mulholland . Nó không chỉ hữu ích cho việc sử dụng trong lớp học - nó cũng rất tốt cho các cụm.
Dave Jones

Câu trả lời:


7

Có một vài bước chuẩn bị dễ dàng để làm trước khi viết một bản sao chính thành bản sao sẽ giúp bạn đỡ đau đầu.

  1. Cấu hình bản sao chủ cho DHCP
  2. Xóa mọi thứ trong /etc/ssh/ssh_host*(những thứ này được tạo lại khi bạn chạy SSHD)
  3. nếu bạn có một /etc/udev/rules.d/70-network*tệp, bạn sẽ cần phải sửa đổi eth0mục nhập thành một mục khác (tôi đã sử dụng eth9cho các chủ nhân bản sao của mình) - và nhớ cập nhật ifconfigtệp được liên kết - tính bằng centos đó là /etc/sysconfig/network-scripts/ifcfg-eth0(làm cho nó 9) và trong debian (raspbian)/etc/network/interfaces

7

Tôi có các yêu cầu tương tự như 12để phân phối một hệ điều hành tùy chỉnh. Sau khi nhìn xung quanh tôi đã tìm thấy nhiều lệnh, nhưng không phải là một công cụ duy nhất để tạo một .ziptệp nhỏ gọn từ thẻ SD, vì vậy tôi đã viết mkimg.sh, hoạt động như thế này:

sudo bash mkimg.sh /dev/sda sdcard.img.zip

Điều này sẽ đưa thiết bị chưa từng có vào /dev/sda, thu nhỏ hệ thống tập tin và phân vùng và ghi ra một zip nén. Trong quá trình sử dụng của tôi, điều này ghi một hệ thống Raspbian ~ 1,5 GB để tạo ra <500MB .zip.

Cùng với kiểm tra độ tỉnh táo và tính toán kích thước, kịch bản về cơ bản thực hiện điều này:

e2fsck -f /dev/sda2
resize2fs -M /dev/sda2
parted --align optimal /dev/sda unit MB resizepart 2 1700 yes
dd bs=1M if=/dev/sda of=sdcard.img count=1900
zip sdcard.img.zip sdcard.img
parted /dev/sda resizepart 2 16.0GB
resize2fs /dev/sda2

Kịch bản và tài liệu có sẵn trên GitHub .


5

Bạn có thể sử dụng Raspberry Pis cùng với multixterm trên máy tính chính của bạn để "khởi động dây đeo" cho việc ghi thẻ SD của bạn. Bạn sẽ có thể tìm thấy nhiều chế độ trong nhiều trình quản lý gói của distro.

Bước 1: Mua một loạt các bộ điều hợp thẻ SD USB.

Bước 2: Sử dụng các phương pháp tiêu chuẩn để ghi 2 hình ảnh thẻ SD vào máy tính chính của bạn.

Bước 3: Đặt 2 thẻ SD có hình ảnh vào 2 Raspberry Pis và kết nối chúng với mạng của bạn và bật nguồn.

Bước 4: Đặt 2 thẻ SD trống vào bộ điều hợp thanh USB và cắm chúng vào 2 Rapsberry Pis đang chạy.

Bước 5: Bây giờ đây là nơi thú vị, từ máy tính chính của bạn sử dụng đa pha như vậy từ dòng lệnh multixterm -xc "ssh% n" host1 host2 trong đó host1 và host2 là địa chỉ IP của Raspberry Pis.

Bước 6: Bên trong cửa sổ stdin của multixterm, bạn có thể sử dụng dd như bình thường để ghi ảnh vào thẻ SD nhưng bây giờ multixterm sẽ gửi lệnh dd đó cho cả Raspberry Pis.

Bước 7: Lặp lại các bước 3-6 cho đến khi bạn có tất cả các thẻ được viết.

Càng nhiều thẻ SD bạn hình ảnh càng nhiều Raspberry Pis bạn có thể sử dụng để hình ảnh thẻ SD mới. Rõ ràng kỹ thuật này sẽ không viết tất cả các thẻ của bạn trong một lần, nhưng nó sẽ cắt giảm thời gian cần thiết để hoàn thành việc viết tất cả các thẻ. Kỹ thuật này phần lớn sẽ là thử nghiệm nên số dặm của bạn sẽ thay đổi, nhưng lý thuyết về nó nghe có vẻ như là một thử nghiệm thú vị ...


Rất thú vị - nhưng cũng rất tốn kém cho quy mô lớn =) hehe thích nó. Có cách nào để siêu luồng viết hình ảnh trong các bảng điều khiển khác nhau cho các bộ điều hợp USB SD khác nhau không?
Piotr Kula

5

Những gì bạn đang tìm kiếm là một thiết bị Lập trình Gang cho thẻ SD hoặc Trình sao chép thẻ SD.

Vâng, các hệ thống này tồn tại. Đây là một cái mà tôi tìm thấy bởi "lập trình viên băng đảng thẻ sd" của Google. Thiết bị cụ thể này có một khe chính, nó có thể sao chép tối đa 7 thẻ SD nô lệ cùng một lúc. Các lập trình viên khác với 3 hoặc 11 khe nô lệ cũng có sẵn.

Ngoài ra còn có các loại lập trình viên khác nhau. Một số có thể flash hình ảnh từ ổ cứng của bạn và được điều khiển bởi phần mềm được cài đặt trên PC. Các thiết bị khác, như thiết bị được liên kết ở trên, không phải giao tiếp với máy chủ vì chúng phản ánh thông tin của chip chính.

Điều đáng nói là các thiết bị này không hề rẻ. Chúng thường được sử dụng trong môi trường sản xuất hàng loạt và nhu cầu không quá cao. Hãy sẵn sàng trả ít nhất 1.000 đô la cho một thiết bị tốt với chức năng này.

ProD repeatator.com dường như cũng có khá nhiều tùy chọn sao chép Thẻ SD.


Tôi tự hỏi tại sao những chi phí này rất nhiều, xem xét rằng bạn vẫn cần phải ngồi thứ này để tự đưa thẻ SD vào và ra.
Dmitry Grigoryev

@DmitryGrigoryev Trong 5 năm kể từ câu trả lời của tôi, trang web sao chép hiện có một cái với giá dưới 600 đô la, mà IMHO có vẻ rẻ. Hãy nhớ rằng số lượng ổ đĩa giá. Không nhiều người cần những thứ này vì vậy chúng đắt tiền vì chúng cần phục hồi chi phí phát triển và sản xuất. Nếu có một trong số này cho mỗi 10 PC hoặc máy tính xách tay, thì đó có thể là một thiết bị trị giá 100-150 đô la.
RLH

5

Chúng tôi có một yêu cầu tương tự cho một dự án mà chúng tôi cần để có thể ghi hình ảnh vào hơn 10 thẻ Raspberry Pi SD hàng ngày. Chúng tôi đã xem xét các Công cụ sao chép thẻ khác nhau để mua nhưng hầu hết trong số họ sẽ không tạo thành công thẻ SD có thể khởi động, vì hầu hết chỉ sao chép tệp trực tiếp và không phải thông tin có thể khởi động, chúng cũng rất đắt!

Vì vậy, như một giải pháp, chúng tôi đã viết phần mềm dựa trên web đơn giản của riêng mình để chạy trên một Raspberry Pi duy nhất được kết nối với các trung tâm USB hỗ trợ Belkin 2 x 7 cổng (Pi có giới hạn 2 hub và tối đa 14 cổng USB).

Bây giờ chúng tôi đã phát hành phần mềm này dưới dạng phần mềm nguồn mở để giúp đỡ những người khác có cùng yêu cầu. Hiện tại chỉ có mã nguồn có sẵn nhưng chúng tôi cũng sẽ tải lên một tệp hình ảnh dựa trên Arch Linux ARM chạy Nginx + php

http://www.rockandscissor.com/projects/osid


2

Điều này hoạt động trên Mac OS X.

Tháo thẻ mà bạn đã sửa lại, sau đó thử:

sudo dd if=/dev/sdcardlocation of=backupimage.img.

Thay thế sdcardlocationbằng vị trí của thẻ SD của bạn.

Bạn có thể trao đổi .imgvới .dmghoặc .iso.

Tiếp theo, để chuẩn bị các thẻ khác, ngắt kết nối chúng và chạy mã trước đó với các giá trị được hoán đổi. Dòng này sẽ là:

sudo dd if=backupimage.img of=/dev/sdcardlocation.

Đảm bảo ngắt kết nối chúng trước khi bạn lấy chúng ra khỏi đầu đọc thẻ.


1

Mặc dù làm cách nào để sao lưu Raspberry Pi? cung cấp những gợi ý tuyệt vời về cách sao chép một thẻ SD, thực hiện từng lần một cho hàng tá thẻ sẽ trở nên tẻ nhạt.

Cho rằng dường như không ai đã sản xuất đầu đọc thẻ SD nhiều thẻ (một loại có thể chứa nhiều thẻ SD cùng một lúc) và thực tế là bạn có thể mua một bộ chia USB và một bộ đầu đọc thẻ SD thẻ SD rất rẻ, một cách để tăng tốc quá trình là tạo trình sao chép thẻ SD của riêng bạn.

Bạn thậm chí có thể viết một tập lệnh để tự động ghi hình ảnh Raspberry Pi đã chọn của bạn lên bất kỳ khe cắm thẻ SD trống nào được chèn vào một khe. Các tập lệnh có thể tự động phát hiện ra rằng một thẻ đã được chèn và cho biết khi nào bản sao hoàn thành.

Như darrenjw đã đề cập trong các bình luận, bạn sẽ muốn thay thế chứng chỉ ssh trong mỗi hình ảnh được sao chép lần đầu tiên khi chúng được khởi động, vì vậy bạn có thể muốn đảm bảo rằng lần khởi động đầu tiên này được thực hiện trong khi kết nối với một phân đoạn mạng riêng trước khi kết nối nó với một mạng kết nối internet.


Bạn thường không gắn thẻ để flash hình ảnh vào nó.
Alex Chamberlain

Cảm ơn @AlexChamberlain, tôi vẫn còn vài tuần nữa trước khi Pi của tôi đến (Grrr, nếu tôi biết tôi đã ở trong danh sách chờ RS trong một thời gian dài tôi sẽ đặt hàng từ Farnell trong một thời gian dài dẫn đầu thời gian ở nơi đầu tiên) vì vậy tôi chưa thực sự thử điều này.
Đánh dấu gian hàng

1

Thường có công cụ tốt hơn để làm điều này, sau đó sao chép rất nhiều hình ảnh RP.

Nhưng nó phụ thuộc vào những gì bạn thực sự muốn làm.

Bạn nên có một cái nhìn về cfengine3 [1], fai [2], đầu bếp [3], vải [4] hoặc con rối [5]. Chúng là các công cụ cấu hình tự động, sẽ hữu ích cho việc thực hiện công cụ trong máy của bạn khi bắt đầu lần đầu tiên (và sau đó).

[1] http://cfengine.com/ [2] http://fai-project.org/ [3] http://www.opscode.com/chef/ [4] http: //www.debian- quản trị.org / article / 671 [5] http://puppetlabs.com/puppet/puppet-enterprise/


1

PiBakery có thể là một giải pháp khả thi cho bạn. PiBakery cho phép bạn tạo một hình ảnh Raspbian tùy chỉnh bằng cách sử dụng các khối để tùy chỉnh nhiều thứ khác nhau như mật khẩu wifi, phím ssh, v.v ...


0

Một cách khác là sử dụng flash , một công cụ dòng lệnh để flash thẻ SD với một số tùy chỉnh nhất định cho HĐH.


0

Để giải quyết chỉ có một khe cắm thẻ SD trên máy tính của bạn, câu trả lời dễ dàng để ghi nhiều hình ảnh hiệu quả là bộ chia USB được cấp nguồn và một số bộ điều hợp USB-USB rẻ tiền. Tôi đã thử nghiệm bằng cách sử dụng bộ chia USB-3 cổng 13 cổng và bộ điều hợp USB-USB giá rẻ (<$ 1).

Cho đến khi ghi rất nhiều hình ảnh cơ bản cùng một lúc, hãy kiểm tra dcfldd . Nó có sẵn trong kho jessie raspbian. Đây là phiên bản nâng cao của GNU GNU, với khả năng ghi đồng thời vào nhiều hình ảnh. Tôi đã thực hiện một số thử nghiệm thông thường và có thể sao chép hình ảnh thẻ nhớ microSD trên RPi 3B sang hỗn hợp 7 thẻ được cắm vào 3 loại bộ điều hợp trên bộ chia USB. Các thử nghiệm trước với trung tâm USB 2.0 3 cổng trên A + cũng đã hoạt động. Đó là khá nhiều lửa và quên một khi bạn đã đặt đúng các tham số. Tôi bị giới hạn ở 7 bộ điều hợp, nhưng không có lý do gì để nghĩ rằng nó sẽ không hoạt động với số lượng thẻ lớn hơn, mặc dù tốc độ sẽ bị giới hạn ở thẻ đích chậm nhất.

Nếu bạn cần cập nhật số lượng lớn RPis khi thay đổi cấu hình một khi chúng đang chạy và trên mạng của bạn, tôi sẽ xem xét sử dụng ansible hoặc vải để cho phép cập nhật qua ssh và tránh phải ghi lại thẻ để giữ cho chúng hiện tại.

Cuối cùng, bạn có thể sửa đổi chủ của mình để thay đổi tên máy chủ trên mỗi RPi bằng cách sử dụng một mã định danh duy nhất (ví dụ: dựa trên địa chỉ MAC của mạng) để cho phép xác định vị trí dễ dàng avahimà không phải sửa đổi mỗi RPi để tránh xung đột sau khi khởi động để tránh xung đột.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.