Logo th.androidermagazine.com
Logo th.androidermagazine.com

โครงการวันหยุดสุดสัปดาห์: สร้างการบูตของโมซิลล่าเพื่อตุ๊กแกสำหรับสมาร์ทโฟน Android ของคุณ

สารบัญ:

Anonim

ฉันไม่ได้เป็น 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 และมีขั้นตอนพื้นฐานเพียงไม่กี่ขั้นที่แม้แต่คอที่ไม่มีหนวดเคราก็สามารถติดตามได้

  1. ฉันต้องติดตั้ง Xcode ซึ่งเป็นสภาพแวดล้อมการพัฒนาสำหรับ Mac
  2. ฉันติดตั้ง Homebrew สำหรับ Mac
  3. ฉันเรียกใช้สคริปต์ที่ 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 ก็ทำสิ่งที่ดีและง่าย นี่คือสิ่งที่คุณสามารถลองด้วยตัวเอง

เราอาจได้รับค่าคอมมิชชั่นสำหรับการซื้อโดยใช้ลิงก์ของเรา เรียนรู้เพิ่มเติม.