สารบัญ:
- เดี๋ยวก่อน - ทำไมคุณถึงทำแบบนี้
- ลิงค์ที่คุณต้องการ
- ตกลง - ตอนนี้คุณกำลังทำอะไรอยู่
- แล้วคุณทำได้อย่างไร
- เวลาที่ใช้แฟลช
- รวบรวมมันเข้าด้วยกันแล้วคุณได้อะไรมา?
- บรรทัดล่างสุด
ฉันไม่ได้เป็น coder ฉันเพิ่งรู้ G จาก G ot และฉันจำไม่ได้ว่ากี่ครั้งแล้วที่ฉันสงสัยว่าทำไม adb ไม่ทำงานเพียงค้นพบว่าฉันลืมเปิดการดีบัก USB - อีกครั้ง ฉันมี Linux บนกล่องที่นี่ แต่ฉันจะใช้มันเมื่อฉันอยู่ในอารมณ์ที่จะโยนคำถามครึ่งโหลที่ Jerry ในช่วงห้านาที
นอกจากนี้ฉันไม่มีคอ
ดังนั้นในโลกกว้างของกีฬาฉันกำลังทำการดาวน์โหลด Xcode บน MacBook Air ของฉัน (ไม่เป็นไรจนกว่าฤดูใบไม้ผลินี้ฉันจะได้เป็นผู้ชาย Windows ตลอดชีวิตของฉัน) การซิงค์จาก Git repos การรวบรวมรหัสและการกระพริบระบบปฏิบัติการ ฉันไม่สนใจจนถึงตอนนี้ - โดยเฉพาะอย่างยิ่งเนื่องจากฉันใช้เวลา 24 ชั่วโมงในการจัดการกับเด็กป่วยกังวลเกี่ยวกับเพื่อนที่ป่วยและเตรียมรับพายุเฮอริเคนที่น่าจะเป็น
เห็นได้ชัดว่าฉันมีปัญหากับการกระพริบ และนั่นคือวิธีที่ฉันเพิ่งพบว่าตัวเองกำลังวางระบบปฏิบัติการที่มีประสบการณ์ของ Mozilla หรือที่เรียกว่า "Gecko" บน Samsung Nexus S
ยินดีต้อนรับสู่โครงการ Boot to Gecko
อย่างที่ฉันพูดฉันไม่ใช่คนทำรหัส แต่ฉันชอบยุ่งกับสิ่งต่าง ๆ และฉันก็พยายามทำสิ่งนี้ตามที่ลูกสาวตัวน้อยของฉันชอบพูดทั้งหมด … โดย … ตัวฉันเอง … และคุณก็สามารถทำได้เช่นกัน
เดี๋ยวก่อน - ทำไมคุณถึงทำแบบนี้
นี่เป็นครั้งแรกในซีรีส์ที่เราจะเรียกโปรเจคสุดสัปดาห์ของเรา สิ่งที่คุณอาจไม่พยายาม แต่ถ้าเราทำได้คุณก็ทำได้
ที่กล่าวว่ามีสองสามสิ่งที่ฉันจะไม่ทำเพื่อคุณที่นี่ นี่ไม่ใช่รายละเอียดเกี่ยวกับวิธีการสร้างและแฟลชโครงการ Boot to Gecko ฉันจะให้ประสบการณ์ที่กว้างขวางแก่คุณ Mozilla มีเอกสารที่ยอดเยี่ยมและคุณควรอ่านถ้าคุณจะลอง (ฉันอาจจะล้มเหลวในการแปลทุกอย่างถูกต้อง)
อีกอย่างที่ฉันจะไม่ทำก็คือชี้ให้คุณไปที่งานสร้างของคนอื่น คุณสามารถค้นหาด้วยตัวคุณเอง สิ่งที่ฉันต้องการจะทำจริง ๆ แล้วรวบรวมสิ่งนี้ด้วยการผันตัวเองไปยังโทรศัพท์ของฉันเอง
และนั่นคือสิ่งที่ฉันทำ
ลิงค์ที่คุณต้องการ
Google คือเพื่อนของคุณ การค้นหา "B2G" อย่างง่ายพบทุกสิ่งที่ฉันต้องการ
- Mozilla - Boot to Gecko (สำหรับคำอธิบายที่ไม่ใช่คนโง่ของ B2G)
- B2G บน Mozilla Developer Network (นี่คือจุดเริ่มต้นของการทำงานจริง)
- การสร้างและติดตั้ง Boot to Gecko
ตกลง - ตอนนี้คุณกำลังทำอะไรอยู่
เพื่อสร้างตั้งแต่เริ่มต้นตาม Mozilla คุณต้องมีเครื่อง Mac หรือ Linux ฉันมีทั้งที่นี่ แต่คำแนะนำสำหรับ Mac นั้นดูง่ายขึ้น (ไม่มีความละอายเลยใช่มั้ย) แต่นั่นก็สมเหตุสมผลเช่นกัน มีโอกาสเกิดขึ้นหากคุณใช้งาน Linux คุณสามารถติดตั้งเครื่องมือทั้งหมดที่อยู่ในรายการ Mozilla ฉัน? ไม่ค่อยเท่าไหร่. ดังนั้น Mac มันเป็น
มันง่ายอย่างที่คิดสำหรับฉัน: ติดตั้ง Xcode จาก Mac App Store จากนั้นเปิดใช้ Terminal และเรียกใช้คำสั่งสองสามคำ ฉันได้ทำการซ่อมแซมใน Android ให้เพียงพอแล้ว Mozilla มีสคริปต์ที่ยอดเยี่ยมที่ติดตั้งทุกสิ่งที่คุณต้องการ จากนั้นคุณซิงค์ที่เก็บ git รวบรวมรหัสและแฟลชไปยังอุปกรณ์ Android ของคุณเช่น ROM ที่กำหนดเองอื่น ๆ (และ Mozilla ก็มีสคริปต์สำหรับส่วนสุดท้ายเช่นกันทำให้สิ่งต่าง ๆ ง่ายยิ่งขึ้น)
เท่าที่อุปกรณ์เป้าหมายที่คุณกำลังสร้างคุณมีตัวเลือก Mozilla แบ่งออกเป็นสามระดับ:
- Tier 1: Otoro (อุปกรณ์ dev บางประเภทที่ Mozilla ใช้); PandaBoard; ARM หรือเครื่องจำลอง x86; หรือเดสก์ท็อป ไม่ใช่สิ่งที่ฉันกำลังมองหา
- ชั้นที่ 2: Samsung Nexus S และ Nexus S 4G ฉันรู้สึกถึงธีมทั่วไปที่นี่ โทรศัพท์ที่ปลดล็อคได้อย่างง่ายดายและ Mozilla บอกว่าสิ่งเหล่านี้กำลังรับการเปลี่ยนแปลง "ที่สอง" ฉันมี Nexus S วางอยู่รอบ ๆ นั่นคือสิ่งที่ฉันไป
- ชั้น 3: Samsung Galaxy S2 และ Galaxy Nexus ผู้คนกำลังซ่อม แต่เทียร์ 2 เป็นช็อตที่ดีที่สุดของคุณ
นั่นคือการต่อสู้ครึ่งหนึ่ง ตอนนี้เพื่อดาวน์โหลดรวบรวมและแฟลช B2G
มีทางเลือกสองทางที่นั่นเช่นกัน หนึ่งคือการสร้างบนกล่อง Linux Mozilla สะกดเครื่องมือที่จำเป็นทั้งหมดที่คุณต้องการ แต่มันไม่แสดงให้คุณเห็นว่าจะรับได้ที่ไหน ฉันเป็น Linux n00b นั่นเป็นสิ่งที่ไม่ดี สำหรับส่วนที่เหลือของ nerds ส่วนใหญ่ที่ใช้หนึ่ง distro หรืออื่นมันควรจะน้อยกว่า
ตัวเลือกอื่นคือการสร้างบน Mac และ Mozilla ทำให้มันง่ายอย่างน่าประหลาดใจ
แล้วคุณทำได้อย่างไร
อีกครั้งฉันทำสิ่งนี้บน Mac และมีขั้นตอนพื้นฐานเพียงไม่กี่ขั้นที่แม้แต่คอที่ไม่มีหนวดเคราก็สามารถติดตามได้
- ฉันต้องติดตั้ง Xcode ซึ่งเป็นสภาพแวดล้อมการพัฒนาสำหรับ Mac
- ฉันติดตั้ง Homebrew สำหรับ Mac
- ฉันเรียกใช้สคริปต์ที่ Mozilla ให้มาซึ่งจะตรวจสอบข้อกำหนดเบื้องต้นอื่น ๆ และแจ้งให้ฉันติดตั้งหากจำเป็น
ณ จุดนี้ฉันจะทราบว่าคำแนะนำของ Mozilla ดูเหมือนจะบ่งบอกว่าสิ่งที่ฉันต้องทำคือติดตั้ง Xcode แล้วเรียกใช้สคริปต์ ส่วนที่เหลือจะดูแลตัวเอง แต่ฉันต้องติดตั้ง Homebrew ด้วยตัวเองก่อน ฉันไม่แน่ใจว่าเป็นเพราะสิ่งที่ฉันทำ (หรือไม่) ทำหรือทำอะไร แต่นั่นเป็นวิธีการทำงานสำหรับฉัน
ถัดไป: ดึงรหัสทั้งหมดจาก Git นั่นง่ายเหมือนการคัดลอกและวางอีกสองสามบรรทัดในเทอร์มินัล เย็น.
จากนั้นรวบรวม
ตอนนี้สองขั้นตอนสุดท้ายนี้ใช้เวลาสักครู่ ฉันไม่แน่ใจว่านานเท่าไหร่ ฉันออกไปและทำสิ่งต่างๆ ทำกาแฟบ้าง วิ่งไปทำธุระบางอย่าง เขียนหนังสือ มันใช้เวลาสักครู่บน MacBook Air ตัวน้อยของฉัน ฉันคาดว่า นี่ไม่ใช่โครงการที่ยากเกินไป แต่ก็ไม่เร็วเกินไป ฉันปล่อยให้สิ่งต่าง ๆ วิ่งตามเส้นทางของพวกเขาและจบลงด้วยภาพที่สามารถเข้าถึงได้ในไดเรกทอรี "B2G" ใหม่ของ MBA ของฉัน
เวลาที่ใช้แฟลช
ดังนั้น. ถึงเวลาคว้า Nexus S แล้วคุณจะต้องมี bootloader ที่ปลดล็อคแน่นอนและต้องใช้ Android 4.0 Ice Cream Sandwich (Mozilla ไม่ได้พูดอะไรเกี่ยวกับ Jelly Bean แต่ฉันได้มันมาทำงานด้วยเช่นกันไม่น่าแปลกใจเกินไป)
เปิดโทรศัพท์เข้าสู่โหมด fastboot และเสียบเข้าไปไม่มีอะไรที่เรายังไม่เคยทำมาก่อนด้วย Android ขวา /
ตอนนี้อีกครั้ง Mozilla ทำให้สิ่งนี้ง่ายมาก ฉันไม่ได้ใส่ใจกับการแก้ไขตัวแปรพา ธ ของฉันดังนั้นโดยปกติ adb และ fastboot จะอยู่ภายในโฟลเดอร์เดียวของ Android SDK ของฉันและนั่นก็เป็นเช่นนั้น ฉันสามารถจัดการกับที่ Mozilla ได้รวมสิ่งต่างๆไว้อย่างชาญฉลาด แต่สิ่งที่ดีกว่าคือมันสร้างสคริปต์เล็กน้อยที่ทำทุกอย่าง ตรวจสอบว่า bootloader ถูกปลดล็อกหรือไม่ มันจะลบพาร์ติชั่นทั้งหมดที่จำเป็นในการลบ จากนั้นจะกะพริบภาพใหม่ สมบูรณ์บนมือ นั่นไม่ใช่สิ่งที่ฉันทำเองไม่ได้ แต่ฉันไม่ทำอะไรเลยถ้าไม่ขี้เกียจเป็นครั้งคราว ไชโย Mozilla
รีบูทและบูม เราได้บูตกับ Gecko แล้ว
รวบรวมมันเข้าด้วยกันแล้วคุณได้อะไรมา?
และสำหรับผลของแรงงานของเรา
บรรทัดล่างสุด
ดังนั้นนั่นก็คือ Mozilla's Boot to Gecko บน Samsung Nexus S ไม่ใช่โครงการเล็ก ๆ ใช้เวลาสองสามชั่วโมง Nexus S ที่ทำงานและที่ว่างบนฮาร์ดไดรฟ์ แต่มันก็ไม่ได้เก็บภาษีในสมองมากเกินไป เมื่อคุณติดตั้งลงบนโทรศัพท์คุณสามารถสำรองข้อมูลโดยใช้การกู้คืน Android ที่กำหนดเองจากนั้นมาและไปตามที่คุณต้องการ
ฉันให้ 6 ใน 10 นี้ในระดับความยากเพียงเพราะฉันไม่รู้จริงๆว่าฉันกำลังทำอะไรเมื่อมันมาถึงการคอมไพล์โค้ด แต่ฉันทำตามคำแนะนำได้ค่อนข้างดีและ Mozilla ก็ทำสิ่งที่ดีและง่าย นี่คือสิ่งที่คุณสามารถลองด้วยตัวเอง
เราอาจได้รับค่าคอมมิชชั่นสำหรับการซื้อโดยใช้ลิงก์ของเรา เรียนรู้เพิ่มเติม.