ฉันจะอัพเดตซอฟต์แวร์และเฟิร์มแวร์ได้อย่างไร


91

ฉันเข้าใจว่าซอฟต์แวร์บน Raspberry Pi แบ่งออกเป็นสามส่วน: เฟิร์มแวร์ GPU ปิด, เคอร์เนล ARM Linux ที่แพทช์และซอฟต์แวร์พื้นที่ผู้ใช้

เฟิร์มแวร์ของ GPU อยู่บนชิปหรือการ์ด SD หรือไม่? มีวิธีง่าย ๆ ในการอัปเดตทุกอย่าง (เฟิร์มแวร์เคอร์เนลโมดูล) หรือไม่

คำตอบ:


92

เฟิร์มแวร์ GPU และเคอร์เนลคืออะไร?

เคอร์เนลรับผิดชอบการจัดการทรัพยากรของ Raspberry Pi และทำงานบนหน่วยประมวลผลกลาง (CPU) จะช่วยให้งานที่จะทำงานบน CPU ในทางตรงกันข้าม GPU เฟิร์มแวร์จัดการหน่วยประมวลผลกราฟิก (GPU) หน่วยที่แยกจากกันสองหน่วยอยู่ในชิปเดียวกันและใช้หน่วยความจำร่วมกันซึ่งจะถูกแยกในเวลาบูตตามstart.elfไฟล์ฮาร์ดโค้ด ในการใช้ Raspberry Pi ไฟล์ทั้งสองชุดจะต้องอยู่ในตำแหน่งที่ถูกต้องในการ์ด SD

คุณสามารถซื้อการ์ด SD ที่โหลดไว้ล่วงหน้าจากพันธมิตรการค้าปลีกของมูลนิธิ

อีกทางเลือกหนึ่งที่มูลนิธิสม่ำเสมอปล่อยภาพ SD การ์ดใหม่ที่http://www.raspberrypi.org/downloads คุณต้องใช้ Unix's ddหรือ Windows ' Win32DiskImagerในการโหลดบนการ์ด SD ที่มีอยู่

ไม่สามารถรวบรวมภาพเฟิร์มแวร์ GPU ของคุณเองได้เพราะมันเป็นแหล่งข้อมูลปิดดังนั้นเราจึงพึ่งพามูลนิธิและ Broadcom ในการจัดหาสิ่งนี้ ในอีกทางหนึ่งคุณสามารถรวบรวมภาพเคอร์เนลของคุณเองจากแหล่งที่มา การรวบรวมข้ามเป็นหัวข้อของคำถามอื่น ๆ เช่นฉันจะรวบรวมเคอร์เนลบนโฮสต์ Ubuntu ได้อย่างไร

การอัพเดตเฟิร์มแวร์ GPU - Debian / Raspbian

คุณสามารถอัปเดตเฟิร์มแวร์โดยใช้rpi-updateHexxeh บนRaspbianคุณสามารถติดตั้งได้โดยเรียกใช้

sudo apt-get install rpi-update

ในการอัพเดตซอฟต์แวร์ให้เรียกใช้

sudo rpi-update

การอัพเดต userspace และซอฟต์แวร์เคอร์เนล - Debian / Raspbian

ซอฟต์แวร์ userspace ต้องได้รับการบำรุงรักษา มันง่ายมาก เพิ่งวิ่ง

sudo apt-get upgrade

หากมีข้อผิดพลาดใด ๆ คุณสามารถลองอัปเดตฐานข้อมูลก่อนโดยเรียกใช้

sudo apt-get update

หากคุณไม่เข้าใจข้อผิดพลาดอาจเป็นการดีที่สุดที่คุณจะถามที่นี่หรือลองใช้ Google

อัปเดตซอฟต์แวร์ - Arch Linux

ซอฟต์แวร์จะต้องได้รับการดูแล ข้อดีของArch Linuxบน Debian ที่นี่คือ Arch Linux จัดการเฟิร์มแวร์ของ Raspberry Pi ภายในระบบการจัดการบรรจุภัณฑ์ หากต้องการอัปเดตเพียงเรียกใช้

sudo pacman -Syu

หากมีข้อผิดพลาดและคุณไม่เข้าใจอาจเป็นไปได้ว่าคุณควรถามที่นี่หรือลองใช้ Google

อ้างอิง

  1. พื้นที่เก็บข้อมูล rpi-update

ผู้ใช้ยังได้สร้างเครื่องมือที่เรียกว่าrpi-updaterซึ่งจะอัปเดตเฟิร์มแวร์เคอร์เนลและโมดูล
Alex L

1
Raspbian ไม่ได้มาพร้อมกับเครื่องมืออัพเดต rpi ใช่ไหม
Jivings

นอกจากนี้คุณเคยพบหรือไม่ว่าเหตุใดเดเบียนไม่สามารถจัดการเฟิร์มแวร์โดยใช้ apt ได้?
Jivings


1
ค่อนข้างเก่า แต่ ณ จุดนี้ Raspbian มาพร้อมกับเครื่องมือ rpi-update ที่ติดตั้งและอยู่ในที่เก็บเริ่มต้นของ raspberry pi apt คุณสามารถทำได้ง่าย ๆsudo apt-get install rpi-updateแทนที่จะทำการติดตั้งด้วยตนเองทันที
Caleb1994

20

ลองดูที่ RPi-Updater ของ Hexxeh มันสร้างขึ้นเฉพาะสำหรับการอัพเกรดเฟิร์มแวร์และเคอร์เนล

https://github.com/Hexxeh/rpi-update

หากคุณใช้งาน Arch Linux การอัปเดตจะเป็นส่วนหนึ่งของการอัพเดทตามปกติของคุณpacman -Syuเนื่องจากมีอยู่ในที่เก็บ RPi อย่างเป็นทางการ


ระมัดระวังเมื่อใช้ rpi-update (สำหรับเคอร์เนลที่มีเลือดไหล) - การอัปเดตของ Raspbian จะอัปเกรดเคอร์เนล: raspberrypi.stackexchange.com/questions/4355/…
Pierz

11

การปรับปรุงระบบของคุณกับรุ่นล่าสุดของซอฟต์แวร์ userland ที่คุณจำเป็นต้องเรียกใช้การอัปเดต ก่อนอัพเกรด - การปรับปรุงจริงดาวน์โหลดรายชื่อแพคเกจใหม่เพื่ออัพเกรดที่สามารถไปรับพวกเขาและติดตั้งให้ (ตามที่ได้อธิบายไว้ในเอกสาร Linux Debian ):

sudo apt-get update
sudo apt-get upgrade

นอกจากนี้คุณอาจต้องเรียกใช้การอัปเกรด distเพื่อทำการอัปเกรดที่ใหญ่กว่า:

sudo apt-get dist-upgrade

การปรับปรุงอัตโนมัติ

หากคุณต้องการทำให้กระบวนการเหล่านี้เป็นไปโดยอัตโนมัติสามารถทำได้โดยการกำหนดค่าตัวเลือกเป็นระยะของ apt Raspberry Pi มาพร้อมกับการติดตั้ง apt (ให้คำสั่ง apt-get และอื่น ๆ ) และเป็นส่วนหนึ่งของแพ็คเกจที่มีการติดตั้งสคริปต์อัตโนมัติ (ใน /etc/cron.daily/apt) เพื่อทำการอัพเดทอัตโนมัติทุกวัน (ใช้ cron daemon) สิ่งเหล่านี้อาจถูกควบคุมโดยการสร้าง (เป็นรูท) ไฟล์ /etc/apt/apt.conf.d/10periodic การใส่สิ่งต่อไปนี้ลงไป:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::AutocleanInterval "0";
APT::Periodic::Unattended-Upgrade "0";

การกำหนดค่านี้จะเรียกใช้การอัปเดตทุกวันสำหรับคุณดังนั้นเมื่อคุณเรียกใช้sudo apt-get upgradeคุณจะติดตั้งแพ็คเกจล่าสุด (โดยไม่ต้องเรียกใช้การอัปเดต apt-get ครั้งแรก)

อัพเกรดอัตโนมัติ

ในการกำหนดค่า apt ให้อัปเกรดแพ็กเกจโดยอัตโนมัติเช่นกันขั้นแรกคุณจะต้องติดตั้งแพ็กเกจใหม่เพื่อให้การอัปเกรดแบบอัตโนมัติไม่ทำงาน

sudo apt-get install unattended-upgrades

จากนั้นคุณเปลี่ยนตัวเลือกต่อไปนี้เป็น "1" ใน /etc/apt/apt.conf.d/10periodic เพื่อเปิดใช้งานการอัปเกรดอัตโนมัติ:

APT::Periodic::Unattended-Upgrade "1";

สำหรับรายละเอียดเพิ่มเติมดูความคิดเห็นภายในไฟล์ /etc/cron.daily/apt จากนั้นใส่ตัวเลือกที่เกี่ยวข้องลงในไฟล์ /etc/apt/apt.conf.d/10periodic


นี่คือคำตอบที่ถูกต้องในการอัปเดต RPI ในต้นปี 2560 ไม่จำเป็นต้องมีการอัพเดต rpi อีกต่อไป
Alec Istomin

เป็นชื่อไฟล์ที่ไม่ '02periodic' (ใน /etc/apt/apt.conf.d) - อย่างน้อยนั่นคือสิ่งที่ไฟล์ 'apt' พูดใน cron.daily - "# Create /etc/apt/apt.conf.d / 02 ไฟล์ทั่วไปเพื่อตั้งค่าของคุณ "
matthiku

ไฟล์จะถูกกำหนดหมายเลขตามลำดับความสำคัญดังนั้นอาจเป็น 02 ในระบบของคุณ (และ / หรือระบบที่ใหม่กว่า)
Pierz
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.