การเปิดใช้งาน ARMv8 บน Raspberry Pi 3 B


14

ตามบทความนี้ฉันควรจะสามารถเปลี่ยนเป็น ARMv8 บน Raspberry Pi รุ่น 3B ของฉัน แต่ฉันได้รับ"หน้าจอสีรุ้ง"หลังจากเพิ่มลงconfig.txtในบรรทัด:

arm_control=0x200
  • ทำไมมันไม่ทำงาน
  • มันคุ้มค่าที่จะเปลี่ยนจาก ARMv7 เป็น ARMv8 (โดยคำนึงถึงว่าฉันยินดีที่จะรวบรวมโปรแกรม C ++ ในอนาคต)

ฉันใช้ Raspbian 9.1 "stretch" และ/prc/cpuinfoรายงาน "ARMv7 Processor rev 4 (v7l)"


คุ้มค่า? ขึ้นอยู่! ถ้าคุณต้องการที่จะม้วนเคอร์เนลของคุณเองแล้วใช่ คุณต้องการที่จะ?
เฟเบียน

@Fabian ถ้าต้องการ / คุ้มค่ากว่า - ใช่ แต่ไม่ใช่ Raspbian 9.1 "ARMv8-Ready"?
madneon

คำตอบ:


8

ฉันคิดว่าคนอื่น ๆ ที่นี่ตอบคำถามได้ดีมาก:

มันคุ้มที่จะเปลี่ยนจาก ARMv7 เป็น ARMv8

ซอฟต์แวร์ต่าง ๆ ที่อ้างถึงต้องการ ARMv8 รวมถึง CockroachDB, MongoDB (หากเข้าถึง> 2 GB), เครื่องจำลองปลาโลมาและ OpenMW อย่างไรก็ตามคุณจะสูญเสียคุณสมบัติหรือโปรแกรมอื่น ๆ ที่อาจได้รับการสนับสนุนน้อยกว่าด้วยเคอร์เนล 64 บิต (เช่นการเล่นเกมที่มี brcmEGL + dispmanx)

arm_control=0x200

ทำไมมันไม่ทำงาน

ดูเหมือนว่าคุณได้ข้ามขั้นตอนสำคัญของการคัดลอกจริงในเคอร์เนล 64 บิตและโมดูล ที่เกี่ยวข้องในบทความ eLinux ยังอาจจะออกจากวันที่เป็นค่าเริ่มต้น Raspbian ยืด bootloader จะkernel8.img บูตโดยอัตโนมัติหากปัจจุบัน

หากคุณไม่ได้สร้างเคอร์เนล 64 บิตจากซอร์สโค้ดคุณสามารถดาวน์โหลดเวอร์ชันใช้งานได้จากผู้เขียนต้นฉบับของบทความนี้ที่นี่ใน GitHub (Pi 3B เท่านั้น) ภาพของเขาใช้ Debian arm64 และถ้าคุณตั้งใจจะใช้เคอร์เนลนี้กับ Raspbian ต้องแน่ใจว่าได้คัดลอกเข้า/boot/{kernel8.img,*.dtb,overlays,config.txt,cmdline.txt}และ/lib/modules/ออกจากภาพ Pi64 คุณสามารถดาวน์โหลดและติดตั้งภาพ Raspbian ที่กำหนดไว้ล่วงหน้าดังกล่าวได้:

กลับไปที่คำถามอื่นของคุณ:

(คำนึงถึงฉันยินดีที่จะรวบรวมบางโปรแกรม C ++ ในอนาคต)

หากคุณตั้งใจที่จะใช้ Pi 3 ของคุณในการพัฒนาและทดสอบทั้งแอปพลิเคชั่น armhf และ arm64 คุณก็สามารถรัน Pi64 ได้โดยตรง ต่างจาก Raspbian แต่ก็รองรับ MultiArch และไม่ต้องการการเรียกใช้คอนเทนเนอร์ 64 บิต นอกเหนือจากระบบนิเวศ Raspbian / Debian แล้ว distros 64 บิตอื่น ๆ ได้แก่ Ubuntu Server, Gentoo, openSUSE และ Fedora (ดูความคิดเห็นของผู้อื่น)


OpenGL ไม่ได้มีการเร่งความเร็วฮาร์ดแวร์สำหรับระบบ 64 บิตใช่ไหม หรือว่าเฉพาะใน Pi?
JAB

@JAB ความคิดเห็นของฉันเฉพาะกับสถานะเคอร์เนล Pi 64 บิตแม้ว่าปัญหาจะไม่ชัดเจนในขณะนี้ แม้แต่ในระบบของฉันฉันสามารถmodprobe vc4รับ glxgears 60+ fps ในขณะที่ Minecraft Java Edition กำลังคลานอยู่ นอกจากนี้ gentoo-on-rpi3-64bit อ้างความเข้ากันได้ของ VC4 ในหัวเรื่อง ฉันได้แก้ไขโพสต์ของฉันเพื่อลบการกล่าวถึง OpenGL จนกว่าฉันจะมีความเป็นจริงมากกว่านี้
jdonald

8

มันคุ้มค่าที่จะเปลี่ยนจาก ARMv7 เป็น ARMv8 หรือไม่?

ไม่เว้นเสียแต่ว่าคุณกำลังเรียกใช้เคอร์เนลและ OS userland ที่คอมไพล์สำหรับ ARMv8; อย่างน้อยก็มีสิ่งเช่นนี้สำหรับ Pi 3 อยู่รวมถึงFedoraด้วย สำหรับคำใบ้ว่าทำไมยังไม่มีรุ่นพิเศษของ Raspbian ดูที่นี่:

Raspbian ย้ายไปที่โหมด 64- บิต

มิฉะนั้นผมคิดว่าความสัมพันธ์กันเพียง /proc/cpuinfoแต่เป็นในสิ่งที่รายงานการประมวลผลตัวเองเป็นซึ่งสามารถพบได้ผ่านทาง บางคนใช้สิ่งนี้เป็นเครื่องมือในการบอกแบบอย่างหนึ่งของไพจากอีกแบบหนึ่งแม้ว่าการฝึกจะไม่แพร่หลาย ใส่อีกวิธีหนึ่งเว้นแต่คุณจะทราบเหตุผลที่จะทำเช่นนั้นไม่มีสักวิธี


ดังนั้นไม่มีประโยชน์อื่นใดอีกแล้วที่ v8 คือ 64 บิต (และสามารถรองรับระบบปฏิบัติการ 64b ได้)?
madneon

สิ่งที่มีประโยชน์จากการเรียกใช้ระบบ 64 บิตจะต้องมีการรวบรวมซอฟต์แวร์เพื่อใช้ประโยชน์จากการเริ่มต้นด้วยเคอร์เนล (มิฉะนั้นสิ่งอื่นจะไม่ทำงาน) ดังนั้นเท่าที่ฉันทราบการเปิดใช้งานนี้จะไม่สร้างความแตกต่างใด ๆ (และจากเสียงของสิ่งต่าง ๆ อาจสร้างปัญหา)
goldilocks

Fedora แทบจะไม่คลุมเครือและได้เสนอ aarch64 ใน RPi3 เกือบจากวันที่ RPi3 เข้าสู่ตลาด ดาวน์โหลดได้ที่นี่ @madneon
Michael Hampton

@MichaelHampton ขอบคุณสำหรับการอัพเดท - ในความเป็นจริงแล้ว Fedora ที่ฉันต้องการคือ distro ฉันใช้stock arm7ใน 2's & 3's มันค่อนข้างแปลกที่ฉันพลาดไป (วิกิบอกว่าการสนับสนุน pi โดยทั่วไปนั้นมีมาตั้งแต่ v. 25 ซึ่งจะใกล้เคียงกับหนึ่งปีหลังจากที่ปล่อย 3 ครั้ง) อย่างไรก็ตามแก้ไข
goldilocks

อ่าใช่แล้วมี 23 และ 24 อนาธิปไตยสร้าง 64 แต่พวกเขาไม่เป็นทางการ
Michael Hampton

2

ณ วันนี้ดูเหมือนว่าFedoraและArchlinuxจะได้รับการสนับสนุนเป็นอย่างดี

ถ้าคุณไปทาง Arch สิ่งนี้จะช่วยคุณสร้างภาพ (สำหรับฉันบน linux / rpi3 เดิมmake linux) และสิ่งนี้จะช่วยคุณเริ่ม wifi

ในกรณีที่คุณต้องแน่ใจว่าราสเบอร์รี่ตัวใดที่คุณมีให้ใช้คู่มือนี้

นอกจากนี้ยังarm_control=0x200มีการเลิกใช้แล้วและควรจะนำมาใช้แทนในarm_64bit/boot/config.txt


1

มันคุ้มที่จะเปลี่ยนจาก ARMv7 เป็น ARMv8

ฉันเพิ่งดูเรื่องนี้ ฉันเปรียบเทียบมาตรฐานบางโปรแกรมและเห็นการเพิ่มขึ้นอย่างมีนัยสำคัญ ขุดลึกลงไปมันจะเป็นเพราะ ARMv8 เพิ่มคำสั่งใหม่สำหรับการแบ่งจำนวนเต็มที่เร็วกว่าชุดคำสั่งการชุมนุมแบบดั้งเดิม

มีเหตุผลอย่างน้อยหนึ่งข้อในการอัพเกรดเป็น v8!

ไม่งั้นฉันต้องสารภาพ ARMv8 ดูเกือบจะเหมือนกับ ARMv7

แก้ไข : ฉันบอกเรื่องโกหก ปรากฎว่าฉันกำลังพูดถึง AArch32 เมื่อโหมด 64 บิตมี AArch64 ซึ่งเป็นชุดคำสั่งที่แตกต่างกันอย่างมากตามการนำเสนอที่ยอดเยี่ยมนี้

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