Prerequites
ฮาร์ดแวร์
โฮสต์ [PC / แล็ปท็อป]: เครื่อง x86 / x86_64 AMD / Intel ใด ๆ
เป้าหมาย [Raspberry Pi 4]: Raspberry Pi 4
ซอฟต์แวร์
โฮสต์: เครื่อง Linux ใด ๆ (Ubuntu 20.04 LTS ทดสอบ)
Target: Raspberry Pi 4 Linux 32-bit OS (ทดสอบ Raspbian Bullseye Lite)
โน้ต
ในพื้นหลังจะใช้ crosscompile toolchains สําหรับ Raspberry Pi จาก abhiTronix
ขั้นตอน/การตั้งค่าสําหรับ Target Machine (Raspberry Pi)
1. Start from Scratch (ไม่บังคับ)
สําคัญ
หากคุณเพิ่งนํา Raspberry Pi ใหม่มาหรือต้องการเริ่มต้นจากศูนย์เพียงทําตาม มิฉะนั้นหากคุณมีการตั้งค่า Raspberry Pi ทํางานและ Network Ready อยู่แล้วเพียงข้ามไปที่ขั้นตอนที่ 2
โน้ต
ส่วนนี้ถือว่าคุณมี atleast 10GB SDcard สําหรับการติดตั้งระบบปฏิบัติการ Raspbian (Stretch / Buster / Bullseye) และแล็ปท็อป / พีซีสําหรับการอัปโหลด
โน้ต
หากไดรฟ์ (หรืออุปกรณ์) ที่เลือกแตกต่างจากการ์ด SD ไดรฟ์อื่นที่เลือกจะเสียหาย ดังนั้นโปรดระวัง!
1.2 ตั้งค่าเครือข่าย
ตอนนี้คุณมี Raspberry Pi และทํางานแล้วถึงเวลาเชื่อมต่อเครือข่ายของคุณด้วยวิธีใดวิธีหนึ่งต่อไปนี้:
- หากคุณมี Monitor: เชื่อมต่อกับ raspberry pi ของคุณพร้อมกับแป้นพิมพ์และเมาส์เพื่อนําทางและ ทําตามคําแนะนํานี้
- หากคุณไม่มี Monitor: ทําตามคําแนะนํานี้
2. ตั้งค่า SSH
หากคุณมี Monitor: บนเทอร์มินัล Raspberry Pi ให้พิมพ์: 'sudo raspi-config' และเมนูควรปรากฏขึ้นบนเทอร์มินัลของคุณ หากต้องการเปิดใช้งาน SSH ให้ไปที่: 'ตัวเลือกการเชื่อมต่อ' -> 'SSH' -> 'ใช่' และคลิก 'ตกลง' เพื่อเปิดใช้งาน เลือก 'เสร็จสิ้น' ในที่สุดและออก
หากคุณไม่มี Monitor: หลังจากตั้งค่าเครือข่ายหากคุณไม่มีจอภาพหรือใช้งานจากระยะไกล จากนั้นเปิดใช้งาน SSH โดยเพียงแค่นําการ์ด SD ของคุณออกและเชื่อมต่อคอมพิวเตอร์ของคุณและเพียงแค่สร้างไฟล์เปล่าที่เรียกว่า 'ssh' ในเส้นทาง '/ boot / parition' ภายในการ์ด SD ตอนนี้ใส่การ์ด SD กลับเข้าไปใน Raspberry Pi
3. เปิดเทอร์มินัล
- จากแล็ปท็อป/พีซีเครื่องอื่นที่ใช้ SSH: ในการเชื่อมต่อกับ Pi ของคุณจากคอมพิวเตอร์เครื่องอื่นให้คัดลอกและวางคําสั่งต่อไปนี้ลงในหน้าต่างเทอร์มินัล แต่แทนที่ '192.160.1.47' ด้วยที่อยู่ IP ของ Raspberry Pi
มันจะขอรหัสผ่านและหากไม่เปลี่ยนแปลงจะเป็นค่าเริ่มต้น ('ราสเบอร์รี่') และใช้ทุกครั้งที่ถูกถามssh pi@192.168.1.47
โน้ต
เป็นไปได้ที่จะกําหนดค่า Raspberry Pi ของคุณเพื่ออนุญาตการเข้าถึงจากคอมพิวเตอร์เครื่องอื่นโดยไม่จําเป็นต้องให้รหัสผ่านทุกครั้งที่คุณเชื่อมต่อ สําหรับรายละเอียดเพิ่มเติม โปรดดูที่นี่
### 4. รับสคริปต์เชื่อมต่อกับ Pi ของคุณด้วย ssh และดาวน์โหลดไฟล์ zip:
ssh pi@192.168.1.47
wget https://www.interelectronix.com/sites/default/files/scripts/qt-cross-compile-rpi4.zip
unzip qt-cross-compile-rpi4.zip
cd qt-cross-compile-rpi4
คุณยังสามารถดาวน์โหลดไฟล์ zip ผ่านเบราว์เซอร์จาก ที่นี่
ทําให้สคริปต์ qt-cross-compile-script-pi4.sh ปฏิบัติการและดําเนินการ:
sudo chmod +x qt-cross-compile-script-pi4.sh
sudo ./qt-cross-compile-script-pi4.sh
หลังจากติดตั้งแพ็คเกจที่จําเป็นทั้งหมดแล้วไดเรกทอรีที่จําเป็นจะถูกสร้างขึ้นและ symlinks จะถูกตั้งค่าอย่างถูกต้องสําคัญ
ตรวจสอบให้แน่ใจว่า Raspberry Pi ของคุณและเครื่องโฮสต์นี้ (ที่คุณรวบรวมข้าม) ต้องอยู่ในเครือข่ายเดียวกัน
ขั้นตอน/การตั้งค่าสําหรับ Host Machine (Linux Ubuntu)
สําหรับการทดสอบเราใช้เครื่องเสมือน (vmware) กับ Ubuntu 20.04 LTS เวอร์ชันที่สะอาด
1. ดาวน์โหลดไฟล์ ZIP
wget https://www.interelectronix.com/sites/default/files/scripts/qt-cross-compile-rpi4.zip
unzip qt-cross-compile-rpi4.zip
cd qt-cross-compile-rpi4
คุณยังสามารถดาวน์โหลดไฟล์ zip ผ่านเบราว์เซอร์จาก ที่นี่
2. ทําให้สคริปต์ qt-cross-compile-script-pi4.sh ปฏิบัติการและดําเนินการได้
chmod +x qt-cross-compile-script-host.sh
3. เปลี่ยนตัวแปรในสคริปต์
คุณต้องเปลี่ยนที่อยู่ IP (raspberry_ip) ของ Raspberry Pi ของคุณในสคริปต์และหากคุณเปลี่ยนผู้ใช้ (raspberry_user) และรหัสผ่าน (raspberry_pwd) ของราสเบอร์รี่
nano qt-cross-compile-script-host.sh
4. รันสคริปต์
sudo ./qt-cross-compile-script-host.sh
สคริปต์ดําเนินการดังต่อไปนี้:
- ติดตั้งแพคเกจที่จําเป็นทั้งหมด
- สร้างไดเรกทอรีที่จําเป็น ('~/RPI-QT')
- ดาวน์โหลดและแยกแหล่ง Qt
- แพทช์แหล่ง Qt
- ดาวน์โหลดและแยกคอมไพเลอร์ข้าม
- ไฟล์ rsync จาก Raspberry Pi
- ดาวน์โหลด symlinker และตั้งค่า symlinks
- กําหนดค่า Qt build
- ทําและติดตั้ง Qt build
- ไบนารี rsync Qt กับราสเบอร์รี่
ขั้นตอนสุดท้ายสําหรับเครื่องเป้าหมาย (Raspberry Pi)
อัปเดตตัวเชื่อมโยงบน Raspberry Pi
ป้อนคําสั่งต่อไปนี้เพื่ออัปเดตอุปกรณ์ที่อนุญาตให้ตัวเชื่อมโยงค้นหาไฟล์ไบนารี QT ใหม่:
echo /usr/local/qt5.15/lib | sudo tee /etc/ld.so.conf.d/qt5.15.conf
sudo ldconfig
กําหนดค่า Qt Creator สําหรับการคอมไพล์ข้าม
อ่านบล็อก การกําหนดค่า Qt-Creator บน Ubuntu 20 Lts สําหรับการรวบรวมข้ามสําหรับ การรวมไบนารีที่คอมไพล์แล้ว (โฟลเดอร์ '~/rpi-qt/qt5.15') ใน Qt Creator
ใบอนุญาตลิขสิทธิ์
ลิขสิทธิ์ © 2022 Interelectronix e.K.
ซอร์สโค้ดของโครงการนี้ได้รับอนุญาตภายใต้ใบอนุญาต GPL-3.0
กิตติกรรมประกาศ
- เอกสารนี้ได้รับแรงบันดาลใจจาก คําแนะนําทีละขั้นตอนสําหรับการรวบรวมเฟรมเวิร์ก Qt ล่าสุดสําหรับ Raspberry Pi ขอบคุณมากสําหรับ@abhiTronix
- ขอบคุณ กรอบ QT สําหรับการจัดหาไฟล์ต้นฉบับ