Raspberry Piis是一款功能強大的多功能套件,其功能多樣,可以運行媒體中心用作廣播電臺。但是它有一個明顯的缺陷:無法從USB引導(dǎo)。
好吧,直到現(xiàn)在為止。
如果如果您使用的是Raspberry Pi 3,則現(xiàn)在可以放棄從microSD啟動,而是從USB設(shè)備啟動計算機。這可能是閃存棒,帶有USB適配器的SSD,甚至是全尺寸的USB硬盤驅(qū)動器。這是一項重大進展,因此,讓我們看一下如何設(shè)置Raspberry Pi 3從USB啟動。
入門:安裝Raspbian并添加新文件
最好從Raspbian的全新副本開始該項目,因此下載最新版本(我們正在使用Raspbian Jessie)并以通常的方式進行安裝。完成此操作后,請安全地從PC上卸下該卡,將其插入已關(guān)閉電源的Raspberry Pi中并啟動,并在加載后立即通過SSH進行遠程連接。
登錄(除非您已更改了默認憑據(jù)),然后運行以下命令,這些命令將用新下載的替代文件替換默認的start.elf和bootcode.bin文件:
sudo apt-get update
sudo BRANCH=next rpi-update
此更新將兩個文件傳送到/boot目錄中。下載文件后,繼續(xù)使用以下命令啟用USB啟動模式:
echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt
此命令將program_usb_boot_mode=1指令添加到config.txt的末尾文件。
完成后,您將需要重新啟動Pi。
下一步是檢查OTP一次性可編程存儲器已更改。使用以下命令進行檢查:
vcgencmd otp_dump | grep 17:
如果結(jié)果代表地址0x3020000a(例如17:3020000a),那么到目前為止一切都很好。在此階段,如果您希望從program_usb_boot_mode=1文件中刪除config.txt行,則可以。 Pi現(xiàn)已啟用USB引導(dǎo)功能,您可能希望在另一個Raspberry Pi 3中使用相同的microSD卡并使用相同的映像,因此刪除該行是個好主意。
這可以通過在nano中編輯config.txt來輕松完成:
sudo nano /boot/config.txt
刪除或注釋掉相應(yīng)的行(前面有#)。
準備USB引導(dǎo)設(shè)備
下一步,將格式化(或準備刪除)的USB記憶棒連接到Raspberry Pi 3的備用端口中。
首先使用lsblk命令識別您的USB記憶棒。
在此示例中,SD卡為mmcblk0,而USB記憶棒為sda(其格式化分區(qū)為sda1)。如果連接了其他USB存儲設(shè)備,則USB記憶棒可能是sdb,sdc等。在建立了USB記憶棒的名稱的情況下,卸載磁盤,然后使用分區(qū)工具創(chuàng)建100 MB分區(qū)(FAT32)和Linux分區(qū):
sudo umount /dev/sda
sudo parted /dev/sda
在(分隔)提示下,輸入:
mktable msdos
您可能會被告知磁盤在其他位置訂婚。如果是這樣,請選擇忽略,然后注意警告信息,警告您磁盤上的數(shù)據(jù)將被破壞。如前所述,該磁盤應(yīng)該是您希望刪除或格式化的磁盤,因此請對此表示同意。
如果此處遇到任何問題,則可能需要切換到桌面(手動,或通過VNC)并確認已卸載磁盤,然后在窗口命令行中輸入mktable msdos命令。
進行以下操作:
mkpart primary fat32 0% 100M
mkpart primary ext4 100M 100%
這將輸出有關(guān)磁盤和新分區(qū)的一些信息。在創(chuàng)建啟動文件系統(tǒng)和根文件系統(tǒng)之前,請先按Ctrl + C退出,然后退出:
sudo mkfs.vfat -n BOOT -F 32 /dev/sda1
sudo mkfs.ext4 /dev/sda2
然后,您需要在復(fù)制當(dāng)前Raspbian之前掛載目標文件系統(tǒng)。操作系統(tǒng)到USB設(shè)備。
sudo mkdir /mnt/target
sudo mount /dev/sda2 /mnt/target/
sudo mkdir /mnt/target/boot
sudo mount /dev/sda1 /mnt/target/boot/
sudo apt-get update; sudo apt-get install rsync
sudo rsync -ax --progress / /boot /mnt/target
最后一個命令是將所有內(nèi)容復(fù)制過來的最終命令,因此需要一段時間才能完成。是時候喝咖啡了!
接下來,您需要刷新SSH主機密鑰,以在即將重啟后保持與重新配置的Raspberry Pi的連接:
cd /mnt/target
sudo mount --bind /dev dev
sudo mount --bind /sys sys
sudo mount --bind /proc proc
sudo chroot /mnt/target
rm /etc/ssh/ssh_host*
dpkg-reconfigure openssh-server
exit
sudo umount dev
sudo umount sys
sudo umount proc
請注意,在sudo chroot(上面的第五個命令)之后,您將切換到root用戶,因此用戶將從 pi @ raspberrypi 更改為 root @ raspberrypi ,直到在第8行輸入退出。
為從USB重啟做準備!
在您的Raspberry Pi準備從USB引導(dǎo)之前,還有一些其他事情需要解決。我們需要在命令行中使用以下命令再次編輯cmdline.txt:
sudo sed -i “s,root=/dev/mmcblk0p2,root=/dev/sda2,” /mnt/target/boot/cmdline.txt
類似地,需要對fstab進行以下更改:
sudo sed -i “s,/dev/mmcblk0p,/dev/sda,” /mnt/target/etc/fstab
在關(guān)閉Pi之前,您已經(jīng)準備好卸載文件系統(tǒng):
cd ~
sudo umount /mnt/target/boot
sudo umount /mnt/target
sudo poweroff
請注意,這使用了新的poweroff命令替代shutdown。
當(dāng)Pi關(guān)機時,請先斷開電源,然后再卸下SD卡。接下來,重新連接電源-Raspberry Pi現(xiàn)在應(yīng)該從USB設(shè)備啟動!要獲得有關(guān)Pi的更多幫助,請查看如何在Raspberry Pi 3上設(shè)置Wi-Fi和藍牙。
責(zé)任編輯:wv
-
usb
+關(guān)注
關(guān)注
60文章
7976瀏覽量
265514 -
樹莓派
+關(guān)注
關(guān)注
117文章
1710瀏覽量
105795
發(fā)布評論請先 登錄
相關(guān)推薦
評論