อ่าน 3 นาที
สแครชบ็อกซ์ 2
Scratchbox 2 (มักย่อว่า " sb2 " หรือ " sbox2 ") เป็น ชุดเครื่องมือสำหรับการคอมไพล์ ข้ามแพลตฟอร์ม ออกแบบมาเพื่อทำให้ การพัฒนาแอปพลิเคชัน Linux แบบฝังตัว ง่ายขึ้น...
สแครชบ็อกซ์ 2
| สแครชบ็อกซ์ 2 | |
|---|---|
| ผู้เขียนต้นฉบับ | โนเกีย |
| นักพัฒนา | จอลลา |
| ปล่อย | 1 เมษายน 2552 |
| เวอร์ชันเสถียร | |
2.2.4 [ 1 ] / 2012-04-01 | |
| เวอร์ชันทดลองใช้งาน | |
2.3.90 [ 2 ] / 2012-09-05 | |
| เขียนเป็น | ซี |
| ระบบปฏิบัติการ | ลินุกซ์ |
| แพลตฟอร์ม | ข้ามแพลตฟอร์ม |
| พิมพ์ | สร้างระบบอัตโนมัติ |
| ใบอนุญาต | LGPL 2.1 [ 3 ] |
| เว็บไซต์ | github.com/sailfishos/scratchbox2 |
Scratchbox 2 (มักย่อว่า " sb2 " หรือ " sbox2 ") เป็น ชุดเครื่องมือสำหรับการคอมไพล์ ข้ามแพลตฟอร์มออกแบบมาเพื่อทำให้ การพัฒนาแอปพลิเคชัน Linux แบบฝังตัว ง่ายขึ้น นอกจากนี้ยัง提供ชุดเครื่องมือเต็มรูปแบบสำหรับการรวมและคอมไพล์ข้ามแพลตฟอร์มของระบบปฏิบัติการ Linuxทั้งหมดอีก ด้วย
ผู้มาก่อน
Scratchboxเป็นชุดเครื่องมือพัฒนาแอปพลิเคชันฝังตัวบนลินุกซ์ ซึ่งให้การสนับสนุนการคอมไพล์ข้ามแพลตฟอร์มสำหรับลินุกซ์ดิสทริบิวชันต่างๆ ด้วย
โครงการนี้ได้รับการพัฒนาขึ้นครั้งแรกโดยMovialและได้รับการสนับสนุนจากNokiaโดยได้รับอนุญาตภายใต้สัญญาอนุญาตสาธารณะทั่วไปของ GNU ( GPL )
Scratchbox ถูกออกแบบมาสำหรับ แพลตฟอร์มการพัฒนา Maemo ( แท็บเล็ตNokia 770 , N800 , N810 และโทรศัพท์ Nokia N900และN9 ) และรองรับสถาปัตยกรรม ARMและx86ส่วน สถาปัตยกรรม PowerPCและMIPSนั้นยังอยู่ในขั้นทดลอง
คำอธิบายการทำงาน
ในโลกของลินุกซ์ เมื่อทำการสร้างซอฟต์แวร์พารามิเตอร์หลายอย่างจะถูกตรวจจับโดยอัตโนมัติบนระบบโฮสต์ (เช่น ไลบรารีที่ติดตั้งและการกำหนดค่าระบบ) ตัวอย่างเช่น ผ่านสคริปต์ของAutotoolsเมื่อต้องการสร้างซอฟต์แวร์สำหรับเป้าหมายแบบฝังตัวโดยใช้การคอมไพล์ข้ามแพลตฟอร์ม พารามิเตอร์ที่ตรวจจับโดยอัตโนมัติส่วนใหญ่จะไม่ถูกต้อง กล่าวคือ การกำหนดค่าของโฮสต์ไม่เหมือนกับ การกำหนดค่าของ เป้าหมายแบบฝังตัวจึงเป็นที่มาของชื่อการคอมไพล์ข้ามแพลตฟอร์ม ./configure
หากไม่มี Scratchbox 2 ผู้ใช้จะต้องตั้งค่าพารามิเตอร์หลายอย่างด้วยตนเองและ"ดัดแปลง" "กระบวนการกำหนดค่า" เพื่อสร้างโค้ดปฏิบัติการที่ใช้งานได้สำหรับเป้าหมายฝังตัว
Scratchbox 2 ช่วยให้สามารถตั้งค่า สภาพแวดล้อม "เสมือน"ที่จะหลอก Autotools และโปรแกรมปฏิบัติการอื่นๆ ให้คิดว่ากำลังทำงานอยู่บนเป้าหมายฝังตัว (embedded target) พร้อมกับการกำหนดค่าของมันโดยตรง
ยิ่งไปกว่านั้น Scratchbox 2 ยังมีเทคนิคที่เรียกว่า "CPU-transparency" ซึ่งก้าวไปอีกขั้น: ด้วย "CPU-transparency" ไฟล์ปฏิบัติการที่สร้างขึ้นสำหรับ CPU ของโฮสต์หรือสำหรับ CPU เป้าหมายสามารถเรียกใช้งานได้โดยตรงบนโฮสต์ โดย sb2 จะจัดการงานในการจำลองสถาปัตยกรรม CPU ที่แตกต่างกัน หากจำเป็น เพื่อเรียกใช้ส่วนประกอบซอฟต์แวร์ที่คอมไพล์สำหรับ CPU เป้าหมาย ดังนั้นกระบวนการสร้าง จึง สามารถผสมผสานการใช้โปรแกรมที่สร้างขึ้นสำหรับสถาปัตยกรรม CPU ที่แตกต่างกันได้ ซึ่งมีประโยชน์อย่างยิ่งเมื่อกระบวนการสร้างจำเป็นต้องสร้างส่วนประกอบซอฟต์แวร์ก่อนเพื่อเป็นส่วนประกอบที่จำเป็นในการสร้างส่วนประกอบซอฟต์แวร์อื่น ตัวอย่างเช่น"Lexer"ต้องถูกสร้างขึ้นก่อนเพื่อสร้างโค้ดสำหรับ/ของส่วนประกอบซอฟต์แวร์อื่น
คลังเก็บข้อมูล Git ในอดีตของ Scratchbox 2
BinChengfei/scratchbox2ที่GitHubมีสำเนาที่ไม่เปลี่ยนแปลงของ ที่เก็บ Git ของ Scratchbox 2 เดิม อยู่ที่Gitoriousโดยมีแท็ก Git ล่าสุดคือ2.3.90วันที่ 2012-09-05lbt/scratchbox2(จนถึงแท็กpkg-mer-2.3.90-4เมื่อวันที่ 25 เมษายน 2556) และmer-packages/scratchbox2(จนถึงแท็ก2.3.90-git2เมื่อวันที่ 5 มีนาคม 2557) ซึ่งทั้งสองไฟล์อยู่ที่ GitHub แสดงสถานะระหว่างกลางก่อนการควบรวม Nemo/Merเมื่อโครงสร้างซอร์สโค้ดที่ใช้งานอยู่ของ Scratchbox 2 ถูกย้ายไปยังที่ซึ่งปัจจุบันถูกยุบไปgit.merproject.orgแล้ว- โค้ดต้นฉบับเดิมได้รับการเผยแพร่ต่อ
git.merproject.org/mer-core/scratchbox2ที่sailfishos/scratchbox2GitHub ซึ่งประกอบด้วยประวัติการคอมมิตและแท็ก Git ทั้งหมดของที่เก็บ Git ที่กล่าวมาข้างต้น
ลิงก์ภายนอก
- เอกสารประกอบการใช้งาน Scratchbox 2
- เว็บไซต์ Scratchbox 2 เวอร์ชันดั้งเดิมที่ถูกเก็บถาวรไว้ในWayback Machine (เก็บถาวรเมื่อ 2 มิถุนายน 2013)