Linux อะไรสำหรับโทรศัพท์ ปรับแต่งทุกสิ่งและทุกคนให้เหมาะกับคุณ เปรียบเทียบ “Linux” และเคอร์เนล Linux

ครั้งแรกในรัสเซีย การตรวจสอบโดยละเอียดระบบปฏิบัติการมือถือใหม่

เมื่อเร็วๆ นี้เราได้แจ้งให้คุณทราบเกี่ยวกับระบบปฏิบัติการทางเลือกที่นำเสนอในงาน Mobile World Congress 2015 รวมถึง Ubuntu Touch ในบรรดาระบบปฏิบัติการมือถือทั้งหมด นี่เป็นระบบปฏิบัติการเดียวที่เราไม่ได้รู้จักจนกระทั่งเมื่อไม่นานมานี้ เนื่องจากไม่มีอุปกรณ์เชิงพาณิชย์บนเครื่องเลย แต่ในที่สุดสมาร์ทโฟน BQ Aquaris E4.5 ที่ได้รับการสั่งซื้อย้อนกลับไปในเดือนกุมภาพันธ์ก็มาถึงกองบรรณาธิการของเราซึ่งเป็นสมาร์ทโฟนเครื่องแรกบน Ubuntu Touch ตอนนี้เราสามารถปิดช่องว่างและศึกษาระบบปฏิบัติการนี้โดยละเอียดได้ (สมาร์ทโฟนจะทุ่มเทเนื้อหาแยกต่างหาก)

ก่อนอื่น ประวัติโดยย่อ (แต่น่าทึ่งมาก) ของ Ubuntu Touch Ubuntu เป็นระบบปฏิบัติการ Linux ที่ได้รับความนิยมมากที่สุดสำหรับเดสก์ท็อปในขณะนี้ (และเป็นเวลาหลายปีติดต่อกัน) มันกำลังได้รับการพัฒนาโดย Canonical ซึ่งนำโดยมหาเศรษฐี (และอีกนัยหนึ่งคือ Mark Shuttleworth นักท่องเที่ยวอวกาศรายใหญ่อันดับสองของโลก) เช่นเดียวกับ Microsoft วันหนึ่ง Canonical ก็รู้สึกตัวและตระหนักว่าเป็นการดีที่จะประกาศตัวเองในตลาดมือถือ โดยไม่ จำกัด ตัวเองอยู่เพียงระบบปฏิบัติการเดสก์ท็อป

แต่ Canonical ไม่เหมือนกับ Microsoft ตรงที่ไม่รวยพอที่จะลงทุนหลายพันล้านดอลลาร์ในธุรกิจนี้และซื้อ ผู้ผลิตที่ทรงพลังสมาร์ทโฟนอย่างโนเกีย ดังนั้นเส้นทางตั้งแต่ระบบปฏิบัติการแรกที่สร้างขึ้นไปจนถึงการเปิดตัวขั้นสุดท้ายบนอุปกรณ์เชิงพาณิชย์จึงกลายเป็นเรื่องยุ่งยากมาก เมื่อต้นปี 2013 ระบบปฏิบัติการได้รับการสาธิตในงาน Mobile World Congress ในบาร์เซโลนา ใช้เป็นเครื่องสาธิต แท็บเล็ตกูเกิลสมาร์ทโฟน Nexus 10 และ Google Nexus 4 ซึ่งติดตั้งระบบปฏิบัติการมือถือ Ubuntu แทน Android

อย่างไรก็ตาม เพื่อหลีกเลี่ยงความเข้าใจผิดเพิ่มเติม เราจะทำการจองโดยเราจะเรียกว่า Ubuntu Touch ในช่วงเวลาต่างๆ Canonical เรียกมันว่า Ubuntu Phone OS, Ubuntu สำหรับสมาร์ทโฟนและ Ubuntu Touch... ชื่อหลังนี้เป็นชื่อที่ถูกต้องที่สุดเนื่องจากสะท้อนถึงความสามารถของระบบปฏิบัติการในการทำงานทั้งบนสมาร์ทโฟนและแท็บเล็ต แต่ในขณะเดียวกันก็แสดงความแตกต่างพื้นฐานจากเดสก์ท็อป Ubuntu (ซึ่งสามารถติดตั้งบนแท็บเล็ตที่ใช้โปรเซสเซอร์ Intel x86 ได้)

หลังจากสาธิต Ubuntu Touch ที่งาน MWC ทาง Canonical ได้เผยแพร่เวอร์ชันเริ่มต้นที่ผู้ที่ชื่นชอบสามารถลองติดตั้งบนสมาร์ทโฟนและแท็บเล็ตบางรุ่นได้ แต่ความทะเยอทะยานของ Canonical นั้นยิ่งใหญ่กว่ามาก: บริษัทไม่เพียงต้องการสร้างการจำหน่าย Linux อื่นเท่านั้น แต่ยังต้องการเข้าสู่ตลาดสมาร์ทโฟนด้วยผลิตภัณฑ์ของตัวเองด้วย ใช่ ไม่ใช่แค่สมาร์ทโฟน แต่เป็นสมาร์ทโฟนระดับซูเปอร์ซึ่งมีความจุ 4 GB แรมเมื่อเชื่อมต่อกับจอภาพ สามารถเปลี่ยนให้เป็นคอมพิวเตอร์เต็มรูปแบบที่ใช้เดสก์ท็อป Ubuntu ได้

โมเดลนี้เรียกว่า Ubuntu Edge และอยู่ใน IndieGoGo อย่างไรก็ตาม Canonical ตั้งเป้าหมายที่ไม่สมจริงโดยสิ้นเชิง: 32 ล้านดอลลาร์ ซึ่งไม่มีใครขอได้มากขนาดนั้นผ่านบริการระดมทุน แม้ว่าชุมชน Linux จะมีความกระตือรือร้นอย่างมากและการบริจาคจำนวนมากจากองค์กรไอทีหลายแห่ง แต่เงินที่ได้รับทั้งหมดจะต้องคืนให้กับผู้บริจาค และโครงการ Ubuntu Edge ก็ถูกยกเลิก

ความล้มเหลวนี้ทำให้ Canonical ต้องเปลี่ยนกลยุทธ์และเรียนหลักสูตรเกี่ยวกับสมาร์ทโฟนของบุคคลที่สาม ยิ่งกว่านั้น ในส่วนของงบประมาณ ในงาน MWC 2014 คุณจะได้เห็นต้นแบบของสมาร์ทโฟนเหล่านี้ ในเวลาเดียวกันก็มีการประกาศเริ่มสั่งจองแท็บเล็ต Intermatrix U7 ล่วงหน้า อนิจจา. จากนั้นก็มีความพยายามอีกครั้ง - ผู้ที่ชื่นชอบพยายามระดมเงินใน IndieGoGo สำหรับแท็บเล็ต UbuTab ที่มีสองระบบปฏิบัติการ - Ubuntu Touch และ Android แม้ว่าพวกเขาจะขอเงินทุนน้อยกว่า Canonical หลายเท่าสำหรับ Ubuntu Edge ที่โด่งดัง แต่พวกเขาก็ยังคงไม่ระดมทุน จริงอยู่ แท็บเล็ตมีวางจำหน่ายบนเว็บไซต์ UbuTab และการส่งมอบคาดว่าจะเริ่มในเดือนเมษายน อย่างไรก็ตาม ดูเหมือนว่ายังไม่มีใครเคยเห็นแท็บเล็ตเครื่องนี้ในชีวิตจริง ไม่ใช่ในงาน MWC 2015 (เราบอกคุณเกี่ยวกับจุดยืนของ Ubuntu ในนิทรรศการนี้)

โดยทั่วไปแล้วอุปกรณ์เชิงพาณิชย์เครื่องแรกและจนถึงขณะนี้ในระบบปฏิบัติการนี้คือ BQ Aquaris E4.5 เราใช้มันเพื่อศึกษาระบบปฏิบัติการ

อินเทอร์เฟซ

บางทีองค์ประกอบที่สำคัญที่สุดของ Ubuntu สำหรับผู้ใช้ทั่วไปก็คืออินเทอร์เฟซซึ่งมีตรรกะที่แตกต่างจากของ Android หรือ iOS ประการแรกการโต้ตอบกับอินเทอร์เฟซทั้งหมดดำเนินการโดยใช้การปัด (โดยทั่วไปไม่มีปุ่มโฮมอยู่ที่นี่) ประการที่สองเดสก์ท็อปของระบบปฏิบัติการไม่มีไอคอนแอปพลิเคชันเช่นเดียวกับใน iOS และบางส่วนใน Android แต่เป็นชุดของวิดเจ็ตที่อัปเดตแบบไดนามิก ประการที่สามสำหรับ เข้าถึงได้อย่างรวดเร็วเพื่อคีย์หรือ เปิดโปรแกรมใช้แถบเมนูแนวตั้งทางด้านซ้าย ซึ่งนำมาจากเดสก์ท็อป Ubuntu อย่างชัดเจนด้วยอินเทอร์เฟซ Unity

เพื่อการเปรียบเทียบ นี่คือภาพหน้าจอของเดสก์ท็อป Ubuntu (แฟรกเมนต์)

อย่างไรก็ตาม ไม่มีเดสก์ท็อปเหมือนกับพื้นที่ว่างบางประเภทใน Ubuntu Touch

Ubuntu Touch รองรับการทำงานหลายอย่างพร้อมกัน หากต้องการสลับระหว่างแอปพลิเคชัน ให้ปัดจากขอบขวาของหน้าจอไปทางซ้าย คุณสามารถลบแอปพลิเคชันที่ไม่จำเป็นออกจากแกลเลอรีภาพขนาดย่อ 3 มิติที่เปิดขึ้นหลังจากท่าทางนี้ (ด้วยการปัดแนวตั้ง)

ท่าทางอื่น - ปัดแนวตั้งจากขอบด้านบนของหน้าจอ - เปิดแผงการแจ้งเตือนและ การตั้งค่าด่วน- โดยทั่วไปเช่นเดียวกับใน Android ชุดการตั้งค่าด่วนมีความแตกต่างเล็กน้อย แต่โดยรวมแล้วถือเป็นมาตรฐาน

โต๊ะ

แต่กลับไปที่เดสก์ท็อปซึ่งมีเจ็ดหน้าจอ รายการแรกเรียกว่า "วันนี้" และทำหน้าที่เป็นผู้รวบรวมเนื้อหาที่สำคัญที่สุดจากอีกหกรายการที่เหลือ ที่นี่เราจะดูวันที่ ข้อมูลเกี่ยวกับเวลาพระอาทิตย์ขึ้นและพระอาทิตย์ตก สภาพอากาศ (สำหรับวันปัจจุบันและวันถัดไป) กิจกรรมในปฏิทิน ข้อความล่าสุด การโทร งาน หัวข้อยอดนิยมบนทวิตเตอร์ มันน่าทึ่งมากที่ การปรับแต่งอย่างละเอียดหน้าจอวันนี้และหน้าจออื่นๆ ไม่อยู่ที่นี่ นั่นคือสมมติว่าถ้าฉันต้องการรับข้อมูลสภาพอากาศจากผู้ให้บริการรายอื่นนอกเหนือจากผู้ให้บริการที่ใช้เป็นค่าเริ่มต้นก็ไม่สามารถทำอะไรได้

หน้าจอที่สองเรียกว่า NearBy ซึ่งควรแปลเป็น "Nearby" (แปลกที่ใน Russified OS หน้าจอเรียกว่าเป็นภาษาอังกฤษ) การเปลี่ยนระหว่างหน้าจอซึ่งเป็นไปตามตรรกะนั้นทำได้โดยการปัดแนวนอน

ที่นี่เราเห็นสภาพอากาศอีกครั้ง (ไม่ชัดเจนว่าทำไมจึงถูกวางไว้ที่ด้านบนสุดของทั้งสองหน้าจอ) มาภาพถ่ายจาก Flickr บทความ Wikipedia ปัจจุบัน (แม้ว่าประโยชน์ของสิ่งนี้จะเป็นที่น่าสงสัย แต่ Wikipedia ยังไม่ใช่แหล่งข้อมูลข่าว) และรายชื่อคอนเสิร์ตที่กำลังจะมีขึ้น ที่ด้านบนสุดจะมีข้อความว่า “คุณรู้สึกอย่างไร” (เห็นได้ชัดว่าได้รับแรงบันดาลใจจาก “คุณกำลังคิดอะไรอยู่?” ของ Facebook) พูดตามตรงเนื้อหาของ NearBy ค่อนข้างน่าสงสัยแม้ว่าแนวคิดในการนำเสนอข้อมูลที่เกี่ยวข้องกับตำแหน่งของผู้ใช้จะมีแนวโน้มดีก็ตาม

ในที่สุดบนหน้าจอที่สามเราจะเห็นรายการแอปพลิเคชันที่ติดตั้ง

ไม่สามารถพูดได้ว่ารูปร่างและสไตล์ของไอคอนคล้ายกับเดสก์ท็อป Ubuntu แต่นี่เป็นไอคอน iOS และ OS X เวอร์ชันล้อเลียนแบบเด็กๆ เมื่อสองปีที่แล้ว ตัวอย่างเช่นให้ความสนใจกับไอคอน "เบราว์เซอร์", "เพลง", "ผู้ติดต่อ", "เครื่องคิดเลข", "การตั้งค่าระบบ"

สำหรับชุดแอปพลิเคชันที่ติดตั้งไว้ล่วงหน้าในอีกด้านหนึ่งมีสิ่งที่ไม่จำเป็นค่อนข้างมาก (เช่นแอปพลิเคชันหนังสือพิมพ์สเปน) และในทางกลับกันสิ่งพื้นฐานที่สุดขาดหายไป - ก่อนอื่นเลย ไคลเอนต์อีเมล แต่เราจะพูดถึงแอปพลิเคชันที่ติดตั้งไว้ล่วงหน้าในภายหลัง แต่ตอนนี้เรากลับมาศึกษาหน้าจอระบบปฏิบัติการและคุณลักษณะอินเทอร์เฟซกันดีกว่า ให้เราสังเกตข้อเสียเปรียบร้ายแรงที่เกี่ยวข้องกับอินเทอร์เฟซโดยเฉพาะ - ไม่สามารถเปลี่ยนตำแหน่งของไอคอนหรือรวมเข้าด้วยกันได้ เว้นแต่ว่าคุณสามารถเลือกแสดงหมวดหมู่แอปพลิเคชันได้ (เช่น ยูทิลิตี้หรือเสียง/วิดีโอ) เห็นได้ชัดว่าสิ่งนี้จะช่วยได้เมื่อมีไอคอนจำนวนมากและการค้นหาไอคอนที่ถูกต้องจะเป็นปัญหาทีเดียว

หน้าจอที่สี่คือเครื่องรวบรวมข่าว ที่นี่เราจะเห็นส่วน "พาดหัวข่าว" พร้อมรูปภาพตัวอย่างขนาดใหญ่ (ฟีดเลื่อนในแนวนอน) ตามด้วย "ข่าวในประเทศ", "ข่าวต่างประเทศ", "กีฬา", "เทคโนโลยี", "การเงิน"

ดูดีทีเดียวและคงจะสะดวกถ้าสามารถกำหนดค่าผู้รวบรวมข่าวให้ทำงานกับแหล่งข้อมูลภาษารัสเซียได้ จนถึงขณะนี้ ไม่เพียงแต่มีความสามารถในการปรับแต่งประเทศเท่านั้น (ซึ่งดูแปลกเป็นพิเศษในบริบทของส่วน "ข่าวภายในประเทศ") เท่านั้น แต่ยังมีความสามารถในการเลือกแหล่งข้อมูลอื่นอีกด้วย สิ่งเดียวที่สามารถทำได้คือยกเลิกการเลือกแหล่งที่มาที่แสดงไว้ที่นี่ ดังนั้นจึงไม่รวมสื่อบางส่วนจากการเลือก

หน้าจอที่ห้าคือ "เพลง" ที่นี่เราจะดูอัลบั้มจาก 7digital คอนเสิร์ตที่กำลังจะมีขึ้นจาก Songkick เพลงยอดนิยมจาก Grooveshark และมิวสิควิดีโอยอดนิยมจาก YouTube

เช่นเดียวกับข่าวสาร คุณไม่สามารถเปลี่ยนแปลงรายการทรัพยากรได้ แต่ ปัญหาหลักไม่ใช่แม้แต่สิ่งนี้ แต่เป็นความจริงที่ว่าคุณไม่สามารถฟังเพลงหรือดูวิดีโอได้ทันที เมื่อคุณคลิกที่เนื้อหา Grooveshark หรือ YouTube คุณจะถูกเปลี่ยนเส้นทางไปยังไซต์เหล่านั้นในเวอร์ชันมือถือ เรื่องราวคล้ายกับเนื้อหาของหน้าจอถัดไป - "วิดีโอ" ที่นี่เราเห็นภาพขนาดย่อของวิดีโอจาก YouTube และ Vimeo แต่การคลิกที่ภาพเหล่านั้นจะเป็นการเปิดเบราว์เซอร์

จริงอยู่ ที่นี่ คุณยังสามารถดูวิดีโอที่คุณถ่ายด้วยกล้องสมาร์ทโฟนของคุณได้ และในหน้าจอถัดไป - "รูปภาพ" - คุณจะเห็นแกลเลอรีรูปภาพที่ถ่ายด้วยสมาร์ทโฟนของคุณ นอกจากนี้เรายังพบข้อเสนอนี้ในการเพิ่มบัญชี Instagram และ Facebook เพื่อให้แสดงรูปภาพจากพวกเขาด้วย และนั่นจะเป็นโอกาสที่มีประโยชน์จริงๆ ก็จะมี. ถ้ามันได้ผล เราเพิ่มบัญชี - และไม่มีอะไรเกิดขึ้น มหากาพย์ล้มเหลว ขอบคุณ แม้ว่าคุณจะสามารถดูภาพถ่ายจาก Flickr ได้ แต่จะมีเฉพาะภาพขนาดย่อที่แสดงเท่านั้น

มาเพิ่มแมลงวันอีกสองตัวในครีมให้กับเรื่องราวเกี่ยวกับหน้าจอ ประการแรก คุณสามารถย้ายจากที่หนึ่งไปอีกที่หนึ่งตามลำดับเท่านั้น นั่นคือคุณไม่สามารถไปตั้งแต่คนแรกไปจนถึงคนที่ห้าได้ โปรดปัดสี่ครั้ง (และหน้าจอก็ช้าลงเช่นกัน) ประการที่สอง หากคุณไปจากบางหน้าจอไปยังหน้าอินเทอร์เน็ตหรือไปยังแอปพลิเคชันใด ๆ คุณจะไม่กลับไปที่หน้าจอเดิม - ไปที่หน้าจอ "วันนี้" แรกเท่านั้น ซึ่งคุณจะต้อง "ปัด" อีกครั้งจนกว่าคุณจะได้รับ ไปยังหน้าที่ต้องการ

สิ่งนี้รวมถึงการไม่สามารถเติมแหล่งที่มาบนหน้าจอได้อย่างสมบูรณ์ตามดุลยพินิจของคุณและการขาดการตั้งค่าที่ยืดหยุ่น (เช่นคุณไม่สามารถปรับการแสดงเนื้อหาได้ในทางใดทางหนึ่ง) ถือเป็นข้อเสียเปรียบหลักของเดสก์ท็อป Ubuntu Touch

การใช้งาน

ตอนนี้เรามาดูกันว่ามีแอปพลิเคชั่นอะไรบ้างบนอุปกรณ์และใน Ubuntu Store มีการติดตั้งแอปพลิเคชันไว้ล่วงหน้าบนสมาร์ทโฟนทั้งหมด 25 รายการ ข่าวดีก็คือว่าส่วนใหญ่สามารถลบได้ (ไม่เหมือนกับสถานการณ์ใน Android และ iOS) ไม่สามารถลบได้ - เฉพาะส่วนที่มีความสำคัญต่อการทำงานของอุปกรณ์และไม่สามารถถูกแทนที่ได้ ตัวอย่างเช่น "โทรศัพท์", "ข้อความ", "ผู้ติดต่อ", "เบราว์เซอร์", "การตั้งค่าระบบ", " ไดรฟ์ภายนอก"... ในขณะเดียวกัน ก็สามารถถอนการติดตั้งแผนที่ แอปพลิเคชันสภาพอากาศ แม้แต่เครื่องเล่นเพลงและโปรแกรมดูภาพถ่ายได้

หากต้องการถอนการติดตั้งคุณต้องกดไอคอนค้างไว้หลังจากนั้นหน้าร้านจะเปิดขึ้นซึ่งจะมีปุ่ม "ลบ" อยู่แล้ว เป็นเรื่องแปลกที่พวกเขาไม่ได้คิดบางอย่างเช่นกากบาทใน iOS หรือเชลล์ Android ทางเลือก แต่ตัวเลือกนี้ก็สะดวกกว่า Android ที่เป็นค่าเริ่มต้นเช่นกัน

สำหรับแอปพลิเคชัน OS หลักๆ แถบร้านค้าที่แสดงชื่อนักพัฒนาจะแสดง Ubuntu แอพหลักนักพัฒนา แต่ไม่ใช่ว่าแอปพลิเคชัน Ubuntu Core App Developers ทั้งหมดจะติดตั้งไว้ล่วงหน้า ตัวอย่างเช่นในร้านค้าเราสามารถค้นหาสิ่งที่จำเป็นจริงๆ เช่น Terminal, Document Viewer, ตัวจัดการไฟล์- เหตุใดจึงไม่รวมอยู่ในแพ็คเกจมาตรฐาน (แต่มีบางสิ่งที่ไม่จำเป็นเลย) ยังคงเป็นปริศนา

ให้เราทราบรายละเอียดที่น่าสนใจอีกประการหนึ่ง: ขอเสนอให้ใช้โทรเลขของ Pavel Durov เป็นผู้ส่งสาร ยิ่งไปกว่านั้น หากเราค้นหาใน Viber หรือ WhatsApp Store เราจะยังคงเห็น Telegram แต่นั่นไม่ใช่ทั้งหมด Telegram ยังผสานรวมเข้ากับระบบปฏิบัติการได้ค่อนข้างลึก โดยเฉพาะอย่างยิ่งในแผงการแจ้งเตือนที่เลื่อนออกมาจากด้านบน คุณสามารถดูได้ ข้อความล่าสุดโทรเลขและบนหน้าจอล็อค - จำนวนข้อความที่ยังไม่ได้ดู เห็นได้ชัดว่า Shuttleworth ถูกดึงดูดโดยปรัชญาของผู้ส่งสารรายนี้: ห้ามโฆษณา ไม่ต้องชำระเงิน มีความปลอดภัยสูงสุด

ในทางกลับกัน ขอเสนอให้ใช้ Here Maps เป็นบริการนำทางมาตรฐาน เวอร์ชันของแอปพลิเคชันแสดงเป็น 2.0 แต่สิ่งที่ตลกก็คือ Ubuntu Touch ไม่อยู่ในรายชื่อแพลตฟอร์มที่รองรับโดยบริการนี้ (แม้จะเป็นแพลตฟอร์มทดลองก็ตาม) แม้ว่าจะมี Firefox OS ก็ตาม และจากรูปลักษณ์ของ Here Maps มันไม่ใช่แอปแบบเนทีฟ แต่เป็นเว็บแอป เราจะพูดคุยเพิ่มเติมเกี่ยวกับสิ่งนี้ในภายหลัง

สำหรับแอปพลิเคชันอื่น ๆ ที่ติดตั้งไว้ล่วงหน้า ก่อนอื่นเราจะสังเกตความเรียบง่ายและไม่โอ้อวด ทั้งหมดนี้ค่อนข้างดั้งเดิมทั้งในด้านการใช้งานและรูปลักษณ์ (บางอย่างเหมือนอย่างแรก เวอร์ชัน Android) แต่เป็นไปตามสัญชาตญาณ แต่ที่นี่ก็มีสิ่งแปลก ๆ เช่นกัน ตัวอย่างเช่นในเครื่องเล่นเพลงจะมีปุ่มลึกลับ “เพิ่มไปที่...” (ที่ไหน?) นอกจากนี้ยังเป็นไปไม่ได้ที่จะเปิดตัวแอปพลิเคชันเครื่องเล่นวิดีโอและเลือกไฟล์วิดีโอจากแอปพลิเคชันนั้น

โดยทั่วไปปัญหาหลักของชุดแอปพลิเคชันที่ติดตั้งไว้ล่วงหน้าคือการไม่มีสิ่งที่จำเป็นมากมาย ยิ่งไปกว่านั้น หากบางสิ่งเหล่านี้สามารถพบได้ใน Store (ตัวจัดการไฟล์, เทอร์มินัล) และสำหรับบางรายการก็มีแอนะล็อก (Telegram แทนที่จะเป็น Viber และ WhatsApp) แสดงว่ามีช่องว่างที่เห็นได้ชัดอย่างแน่นอน: ตัวอย่างเช่นแม้ว่าสมาร์ทโฟนจะมี กล้องหน้าการสื่อสารทางวิดีโอเป็นไปไม่ได้ เนื่องจากไม่มี Skype ไม่มี Hangouts หรือทางเลือกอื่นใด นอกจากนี้ยังไม่มีไคลเอนต์อีเมล และแม้แต่ Gmail ก็อยู่ที่นี่ในรูปแบบเว็บแอปพลิเคชันเท่านั้น

แอปพลิเคชันเว็บ

นอกจาก แอปพลิเคชันดั้งเดิมเขียนด้วย Qt/QML นักพัฒนาสามารถสร้างเว็บแอปพลิเคชัน HTML5 ที่ทำงานบนอินเทอร์เน็ตทั้งหมดได้ อันที่จริงไซต์เหล่านี้เป็นไซต์เวอร์ชันมือถือ "บรรจุ" ไว้ในเชลล์แยกต่างหากซึ่งสามารถนำเสนอได้ใน Ubuntu Store ในรายการแอปพลิเคชันและบนแผงควบคุม เปิดตัวอย่างรวดเร็ว- ดี แถบที่อยู่จะไม่กินพื้นที่หน้าจอบางส่วน

เราเห็นสิ่งที่คล้ายกันใน Firefox OS แต่มีเว็บแอปพลิเคชันถูกแยกออกจากแอปพลิเคชันดั้งเดิม ในกรณีของ Ubuntu Touch ทุกอย่างจะรวมเข้าด้วยกัน และตัวอย่างเช่น หากคุณกำลังมองหาไคลเอนต์ Instagram ใน Store คุณจะไม่สามารถบอกได้ว่าตัวเลือกใดที่แสดงอยู่นั้นเป็นตัวเลือกดั้งเดิมจนกว่าคุณจะไปที่คำอธิบายของแต่ละรายการ ไม่จำเป็นต้องอธิบายว่าทำไมเว็บแอปพลิเคชันถึงแย่กว่าเนทีฟ: นี่คือประสิทธิภาพ อินเทอร์เฟซที่ไม่ได้รับการปรับให้เหมาะกับอุปกรณ์เฉพาะ และที่สำคัญที่สุดคือความต้องการการเชื่อมต่ออินเทอร์เน็ต นอกจากนี้ ค่อนข้างสมเหตุสมผลที่เว็บแอปพลิเคชันจะไม่สามารถใช้ความสามารถด้านฮาร์ดแวร์ของสมาร์ทโฟนได้ตามปกติ ตัวอย่างเช่น เว็บแอปพลิเคชัน Instagram ไม่สามารถเข้าถึงกล้องได้ (จะมาจากไหนหากไม่ได้อยู่ใน Instagram เวอร์ชันเว็บ ?)

พูดง่ายๆ ก็คือคุณเพียงแค่เปิดมันขึ้นมา รุ่นมือถือเว็บไซต์ผ่านเบราว์เซอร์ ในภาพหน้าจอด้านบน เราเห็น Instagram เวอร์ชันมือถือที่เปิดผ่านเบราว์เซอร์ (ซ้าย) และเว็บแอป Instagram ( ลูกค้าที่ไม่เป็นทางการ) จาก Ubuntu Store แน่นอนว่าไม่มีการแฮ็กดังกล่าวใน Play Store และ App Store ในขณะเดียวกันใน Android และ iOS ไม่มีอะไรขัดขวางไม่ให้คุณสร้างไอคอนเปิดใช้งานด่วนสำหรับเว็บไซต์ที่ต้องการบนเดสก์ท็อปของคุณ ความจริงแล้วเว็บแอปพลิเคชั่นเดียวกับบน Ubuntu Touch แต่ Canonical จะทำกำไรได้มากกว่าในการ "ผสม" เว็บแอปพลิเคชันเข้ากับชุดแอปพลิเคชันทั่วไปในร้านค้า และส่งผลต่อความสะดวกในการค้นหา

การตั้งค่าและการโต้ตอบกับระบบปฏิบัติการอื่น

เนื่องจาก Ubuntu Touch เป็นระบบปฏิบัติการฟรี จึงมีเหตุผลที่จะคาดหวังอิสรภาพสูงสุดสำหรับผู้ใช้ที่นั่น อย่างไรก็ตามเมนูการตั้งค่าและโดยทั่วไปความเป็นไปได้ในการปรับแต่งระบบปฏิบัติการในแบบของคุณนั้นดูเรียบง่ายมาก - เรียบง่ายกว่าของ Android ที่ฟรีน้อยกว่าและ iOS ที่ไม่ฟรีโดยสิ้นเชิง

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

ความผิดหวังครั้งที่สองเกี่ยวข้องกับการไม่สามารถติดตั้งแอปพลิเคชัน Android ได้ เราขอเตือนคุณว่าฟังก์ชันนี้ใช้ได้ทั้งใน Sailfish OS และ BlackBerry 10.3 และถึงแม้ว่าแอปพลิเคชัน Android จะไม่ทำงานได้อย่างสมบูรณ์แบบ แต่ฟีเจอร์นี้ก็ยังมีความสำคัญมาก แต่สิ่งที่น่าประหลาดใจจริงๆ สำหรับเราก็คือความจริงที่ว่าระบบปฏิบัติการเดสก์ท็อป OS X เมื่อสมาร์ทโฟนที่มี Ubuntu Touch เชื่อมต่อกับคอมพิวเตอร์ รับรู้ว่าเป็นอุปกรณ์ Android และเปิดตัว ไฟล์แอนดรอยด์โอนย้าย. ซึ่งกลายเป็นว่าทำงานได้อย่างสมบูรณ์: คุณสามารถใช้มันเพื่อถ่ายโอนไฟล์จากคอมพิวเตอร์ของคุณไปยังสมาร์ทโฟนและด้านหลังได้

ไม่มีปัญหาเมื่อเชื่อมต่อสมาร์ทโฟนกับ Windows Microsoft OS โต้ตอบกับมันในลักษณะเดียวกับอุปกรณ์ Android ทั่วไป แต่นี่ก็ค่อนข้างคาดหวัง แต่เรายังคงคาดหวังอะไรมากกว่านี้จาก Ubuntu Touch ที่ทำงานร่วมกับเดสก์ท็อป Ubuntu ตัวอย่างเช่น ซอฟต์แวร์บางประเภทที่ช่วยให้คุณทำงานกับเนื้อหาในสมาร์ทโฟนของคุณได้อย่างเต็มที่ (เช่น BlackBerry Blend) แต่ Ubuntu 14.02.2 LTS ยังถือว่าสมาร์ทโฟนที่ใช้ Ubuntu Touch เป็นไดรฟ์แบบถอดได้ทั่วไป ดังนั้น หากคุณเป็น "ubunter" อย่าพึ่งพาการโต้ตอบพิเศษใดๆ ระหว่างสมาร์ทโฟนและระบบปฏิบัติการเดสก์ท็อป

ในแง่บวก เราทราบว่าประการแรก สมาร์ทโฟนโต้ตอบกับระบบปฏิบัติการเดสก์ท็อปทั้งสามระบบโดยไม่มีไดรเวอร์หรือโปรแกรมเพิ่มเติม และประการที่สอง Ubuntu Touch สามารถทำงานกับไฟล์ที่คัดลอกจากคอมพิวเตอร์ได้โดยตรง ตัวอย่างเช่น คุณสามารถวางอัลบั้มเพลงลงในโฟลเดอร์ที่เหมาะสมได้ - และอัลบั้มจะเล่นได้ตามปกติและแม้แต่หน้าปกก็จะแสดงด้วย ที่นี่ไม่มีอุปสรรคเหมือนใน iOS

ข้อสรุปเบื้องต้น

ระบบปฏิบัติการ Ubuntu Touch อยู่ที่จุดเริ่มต้นของการเดินทาง อย่างน้อยถ้าเรานับเฉพาะอุปกรณ์เชิงพาณิชย์ และในบริบทนี้ มันดูมีแนวโน้มมาก: เราสังเกตเห็นอินเทอร์เฟซที่น่าสนใจมาก การควบคุมที่สะดวกท่าทางตลอดจนความชัดเจนตามสัญชาตญาณของทั้งระบบปฏิบัติการและแอปพลิเคชันหลัก แต่ถึงกระนั้นเราไม่ควรลืมว่าประวัติศาสตร์สาธารณะของ Ubuntu Touch เริ่มขึ้นเมื่อสองปีที่แล้ว และเบื้องหลังการพัฒนานี้ไม่ใช่ Jolla สตาร์ทอัพขนาดเล็ก แต่เป็น Canonical บริษัทที่จริงจังซึ่งมีประวัติยาวนานถึง 10 ปี หากเราคำนึงถึงการแนะนำเหล่านี้ ความสงสัยก็จะคืบคลานเข้ามาเกี่ยวกับอนาคตของระบบปฏิบัติการอย่างหลีกเลี่ยงไม่ได้ ต่อหน้าทุกคน. ความคิดที่น่าสนใจปัจจุบันมันเป็นผลิตภัณฑ์ที่ไม่สามารถแข่งขันได้: มีช่วงวิกฤติไม่มากนัก การใช้งานที่สำคัญ (โปรแกรมรับส่งเมล, Skype) แต่มีข้อบกพร่องและข้อบกพร่องมากมาย ไม่มีการรองรับแอปพลิเคชัน Android ที่เก็บแอปพลิเคชันเต็มไปด้วยสิ่งที่เรียกว่า "แอปพลิเคชันเว็บ" ซึ่งไม่สามารถพิจารณาได้ ทดแทนเต็มรูปแบบแอปพลิเคชันดั้งเดิม

นอกเหนือจากนี้ รูปร่างระบบปฏิบัติการขัดแย้งกันมาก สำหรับ Jolla การออกแบบเป็นหนึ่งในไพ่เด็ด Android ได้ก้าวไปข้างหน้าอย่างมากในช่วงสองปีที่ผ่านมา Ubuntu Touch ยังคงอยู่ในยุคของ Android 2.x แม้ว่าองค์ประกอบบางอย่างของระบบปฏิบัติการจะดูดีมากก็ตาม ที่นี่คุณยังสามารถจำ Firefox OS ได้ซึ่งมีรูปลักษณ์ที่ไม่น่าดูยิ่งกว่าเดิมและไม่พบสิ่งที่น่าสนใจเป็นพิเศษในด้านปฏิสัมพันธ์กับระบบปฏิบัติการ แต่ Firefox OS มุ่งเป้าไปที่กลุ่มงบประมาณและโซลูชันของผู้ปฏิบัติงาน และจากการตัดสินโดย MWC 2015 Firefox OS มีความคืบหน้าบ้าง ในขณะที่ผู้สร้าง Ubuntu Touch ยังไม่มีความคิดที่ชัดเจนว่าระบบปฏิบัติการควรได้รับการพัฒนาอย่างไรและในสาขาใดที่จะแทนที่ผู้เล่นที่มีอยู่ได้

น่าเสียดายที่แนวคิดที่น่าสนใจและชื่อที่ดีนั้นไม่เพียงพอที่จะแข่งขันในตลาดมือถือที่มีปริมาณมากเกินไปในปัจจุบัน ผู้ใช้ต้องการคุณภาพระดับหนึ่งหรือคุณสมบัติที่เป็นเอกลักษณ์อย่างแท้จริง โอกาสดังกล่าวอาจเป็นการปรับแต่งเดสก์ท็อป Ubuntu Touch ได้อย่างยืดหยุ่น: ตัวอย่างเช่นเพื่อให้คุณสามารถเปลี่ยนตำแหน่งขององค์ประกอบทั้งหมด เชื่อมต่อแหล่งข้อมูลของคุณเอง (เช่น Yandex.... แต่ตอนนี้หน้าจอเดสก์ท็อปไม่สามารถปรับแต่งได้อย่างสมบูรณ์ (คุณสามารถปิดการแสดงข้อมูลบางส่วนได้เท่านั้น)

ในที่สุดก็เป็นไปได้ที่จะเล่นด้วยการโต้ตอบที่ได้รับการปรับปรุงกับเดสก์ท็อป Ubuntu - อย่างน้อยก็จะดึงดูดผู้ใช้ Ubuntu ซึ่งมีจำนวนมาก แต่เห็นได้ชัดว่าเส้นทางนี้ดูยากเกินไปสำหรับ Canonical โดยหลักการแล้ว แนวคิดในการสร้างระบบปฏิบัติการเดียวสำหรับอุปกรณ์ประเภทต่างๆ (พีซี อุปกรณ์พกพา ทีวี...) มีแนวโน้มที่ดี แต่สำหรับผู้ใช้ สิ่งนี้สมเหตุสมผลก็ต่อเมื่อเมื่อมีส่วนประกอบตั้งแต่สององค์ประกอบขึ้นไปในระบบนิเวศ พวกเขาได้รับความสามารถเฉพาะบางอย่าง (เช่น ฟังก์ชัน Handoff และ Continuity ใน OS X และ iOS) Ubuntu Touch ไม่มีอะไรแบบนั้น ดังนั้นในรูปแบบปัจจุบันระบบปฏิบัติการอาจเป็นที่สนใจของแฟน ๆ ที่กระตือรือร้นเท่านั้น หวังว่าด้วยความพยายามร่วมกันกับ Canonical ในที่สุดระบบปฏิบัติการจะเติบโตเร็วกว่าความเจ็บป่วยในวัยเด็กและกลายเป็นผู้เล่นรายอื่นในตลาดอุปกรณ์พกพา

เวลาผ่านไปน้อยมากจากการเปิดตัวสมาร์ทโฟนเครื่องแรกที่ใช้ระบบปฏิบัติการ Android ก่อนที่ผู้ที่ชื่นชอบจะได้เรียนรู้การใช้งานการกระจาย Linux เต็มรูปแบบกับพวกเขา เทคนิควันนี้ การติดตั้งลินุกซ์- การเผยแพร่สำหรับอุปกรณ์ Android เป็นที่รู้จักกันอย่างแพร่หลายและที่เก็บ Google Play ก็มีอยู่ด้วย ระบบอัตโนมัติการติดตั้งและ เปิดตัวลินุกซ์- ในบทความนี้ ฉันจะพยายามรวบรวมประสบการณ์การทำงานกับ Linux บนสมาร์ทโฟนที่สั่งสมมาทั้งหมด บอกคุณว่าทำไมจึงจำเป็น และแสดงวิธีหลีกเลี่ยงข้อผิดพลาดที่อาจเกิดขึ้นเมื่อถ่ายโอน Linux ไปยังสมาร์ทโฟนหรือแท็บเล็ต

เพื่ออะไร?

เมื่อมองแวบแรกอาจดูแปลกที่มีคนพยายามเรียกใช้ระบบปฏิบัติการบนอุปกรณ์เคลื่อนที่ซึ่งโดยหลักการแล้วไม่ได้ออกแบบมาให้ทำงานกับหน้าจอได้ ขนาดเล็กและไม่มีเครื่องมือจัดการ (เมาส์) และคีย์บอร์ดที่แม่นยำเพียงพอ อย่างไรก็ตาม คุณไม่ควรด่วนสรุป การกระจาย Linux สามารถให้ข้อได้เปรียบแก่เจ้าของสมาร์ทโฟนได้ค่อนข้างมาก รวมถึงชุดเครื่องมือเก่าที่ได้รับการพิสูจน์แล้ว เช่น ยูทิลิตี้ บรรทัดคำสั่ง, ตัวแก้ไขขั้นสูง, เซิร์ฟเวอร์ FTP และ SSH, เครื่องมือเครือข่ายและเครื่องมือในการพัฒนาแอพพลิเคชั่น ใช้งาน Linux โดยไม่ต้อง เปลือกกราฟิกบนสมาร์ทโฟนที่มีคีย์บอร์ดฮาร์ดแวร์ (เช่น Motorola Droid) คุณสามารถใช้งานทั้งหมดนี้ได้อย่างสะดวกสบายในระหว่างเดินทางโดยไม่ต้องออกจาก Android เลย เครื่องมือทั้งหมดพร้อมใช้งานได้ตลอดเวลา และสมาร์ทโฟนยังคงเป็นสมาร์ทโฟน ให้คุณรับสายและฟังวิทยุอินเทอร์เน็ตได้

อาร์กิวเมนต์ที่สองสำหรับการติดตั้ง Linux บนสมาร์ทโฟนคือความสามารถในการใช้เป็นเวิร์กสเตชันแบบพกพา ซึ่งสามารถเชื่อมต่อกับพีซีเครื่องใดก็ได้ และเข้าถึงเทอร์มินัลได้ทันทีโดยใช้ไคลเอนต์ SSH/Telnet หรือไคลเอนต์ VNC/RDesktop นี่เป็นคำจำกัดความที่ดีกว่าแฟลชไดรฟ์ที่ติดตั้ง Linux เนื่องจากไม่จำเป็นต้องรีบูตเครื่องก่อนและประการที่สองเพื่อส่งข้อมูลไปมา ผลงานของคุณจะพร้อมใช้งานทันทีหลังจากที่คุณยกเลิกการเชื่อมต่อสมาร์ทโฟนจากคอมพิวเตอร์

ในที่สุด Linux ให้ประโยชน์สูงสุดบนแท็บเล็ต หน้าจอที่ช่วยให้คุณทำงานได้ไม่มากก็น้อยในสภาพแวดล้อมแบบกราฟิก และความสามารถในการเชื่อมต่อเมาส์และคีย์บอร์ดผ่านสาย OTG โดยทั่วไปให้โอกาสในการเปลี่ยนแท็บเล็ตให้เป็น เวิร์กสเตชันที่ครบครัน ในขณะเดียวกันไม่มีความแตกต่างระหว่างการติดตั้งการแจกจ่าย Linux บนแท็บเล็ตและสมาร์ทโฟน

ยังไง?

ง่ายมากที่จะย้าย Linux ไปยัง Android และเคอร์เนล Linux มีบทบาทสำคัญในที่นี่ การแจกจ่าย Linux ใดๆ คือชุดของแอปพลิเคชันและไลบรารีที่ทำงานบนเคอร์เนล Linux และเนื่องจาก Android เองใช้เคอร์เนล Linux ที่แทบไม่มีการเปลี่ยนแปลง แอปพลิเคชันและไลบรารีเหล่านี้จึงสามารถเรียกใช้ภายในได้โดยไม่มีปัญหาใดๆ สภาพแวดล้อม Android- คุณเพียงแค่ต้องค้นหาการกระจายที่มีพอร์ตไปยังแพลตฟอร์ม ARM (อย่าลืมว่า 99% ของอุปกรณ์ Android ทั้งหมดทำงานบน ARM) ให้ติดตั้งโดยใช้โปรแกรมจำลอง ARM บนเสมือนจริง ฮาร์ดไดรฟ์(นั่นคือ ลงในไฟล์) วางไฟล์นี้ลงในการ์ด SD ของอุปกรณ์ เปิดเทอร์มินัล ติดตั้งรูปภาพเป็นอุปกรณ์ลูปแบ็ค และทำการรูทมันภายใน ทั้งหมด! ง่ายดายพอๆ กับการรันเซิร์ฟเวอร์ FTP ในสภาพแวดล้อมแบบ chrooted ซึ่งเป็นวิธีการที่เรียบง่ายและผ่านการทดสอบมานานหลายทศวรรษ

สิ่งกีดขวางเพียงอย่างเดียวเมื่อคุณตัดสินใจเรียกใช้การแจกจ่าย Linux ภายใน Android คือสภาพแวดล้อมแบบกราฟิก แม้ว่าจะไม่มีปัญหาในการเข้าถึงคอนโซลเนื่องจากมีเทอร์มินัลอีมูเลเตอร์ที่มีคุณสมบัติครบถ้วน แต่ปัญหาเริ่มต้นด้วยแอปพลิเคชันกราฟิก - ไม่มีเซิร์ฟเวอร์ X ดั้งเดิมสำหรับ Android แต่ทำงานอยู่ เซิร์ฟเวอร์ X ปกติภายในการกระจายนั้นเป็นไปไม่ได้เนื่องจากความแตกต่างพื้นฐานในสถาปัตยกรรมของระบบย่อยกราฟิกของหุ่นยนต์สีเขียว แม้ว่าจะใช้ Linux Framebuffer มาตรฐานซึ่งคุณสามารถเรียกใช้เซิร์ฟเวอร์ X ได้ แต่สิทธิ์แต่เพียงผู้เดียวในการใช้งานในตอนแรกเป็นของไลบรารี Android ระดับที่สูงกว่า ดังนั้นคุณจึงเหลือการโหลดการกระจาย Linux แทน Android ( ซึ่งทำไม่ได้โดยสิ้นเชิง) หรือกำลังหาวิธีแก้ไข

ตรวจสอบการทำงานของโมดูลที่จำเป็น

โปรดทราบว่าการรองรับอุปกรณ์ลูปแบ็คและระบบไฟล์ ext2/ext3 ที่จำเป็นในการติดตั้งอิมเมจนั้นไม่มีให้บริการในเคอร์เนล Linux ทั้งหมดที่ติดตั้งบนสมาร์ทโฟน Android คุณสามารถตรวจสอบการสนับสนุนได้โดยใช้ lsmod | grep -e วนซ้ำ -e ext2

ผู้ที่ชื่นชอบสามารถเอาชนะสถานการณ์นี้ได้โดยใช้วิธีง่ายๆ ในการเชื่อมต่อ "ระยะไกล" กับเดสก์ท็อปโดยใช้ไคลเอนต์ VNC ใด ๆ ที่มีสำหรับ Android ภายในสภาพแวดล้อม chroot เซิร์ฟเวอร์ Xvnc X จะทำงานและแอปพลิเคชันทั้งหมดทำงานภายใต้การควบคุม ผู้ใช้เพียงแค่ต้องติดตั้งไคลเอนต์ VNC แล้วป้อน ที่อยู่ในท้องถิ่น- และแล้ว เดสก์ท็อปที่เต็มเปี่ยมก็จะปรากฏขึ้นบนหน้าจอ

ปัญหาคอขวดเพียงอย่างเดียวเมื่อใช้ Remote Desktop คือประสิทธิภาพ แม้แต่การทำงานในพื้นที่ VNC ก็ไม่สามารถให้ระดับที่เหมาะสมได้ซึ่งจะเพียงพอสำหรับ เลื่อนได้อย่างราบรื่นหรือย้ายหน้าต่างโดยไม่ล่าช้า ยังไม่สามารถแก้ไขปัญหานี้ได้ โปรเจ็กต์เพื่อพัฒนาเซิร์ฟเวอร์ X ดั้งเดิมที่จะใช้ ระบบย่อยกราฟิก Android ยังดิบมากและไม่สามารถใช้เพื่อรันสภาพแวดล้อมกราฟิกเต็มรูปแบบได้ อย่างไรก็ตามไม่มีใครห้ามใช้มัน ตัวอย่างเช่น X Server จาก Darkside Technologies Pty Ltd (goo.gl/ap3uD) ค่อนข้างเหมาะสำหรับการรันซอฟต์แวร์ธรรมดาๆ

เริ่มแรก Linux สำหรับ Android มีอยู่ในรูปแบบของอิมเมจที่ติดตั้งระบบไว้แล้วเท่านั้น รวมถึงคำแนะนำที่อธิบายเกี่ยวกับวิธีเชื่อมต่อและใช้อิมเมจนี้ จากนั้นสคริปต์ก็ปรากฏว่ากระบวนการเชื่อมต่อรูปภาพและการเริ่มต้น Linux เป็นแบบอัตโนมัติ แต่ก็ต้องใช้สมองด้วยเช่นกัน ในที่สุด เมื่อเร็ว ๆ นี้มีตัวติดตั้งบน Google Play (เช่น goo.gl/RSA1j) ซึ่งทำให้กระบวนการเปิดตัวการแจกจ่ายเป็นไปโดยอัตโนมัติในระดับหนึ่ง แม้ว่าโดยพื้นฐานแล้ว นี่ยังคงเป็นคู่มือการติดตั้งเดียวกัน แต่เป็นเชิงโต้ตอบ พร้อมลิงก์โดยตรงไปยังการดาวน์โหลดรูปภาพและสคริปต์

ทางเลือกอื่น

ฉันได้กล่าวไปแล้วข้างต้นว่าสามารถโหลดการแจกจ่าย Linux แทน Android ได้ซึ่งจะทำให้สามารถใช้ Framebuffer เพื่อเข้าถึงอะแดปเตอร์วิดีโอได้โดยตรงและเร่งความเร็วการทำงานของอินเทอร์เฟซแบบกราฟิกได้อย่างมาก อย่างไรก็ตามการทำเช่นนี้บนสมาร์ทโฟนแทบไม่มีประโยชน์เลย - Linux ไม่เหมาะสมเป็นระบบหลักบนหน้าจอขนาดเล็กและจะรับสายและใช้อินเทอร์เน็ตไม่ได้ แต่ต่อไป แท็บเล็ตลินุกซ์จะดูค่อนข้างดี

โดยทั่วไปแล้วสิ่งที่เรียกว่าเวอร์ชันดั้งเดิมของการกระจาย Linux จะถูกติดตั้งบนอุปกรณ์ที่ใช้งาน Android เมื่อเริ่มแรกดังนี้ บนไดรฟ์ NAND ภายในของแท็บเล็ตจะถูกสร้างขึ้น ส่วนเพิ่มเติมซึ่งคัดลอกการกระจาย Linux ไปยัง ตัวบูต U-Boot (ใช้ในแท็บเล็ตส่วนใหญ่) ได้รับการกำหนดค่าให้ใช้พาร์ติชันนี้เป็นพาร์ติชันสำหรับบูต เป็นผลให้แท็บเล็ตจะบูตเข้าสู่ระบบ Linux โดยอัตโนมัติหลังจากเปิดเครื่อง

เพื่อให้มีความเป็นไปได้ในการบูท Android ตัวโหลดการบูต U-Boot จะได้รับการกำหนดค่าใหม่เพื่อให้พาร์ติชันที่มีระบบ Linux ไม่ใช่พาร์ติชันหลัก แต่ทำหน้าที่เป็น "พาร์ติชันการกู้คืน" (โหมดการกู้คืน) สามารถเข้าถึงได้โดยการเปิดอุปกรณ์ด้วย ปุ่มปรับระดับเสียงค้างไว้ (อันเดียวกับที่ใช้เพื่อแฟลชอุปกรณ์และดำเนินการกู้คืนต่างๆ) วิธีนี้คุณจะได้รับอุปกรณ์ดูอัลบูต: Android เป็นค่าเริ่มต้นและการแจกจ่าย Linux เมื่อบูตเข้าสู่โหมดการกู้คืน โหมดการกู้คืนยังคงสามารถเข้าถึงได้ด้วยความช่วยเหลือของเครื่องมือพิเศษเท่านั้น

หากหน่วยความจำ NAND ไม่เพียงพอที่จะรองรับระบบ Linux เต็มรูปแบบ บางส่วน (โดยปกติคือพาร์ติชัน /usr) จะถูกย้ายไปยังอิมเมจหรือพาร์ติชันบนการ์ด SD อย่างไรก็ตาม พาร์ติชัน ext2 บนการ์ดหน่วยความจำสามารถใช้เพื่อติดตั้ง Linux ที่ทำงานในสภาพแวดล้อม chroot ได้

การติดตั้งการกระจาย Linux แบบเนทีฟนั้นยากกว่าการติดตั้งระบบปฏิบัติการที่ทำงานในสภาพแวดล้อมแบบ chrooted แต่ก็คุ้มค่าหากคุณมีแท็บเล็ตและสาย OTG ที่คุณสามารถเชื่อมต่อแป้นพิมพ์และเมาส์ได้

บทเรียนภาคปฏิบัติ

ดังที่ฉันได้กล่าวไปแล้ว เฉพาะการแจกแจงที่พอร์ตไปยังสถาปัตยกรรม ARM เท่านั้นที่เหมาะสำหรับการใช้งาน Android ก่อนอื่นนี่คือ Ubuntu และ Debian และประการแรกด้วยเหตุผลที่ชัดเจนทำให้หุ่นยนต์สนใจมากขึ้น คุณยังสามารถติดตั้ง Gentoo และอีกหลายรายการได้ การแจกแจงแบบพิเศษเช่น ย้อนรอย ลองพิจารณากรณีทั่วไปส่วนใหญ่ นั่นคือ การติดตั้ง Ubuntu ตามรูปแบบมาตรฐาน โดยไม่ต้องใช้โปรแกรมติดตั้งอัตโนมัติหรือสิ่งอื่นใด


ก่อนอื่นเราต้องการ ภาพที่ยากลำบากดิสก์ที่มีการแจกจ่ายที่ติดตั้งไว้ คุณสามารถสร้างมันขึ้นมาเองได้โดยใช้โปรแกรมจำลอง QEMU อย่างไรก็ตามเนื่องจากขั้นตอนการติดตั้งนั้นเป็นมาตรฐานและโดยทั่วไปฉันจะไม่อธิบาย แต่เพียงจะนำคุณไปยังที่อยู่ goo.gl/9nvBi นี่คือไฟล์เก็บถาวรที่มีรูปภาพที่ติดตั้ง Ubuntu 12.04 พร้อมสภาพแวดล้อมกราฟิก LXDE ไว้ล่วงหน้า (มันไม่ฉลาดเลยที่จะเรียกใช้ Unity/Gnome บนโทรศัพท์/แท็บเล็ต) ควรแตกไฟล์เก็บถาวรและควรวางไฟล์ ubuntu.img ไว้ในการ์ดหน่วยความจำ

ถัดไป คุณต้องเมานต์อิมเมจและทำการรูทอิมเมจในสภาพแวดล้อมการกระจาย สำหรับสิ่งนี้เราต้องการ สิทธิ์รูทเฟิร์มแวร์ที่รองรับอุปกรณ์ block loopback และติดตั้ง busybox (ค้นหา "ตัวติดตั้ง busybox" ใน Market; CyanogenMod มีไว้เป็นค่าเริ่มต้น) ลำดับของการกระทำ:

  1. เปิด Terminal Emulator ใน Android (หากไม่ใช่ คุณสามารถติดตั้ง Terminal Emulator ได้จาก Market)- หรือเราเชื่อมต่อสมาร์ทโฟน/แท็บเล็ตเข้ากับคอมพิวเตอร์และเข้าถึงเทอร์มินัลด้วย ใช้ adb: $ cd path-to-Android-SDK/platform-tools $ sudo ./adb เชลล์

    อย่าลืมว่าจะต้องเปิดใช้งานโหมดการดีบักในกรณีนี้: “การตั้งค่า -> สำหรับนักพัฒนา -> การดีบัก Android”

  2. เราได้รับสิทธิ์รูต:$ซู
  3. เราสร้างอุปกรณ์ block loopback เชื่อมต่อดิสก์อิมเมจเข้ากับอุปกรณ์และติดตั้ง:# mknod /dev/block/loop255 b 7 255 # mount -o remount,rw / # mkdir /mnt/ubuntu # mount -o loop, noatime -t ext2 \ /sdcard/ubuntu.img /mnt/ubuntu

    เนื้อหาของรูปภาพควรปรากฏในไดเร็กทอรี /sdcard/ubuntu ตรวจสอบว่าเป็นกรณีนี้

  4. เราเชื่อมต่อระบบไฟล์เสมือนทั้งหมดที่จำเป็นสำหรับการแจกจ่าย:# mount -t proc proc /mnt/ubuntu/proc # mount -t sysfs sysfs /mnt/ubuntu/sys # mount -o ผูก /dev /mnt/ubuntu/dev
  5. เรากำหนดค่าเพื่อให้คุณสามารถเข้าถึงเครือข่ายได้อย่างเต็มที่จากสภาพแวดล้อม chroot:# sysctl -w net.ipv4.ip_forward=1 # echo "nameserver 8.8.8.8" > /mnt/ubuntu/etc/resolv.conf # echo "nameserver 8.8.4.4" >> /mnt/ubuntu/etc/resolv.conf # echo "127.0.0.1 localhost"> /mnt/ubuntu/etc/hosts
  6. ไปที่สภาพแวดล้อม chroot กันเถอะ:# chroot /mnt/ubuntu

ที่จริงแล้วนี่คือจุดที่การติดตั้งสิ้นสุดลง ตอนนี้คุณสามารถเปิดซอฟต์แวร์คอนโซล อัปเดตระบบ เริ่มบริการเครือข่าย และทำเกือบทุกอย่างที่สามารถทำได้ด้วยระบบ Linux บนเดสก์ท็อปทั่วไป โดยไม่ลืมแน่นอนว่าซอฟต์แวร์บางตัวที่โต้ตอบโดยตรงกับฮาร์ดแวร์และอุปกรณ์เทียมพิเศษต่างๆ จะ ไม่ทำงาน นอกจากนี้อย่าลืมว่าควรยกเลิกการต่อเชื่อม FS เสมือนหลังจากเสร็จสิ้นงาน

ตอนนี้เราจำเป็นต้องติดตั้งและรันเซิร์ฟเวอร์ Xvnc X ซึ่งจะส่งออกอุปกรณ์แสดงผลและอุปกรณ์อินพุตโดยใช้โปรโตคอล VNC TightVNCserver มีอยู่ในอิมเมจที่นำเสนอแล้วและได้รับการกำหนดค่าด้วยซ้ำ แต่เพื่อให้คุณเข้าใจกระบวนการได้ดีขึ้นและสามารถแก้ไขปัญหาใด ๆ ที่เกิดขึ้นได้ ฉันจะอธิบายรายละเอียดขั้นตอนการติดตั้งและเปิดใช้งาน

  1. อัปเดตและติดตั้ง TightVNCserver:# apt-get update # apt-get ติดตั้ง tightvncserver
  2. สร้างไฟล์ /root/.vnc/xstartup และเขียนสิ่งต่อไปนี้ลงไป:#!/bin/sh xrdb $HOME/.Xresources xsetroot - การส่งออกสีเทาทึบ XKL_XMODMAP_DISABLE=1 icewm & lxsession

    จำเป็นต้องใช้คำสั่งที่สามที่นี่เพื่อแก้ไขปัญหาที่อาจเกิดขึ้นเนื่องจากการไม่มีแป้นพิมพ์บนอุปกรณ์

  3. เราเปิดตัว Xvnc โดยใช้ wrapper vncserver ที่มีสิทธิ์รูท:# ส่งออก USER=root # vncserver -geometry 1024x800

    จากการดำเนินการคำสั่งสุดท้าย หน้าจอจะแสดงคำขอรหัสผ่านเพื่อเข้าถึงเซิร์ฟเวอร์ VNC โดยควรระบุบางสิ่งที่เรียบง่ายเช่น "123" คุณสามารถตั้งค่าความละเอียดแทบทุกอย่างได้ แต่จะดีกว่าหากตรงกับความละเอียดทางกายภาพของหน้าจออุปกรณ์

  4. ติดตั้งแอปพลิเคชัน AndroidVNC บนสมาร์ทโฟนของคุณ เปิดใช้งาน ระบุที่อยู่ IP และพอร์ต 5901 แล้วเชื่อมต่อเดสก์ท็อป LXDE ควรปรากฏบนหน้าจอของคุณ

เพื่อไม่ให้ยุ่งยากกับการป้อนคำสั่งทั้งหมดด้วยตนเอง คุณสามารถใช้สคริปต์ ubuntu.sh ซึ่งอยู่ที่นี่: goo.gl/xSpK4 เพียงใส่มันและอิมเมจ ubuntu.img ในไดเร็กทอรี ubuntu บนการ์ด SD แล้วรันสคริปต์ด้วยคำสั่ง sh ubuntu.sh และหลังจากผ่านไป 5-10 วินาทีให้เชื่อมต่อกับเดสก์ท็อปโดยใช้ AndroidVNC โปรดทราบว่าสคริปต์จะเมานต์อิมเมจไปยังไดเร็กทอรี /data/local/mnt


การติดตั้ง Gentoo บนพาร์ติชัน ext2

ดังนั้นเราจึงติดตั้ง Ubuntu โดยใช้อิมเมจที่มีระบบไฟล์และลูกเล่นกับอุปกรณ์ลูปแบ็คและสภาพแวดล้อม chroot สิ่งนี้กลายเป็นเรื่องง่ายที่จะทำและโดยทั่วไปแล้วการใช้สคริปต์ก็ง่ายมาก แต่จะเกิดอะไรขึ้นถ้าเราไปไกลกว่านี้และติดตั้งการกระจายแบบฮาร์ดคอร์มากขึ้นและไม่ใช้อิมเมจ แต่ใช้พาร์ติชัน ext2 เฉพาะบนการ์ดหน่วยความจำ ด้วยวิธีนี้เราสามารถแก้ไขปัญหาของเฟิร์มแวร์และเคอร์เนลบางตัวที่ไม่รองรับอุปกรณ์ลูปแบ็ค และยิ่งไปกว่านั้น เรายังสามารถเพลิดเพลินกับการกระจายแบบปกติที่ติดตั้งตามกฎทั้งหมด


ลองใช้ Gentoo เป็นระบบทดลองกันดีกว่า ในการติดตั้งบนพาร์ติชัน ext2 เราจำเป็นต้องมีการ์ดหน่วยความจำที่มีความจุอย่างน้อย 2 GB และสมาร์ทโฟนที่รูทพร้อมติดตั้ง busybox ลำดับของการกระทำมีดังนี้

  1. เราทำการสำรองข้อมูลจากการ์ดหน่วยความจำและสร้างพาร์ติชันเพิ่มเติมด้วยความจุอย่างน้อยสองกิกะไบต์- ซึ่งสามารถทำได้โดยใช้โปรแกรมแบ่งพาร์ติชันดิสก์ แต่โปรดจำไว้ว่าหากคุณต้องการใช้การ์ด SD ต่อไปตามวัตถุประสงค์ที่ตั้งใจไว้คุณควรสร้างพาร์ติชัน FAT32 ที่จุดเริ่มต้นของการ์ดเพื่อให้กลายเป็นพาร์ติชันแรก หนึ่งและพาร์ติชันเพิ่มเติมสำหรับการติดตั้งการแจกจ่ายควรเป็นอันที่สอง
  2. การฟอร์แมตพาร์ติชันการ์ด SD:$ sudo mkfs.vfat /dev/sdc1 $ sudo mkfs.ext2 /dev/sdc2
  3. เราใช้โทรศัพท์ไปที่ "การตั้งค่า -> เกี่ยวกับโทรศัพท์" แล้วดูว่าติดตั้งโปรเซสเซอร์ตัวใดจากนั้น ไปที่หน้า goo.gl/PRfux และดาวน์โหลด stage3 สำหรับสถาปัตยกรรมที่ต้องการ เช่น stage3 สำหรับ ARM v7 อยู่ในไดเร็กทอรี current-stage3-armv7a
  4. เราเมานต์พาร์ติชัน ext2 ของการ์ดหน่วยความจำบนคอมพิวเตอร์และคลายเนื้อหาของไฟล์เก็บถาวรผลลัพธ์ลงในนั้น:$ sudo mount /dev/sdc2 /mnt $ sudo tar -xxpf stage3-*.bz2 -C /mnt

    เราจะแก้ไขการกำหนดค่าและทุกสิ่งที่คุณต้องการทันที ตามที่คุณต้องการ รวมถึงการแก้ไข /etc/resolv.conf ตามตัวอย่างจากส่วนก่อนหน้า

  5. เราเปิดตัวเทอร์มินัลอีมูเลเตอร์ (หรือเรียกใช้ "adb shell") ติดตั้งทุกสิ่งที่เราต้องการและไปที่ chroot (เกือบจะเหมือนกับในกรณีของ Ubuntu): # mount -o remount,rw / # mkdir /mnt/gentoo # เมานต์ /dev/ บล็อก/mmcblk0p2 /mnt/gentoo # mount -t proc proc /mnt/ubuntu/proc # mount -t sysfs sysfs /mnt/ubuntu/sys # mount -o ผูก /dev /mnt/ubuntu/dev # sysctl -w net.ipv4.ip_forward=1 # chroot /mnt/gentoo

การเข้าถึงเดสก์ท็อปทำได้ในลักษณะเดียวกับใน Ubuntu ยกเว้นว่าตอนนี้คุณจะต้องรวบรวมซอฟต์แวร์จำนวนมากบนโทรศัพท์โดยตรง :) อย่างไรก็ตาม คุณสามารถตั้งค่าสภาพแวดล้อมสำหรับการรวบรวมข้ามบนคอมพิวเตอร์ของคุณได้ แต่นี่เป็นหัวข้อสำหรับบทความแยกต่างหาก


การติดตั้งแบบเนทีฟ

เมื่อเปิดตัว Ubuntu โดยใช้เซิร์ฟเวอร์ VNC คุณจะสังเกตเห็นการทำงานที่ช้าซึ่งสัมพันธ์กับต้นทุนของโปรโตคอล VNC ในการส่งสัญญาณภาพ "ผ่านเครือข่าย" เพื่อหลีกเลี่ยงปัญหานี้ คุณสามารถติดตั้ง Ubuntu เป็นระบบหลักถัดจาก Android เพื่อให้สามารถใช้อะแดปเตอร์วิดีโอได้โดยตรง น่าเสียดายที่ไม่มีวิธีสากลในการทำเช่นนี้ อุปกรณ์แต่ละชิ้นมีเอกลักษณ์เฉพาะตัวของตัวเอง รวมถึงตารางพาร์ติชั่นต่างๆ ของหน่วยความจำ NAND ที่ติดตั้ง อุปกรณ์และไดรเวอร์ต่างๆ สำหรับการใช้งาน


โชคดีที่กระบวนการติดตั้งเวอร์ชันดั้งเดิมของการแจกจ่ายได้รับการอธิบายไว้อย่างดีสำหรับอุปกรณ์จำนวนมากในฟอรัมภาษารัสเซียดังนั้นการค้นหาคำแนะนำจึงไม่ใช่เรื่องยาก อย่างไรก็ตามควรให้ความสนใจกับคุณสมบัติหลายประการของการติดตั้งประเภทนี้ทันที:

  • แยกหรือพาร์ติชัน NAND หลัก สามารถติดตั้งการกระจาย Linux ในพาร์ติชั่นที่สร้างไว้ล่วงหน้าในหน่วยความจำ NAND หรือในพาร์ติชั่นสำหรับบู๊ตหลัก ในกรณีแรก ผู้พัฒนาเฟิร์มแวร์มักจะปล่อยให้ตัวเลือกในการบูต Android โดยใช้ สคริปต์พิเศษหรือโดยการโหลดการกระจาย Linux ในโหมดการกู้คืนในวินาทีนั้นจะถูกติดตั้ง แทน Android และเพื่อคืนความสามารถในการดาวน์โหลดหุ่นยนต์ คุณจะต้อง reflash อุปกรณ์อีกครั้ง
  • โอกาส บูตคู่- หากติดตั้งการกระจาย Linux บนพาร์ติชันแยกต่างหาก นักพัฒนาสามารถปล่อยตัวเลือกให้บูต Android ได้ อย่างไรก็ตาม คุณควรให้ความสนใจทันทีว่าการดาวน์โหลดนี้เกิดขึ้นได้อย่างไร: การใช้โหมดการกู้คืนหรือสคริปต์ที่เรียกใช้จาก คอมพิวเตอร์ปกติ- อย่างไรก็ตามวิธีที่สองจะไม่สะดวกบนท้องถนน
  • การสนับสนุนฮาร์ดแวร์ เคอร์เนล Linux ดั้งเดิมของเฟิร์มแวร์ Android มีไดรเวอร์ที่จำเป็นทั้งหมดซึ่งอาจจำเป็นสำหรับการทำงานของระบบ Linux ที่มีคุณสมบัติครบถ้วนอยู่แล้ว แต่ไม่ใช่เฟิร์มแวร์ Linux ทั้งหมดที่จะเริ่มต้นทุกอย่างด้วยตัวเอง ปัญหามักเกิดขึ้นกับอแด็ปเตอร์ Wi-Fi และหน้าจอสัมผัส ซึ่งไม่ตอบสนองต่อการสัมผัสอย่างเพียงพอ ดังนั้นก่อนติดตั้งเฟิร์มแวร์คุณควรอ่านอย่างละเอียดเกี่ยวกับภาวะแทรกซ้อนที่อาจเกิดขึ้น

ไม่ว่าในกรณีใด ให้เตรียมพร้อมสำหรับข้อเท็จจริงที่ว่าระหว่างการติดตั้งการแจกจ่าย Linux ข้อมูลทั้งหมดของคุณจะถูกทำลาย ไม่มีทางหากไม่มีสิ่งนี้

อะไรต่อไป

การกระจาย Linux ที่ติดตั้งถัดจากระบบ Android ดั้งเดิมอาจกลายเป็นเครื่องมือการทำงานที่สะดวกมาก แต่ในขณะนี้ "Linux ใน Android" ถือเป็นของเล่นมากกว่าและเป็นวิธีแสดงให้เพื่อน ๆ เห็นมากกว่าวิธีแก้ปัญหาที่จริงจัง ฉันแน่ใจว่าในไม่ช้าเมื่อการใช้งานเซิร์ฟเวอร์กราฟิก Wayland อย่างเต็มรูปแบบปรากฏขึ้นสำหรับ Android สถานการณ์จะเริ่มเปลี่ยนแปลงและเราจะได้เห็นการแจกแจงที่ปรับให้เหมาะกับ หน้าจอขนาดเล็กอินเทอร์เฟซตลอดจนแอปพลิเคชัน Linux เต็มรูปแบบที่เผยแพร่ในรูปแบบของแพ็คเกจ APK ปกติ นอกจากนี้อย่าลืมเกี่ยวกับโครงการ "Ubuntu สำหรับ Android" - ภายในกรอบการทำงาน กำลังดำเนินการบนพอร์ตอย่างเป็นทางการของ Ubuntu สำหรับ Android ซึ่งจะช่วยให้คุณใช้สมาร์ทโฟนของคุณเป็นหน่วยระบบพกพาที่เชื่อมต่อกับจอภาพใดก็ได้

สวัสดี ฉันมีมินิพีซี ug 802 ฉันจะติดตั้ง Linux บนมันได้อย่างไร เทลตาร์

นี่เป็นหัวข้อที่น่าสนใจมากสำหรับฉันเพื่อน ๆ เนื่องจากฉันดูแลเซิร์ฟเวอร์ Linux อย่างมืออาชีพ บนเซิร์ฟเวอร์มันน่าสนใจ แต่สำหรับฉัน มันเป็นทุกวันและธรรมดาอยู่แล้ว แต่การติดตั้งลีนุกซ์บนอุปกรณ์ที่มีสถาปัตยกรรม ARM นั้นมีความน่าสนใจมากกว่ามาก

คอมพิวเตอร์และสมาร์ทโฟนหรือแท็บเล็ตแตกต่างกันอย่างไร?

ตามแนวคิดแล้ว ความแตกต่างมีเพียงเล็กน้อย ทั้งอุปกรณ์เคลื่อนที่และเดสก์ท็อป หรือแม้แต่เซิร์ฟเวอร์ ถูกสร้างขึ้นบนหลักการเดียวกัน อย่างไรก็ตาม สำหรับอุปกรณ์เคลื่อนที่ จะใช้สถาปัตยกรรมโปรเซสเซอร์ที่แตกต่างกัน CPU เดสก์ท็อปได้รับการออกแบบบนสถาปัตยกรรม x86 หรือ amd64 และอุปกรณ์เคลื่อนที่ส่วนใหญ่มีโปรเซสเซอร์ที่ใช้สถาปัตยกรรม ARM ในอดีต นี่เป็นเพราะความจริงที่ว่าโปรเซสเซอร์ดังกล่าวมีการใช้พลังงานที่ลดลงอย่างมาก ซึ่งเป็นความจำเป็นที่สำคัญสำหรับอุปกรณ์พกพา

OS ใดที่สามารถติดตั้งบนอุปกรณ์มือถือได้?

ดังนั้น โปรแกรมทั้งหมด รวมถึงระบบปฏิบัติการ จะต้องได้รับการพัฒนาโดยเฉพาะสำหรับสถาปัตยกรรมนี้เพื่อที่จะทำงานกับฮาร์ดแวร์นี้ได้ ดังนั้น Linux เวอร์ชันปกติที่ติดตั้งบนเดสก์ท็อปหรือเซิร์ฟเวอร์จะไม่ทำงานที่นี่ โชคดีที่มีการแจกแจงและเวอร์ชันมากมายสำหรับสถาปัตยกรรมนี้ เริ่มต้นด้วยระบบปฏิบัติการ Android อันโด่งดัง ซึ่งสมาร์ทโฟนส่วนใหญ่ติดตั้งไว้ และปิดท้ายด้วยระบบปฏิบัติการที่แปลกใหม่ เช่น Backtrack แบบพิเศษ (ปัจจุบันคือ Kali Linux) แต่สิ่งที่น่าสนใจยิ่งกว่านั้นแน่นอนว่าคือการแจกแจงที่เป็นที่รู้จักมากกว่า

แอนดรอยด์คืออะไร?

Android เป็นระบบปฏิบัติการ บนพื้นฐานลินุกซ์พัฒนาโดย Google สำหรับอุปกรณ์มือถือ ระบบปฏิบัติการมือถือที่ได้รับความนิยมมากที่สุดในโลก ควรเข้าใจว่าแท้จริงแล้ว LInux เป็นเพียงเคอร์เนลของระบบปฏิบัติการ และระบบปฏิบัติการจำนวนมากถูกสร้างขึ้นบนพื้นฐานของมัน และ Android ก็เป็นเพียงหนึ่งในนั้น

เคอร์เนลเป็นฟังก์ชันพื้นฐานที่ช่วยให้คุณสามารถใช้อุปกรณ์และตัวเลือกทั้งหมดของแพลตฟอร์มฮาร์ดแวร์ได้ นั่นก็คือ ไดรเวอร์และการจัดการอุปกรณ์ ยังรวมไปถึงแกนกลางบางส่วนด้วย โปรแกรมพื้นฐานและยูทิลิตี้บรรทัดคำสั่ง ประเด็นก็คือใน ครอบครัวลินุกซ์(ในความหมายนี้มักหมายถึง - ตระกูลระบบปฏิบัติการบนเคอร์เนลนี้ไม่ใช่เคอร์เนลเอง) - เชลล์กราฟิกเป็นส่วนที่แยกจากกันซึ่งเป็นระดับนามธรรมของตัวเอง

และการกำหนดค่าขั้นต่ำของระบบปฏิบัติการเหล่านี้นั้นแม่นยำโดยไม่ต้องใช้เชลล์กราฟิก เป็นเพียงอินเทอร์เฟซบรรทัดคำสั่งแบบข้อความ ซึ่งช่วยให้สามารถฝัง OS เหล่านี้ไว้ในตำแหน่งที่ไม่ธรรมดาที่สุดได้ เช่นใน อุปกรณ์เครือข่าย, เครื่องมือกล, คอมพิวเตอร์ และอุปกรณ์ที่ซับซ้อนอื่นๆ เช่น ในเครื่องบินและรถยนต์ แม้แต่ในตัวคุณ เครื่องซักผ้าสิ่งที่คล้ายกันสามารถติดตั้งในไมโครเวฟได้เช่นกัน :)

นี่คืออุปกรณ์ Android ดังนั้นควรติดตั้ง Android เป็นค่าเริ่มต้น ซึ่งอันที่จริงก็คือลินุกซ์ แต่ด้วยข้อจำกัดที่ร้ายแรงบางประการ การติดตั้ง Linux อื่นๆ บางตัวสามารถขยายขีดความสามารถของอุปกรณ์พกพาได้อย่างมาก ความเป็นไปได้ในการใช้งานแทบจะไร้ขีดจำกัด ลองนึกภาพการใช้โทรศัพท์มือถือเป็นเซิร์ฟเวอร์สิ! มีเครื่องมือมากมายให้เลือกใช้ หากเป็นแท็บเล็ตโดยการเชื่อมต่ออุปกรณ์ต่อพ่วงผ่านสาย OTG คุณจะสามารถใช้เป็นคอมพิวเตอร์ที่มีคุณสมบัติครบถ้วนได้! เพื่ออะไร? นั่นเป็นอีกคำถามหนึ่ง ฉันหวังว่าผู้อ่านของเราจะแบ่งปันความคิดของเขาในความคิดเห็น

จะติดตั้ง Linux บนอุปกรณ์ Android ได้อย่างไร?

ดังนั้นการติดตั้ง

มีสองตัวเลือก - คุณสามารถทำการติดตั้งเต็มรูปแบบได้ดังที่พวกเขาพูดบนฮาร์ดแวร์ นี่เป็นการกระพริบของอุปกรณ์จริงๆ ในขณะเดียวกัน เราก็สูญเสียฟังก์ชันการทำงานดั้งเดิมของอุปกรณ์ที่ผู้ผลิตมอบให้ และนี่อาจไม่ใช่สิ่งที่เราต้องการเลย ตัวอย่างเช่นมินิคอมพิวเตอร์ UG 802 ซึ่งผู้อ่านของเราสนใจเป็นอุปกรณ์ที่ออกแบบมาเพื่อขยายฟังก์ชันการทำงานของโทรทัศน์ เพราะสามารถเสียบเข้ากับพอร์ต HDMI ของทีวีได้โดยตรงจึงเปลี่ยนเป็น Smart

โชคดีที่มีวิธีที่สองในการติดตั้ง Linux - ภายในระบบปฏิบัติการหลักของอุปกรณ์โดยตรง ในกรณีนี้หุ่นยนต์ สิ่งนี้ช่วยให้คุณเรียกใช้สภาพแวดล้อม chroot ที่เรียกว่าภายใน Android ในกรณีนี้ คุณจะได้รับระบบปฏิบัติการที่เกี่ยวข้องสองระบบที่ทำงานพร้อมกันบนคอร์เดียว - Android และคุณสามารถสลับไปมาระหว่างกันได้

วิธีการนี้สะดวกสำหรับสมาร์ทโฟนและแท็บเล็ต แต่อาจไม่เหมาะกับ UG 802 ในกรณีนี้ คุณอาจต้องแฟลชระบบปฏิบัติการที่จำเป็น และนี่เป็นความเสี่ยงที่อุปกรณ์อาจเสียหายได้

น่าเสียดายที่ฉันไม่มีประสบการณ์กับการทดลองดังกล่าว แต่มีข้อมูลเพียงพอบนอินเทอร์เน็ตเกี่ยวกับเรื่องนี้ ศึกษาลองติดตั้งครับ

ดังนั้นฉันจะให้ลิงค์บางส่วนที่คุณสามารถเริ่มทำความคุ้นเคยกับโลกแห่งการแฮ็กอุปกรณ์มือถือ :)

แฮกเกอร์คือใคร?

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

https://xakep.ru/2012/10/22/android-tablet-linux-install/ - บทความเกี่ยวกับการติดตั้ง Linux บนสมาร์ทโฟนในนิตยสารที่เก่าแก่ที่สุดซึ่งสะท้อนถึงสาระสำคัญของการแฮ็กได้อย่างแม่นยำ

https://habrahabr.ru/post/221543/ - Habr แหล่งข้อมูลที่เก่าแก่และมีชื่อเสียงไม่แพ้กัน และบทความที่นี่มีความสดใหม่และอธิบายรายละเอียดประสบการณ์การติดตั้ง Arch Linux บน Android ในรูปแบบของสภาพแวดล้อม chroot

https://geektimes.ru/post/44220/ - Giktimes - ไซต์จากผู้สร้าง Habr และมีคู่มือโดยละเอียดเกี่ยวกับ กำลังติดตั้งเดเบียนเหนือ Android บนสมาร์ทโฟน บทความนี้แม้จะเก่ามาก แต่ก็กล่าวถึงสิ่งพื้นฐานที่ต้องเข้าใจก่อนเริ่มดำเนินการดังกล่าว แม้ว่าสิ่งนี้จะไม่ช่วยให้คุณสร้างได้ แต่ก็จะช่วยให้คุณได้รับความรู้ โดยที่ไม่สามารถพัฒนาหัวข้อและแก้ไขปัญหาต่อไปได้ และหลังจากศึกษาบทความดังกล่าวแล้ว คุณจะรู้สึกมั่นใจมากขึ้น และสามารถค้นหาข้อมูลในหัวข้อเฉพาะเจาะจงมากขึ้นในประเด็นเฉพาะที่จะต้องแก้ไขระหว่างการติดตั้ง

ตัวอย่างเช่น บทความในหัวข้อเหล่านี้อาจไม่ใช่บทความเดียวในไซต์ที่กล่าวมาข้างต้น คุณสามารถลองค้นหาบทความเพิ่มเติมเกี่ยวกับเรื่องนี้ในแหล่งข้อมูลเฉพาะดังกล่าวได้ตลอดเวลา ฉันพบและดูหัวข้อสองสามหัวข้อเกี่ยวกับการติดตั้ง Linux บนอุปกรณ์มือถือบน 4pda.ru แบบนี้, ตัวอย่างเช่น

นั่นคือทั้งหมดสำหรับวันนี้ แต่ก็อาจเกิดขึ้นได้เสมอว่าฉันต้องการจัดเลี้ยงหัวข้อนี้ต่อไป :)

หากเกิดปัญหา (และจะเกิดขึ้นโดยมีโอกาส 99% :)) คุณสามารถถามคำถามได้ที่นี่ เราจะรวบรวมข้อมูล แก้ไขปัญหาร่วมกัน ฉันก็สนใจเรื่องนี้มากเช่นกัน

ลินุกซ์ซอยด์! ยูริ เกอรุก เพื่อนของฉัน

ส่วนที่สองเป็นเรื่องเกี่ยวกับวิธีติดตั้ง Ubuntu บนสมาร์ทโฟนหรือแท็บเล็ต Android บนแพลตฟอร์มนี้

สวัสดีผู้ใช้ไซต์ Linuxsoid! เมื่อวานมีการตีพิมพ์บทความเรื่องการติดตั้งห้องผ่าตัด ระบบลินุกซ์ Ubuntu สำหรับสมาร์ทโฟนหรือแท็บเล็ต นี่เป็นเพียงวิธีแรกที่ฉันทำได้ ฉันอยากจะพูดอีกครั้งว่าฉันไม่ได้ลบระบบ Androd แต่เปิดตัวระบบที่สองทับกัน ฉันจะไม่สนใจอีกต่อไปหรือพยายามติดตั้งเพื่อตัวเองจนกระทั่ง ยูริ เกอรุก เพื่อนของฉันเขาให้ความคิดดีๆ แก่ฉันในการติดตั้งระบบ และหลังจากนั้นฉันก็เริ่มสนใจและเริ่มงานเลย

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

ในส่วนแรก (วิธีที่ 1) ผมเขียนวิธีการติดตั้งระบบผ่านโปรแกรมชื่อ Complete Linux Installer ถูกบอก คำสั่งซื้อที่สมบูรณ์การดำเนินการเมื่อทำงานกับโปรแกรมนี้ สิ่งที่ต้องดาวน์โหลด วิธีการติดตั้ง และที่เหลือทั้งหมด วันนี้ฉันอยากจะนำเสนอวิธีที่สอง (วิธีที่ 2) ให้กับคุณ เราจะติดตั้ง Linux Ubuntu บนอุปกรณ์ที่ใช้ Androd ผ่าน แอปพลิเคชันมือถือเรียกว่า Linux Deploy แอปพลิเคชันนี้มีให้คุณเช่นกัน เข้าถึงได้ฟรีบน Google Play Market ที่ใครๆ ก็สามารถดาวน์โหลดได้

ในแอปพลิเคชันนี้ คุณไม่จำเป็นต้องลงทะเบียนและเปิดใช้งาน หลังจากติดตั้งบนอุปกรณ์ของคุณแล้ว คุณจะต้องเปิดและปิดอีกครั้ง เราจำเป็นต้องมีอะไรบ้างในการรันระบบผ่าน Linux Deploy -

  1. สมาร์ทโฟนและคอมพิวเตอร์ที่มีการเข้าถึงอินเทอร์เน็ต (ควรใช้ Wi-Fi) มากกว่า การเชื่อมต่อที่ดีขึ้นยิ่งการดาวน์โหลดเกิดขึ้นเร็วเท่าไร
  2. สาย USB (เพื่อเชื่อมต่ออุปกรณ์ของคุณเข้ากับ คอมพิวเตอร์ตั้งโต๊ะหรือแล็ปท็อป)
  3. ควรชาร์จแบตเตอรี่ให้เต็ม 100% แต่ไม่น้อยกว่า 50%
  • มาเริ่มงานของเรากันเถอะ! เพื่อป้องกันไม่ให้ยาวเกินไป ผมจะข้ามประเด็นที่ระบุไว้ในวิธีที่ 1 ไป ครั้งแรกและ ขั้นตอนง่ายๆสำหรับเราสิ่งนี้จะได้รับสิทธิ์รูทบนอุปกรณ์ ในบทความก่อนหน้านี้ฉันได้แสดงรายละเอียดวิธีการดำเนินการนี้
  • ทุกคนที่มีสิทธิ์รูทสามารถไปยังขั้นตอนต่อไปได้ กล่าวคือเปิดใช้งานการแก้ไขข้อบกพร่อง USB บนอุปกรณ์ของตน (บทความก่อนหน้านี้ยังอธิบายวิธีการบรรลุเป้าหมายนี้ด้วย) เราหยิบสมาร์ทโฟนขึ้นมาแล้วไปหาเจ้าหน้าที่ เพลย์สโตร์ Market โดยที่เราจะต้องดาวน์โหลดแอพพลิเคชั่นชื่อ Linux Deploy หากคุณมีบัญชีที่ตั้งค่าไว้ คุณสามารถไปตามลิงก์ที่มีชื่อโปรแกรมและติดตั้งแอปพลิเคชันโดยใช้คอมพิวเตอร์ของคุณ หลังการติดตั้ง ให้เปิดแอปพลิเคชั่นแล้วดูต่อ!
  • ดังที่เราเห็นในภาพหน้าจอด้านบน เราจะแสดงโปรแกรมที่มีอินเทอร์เฟซที่เรียบง่ายและไม่ซับซ้อน เมื่อเราเปิดตัวโปรแกรมครั้งแรก มันจะแสดงความช่วยเหลือเล็กๆ น้อยๆ ให้กับเรา ซึ่งเป็นรายการวิธีการเริ่มใช้งานโปรแกรมนี้ หลังจากปฏิบัติตามข้อกำหนดเหล่านี้แล้ว เราจะเริ่มการกำหนดค่า ในการตั้งค่าโปรแกรมของเราคุณต้องแปลเป็นภาษารัสเซีย (เราทำสำหรับผู้ที่ไม่ได้แปลโปรแกรมโดยอัตโนมัติ) ใส่ภาษารัสเซียและทำเครื่องหมายในช่องถัดจากรายการ อย่าปิดหน้าจอ

ดูดังแสดงในรูปด้านล่าง:

หลังจากตั้งค่าภาษาและตรวจสอบ Keep the screen on เราก็ไปต่อได้อย่างราบรื่น การดำเนินการต่อไปกล่าวคือ:

  • สร้างโปรไฟล์ใหม่สำหรับบัญชีใหม่ของเรา รายการลินุกซ์- ในการทำเช่นนี้คุณจะต้องกลับไปที่หน้าจอหลักของโปรแกรมและหน้าจอที่แสดงความช่วยเหลือสำหรับการดำเนินการเพิ่มเติมและคลิกที่ส่วนหัวของโปรแกรม (ที่วาดนกเพนกวิน) หลังจากนี้ คุณจะถูกโอนไปยังหน้าต่างใหม่โดยอัตโนมัติ โดยคุณจะต้องคลิกที่เครื่องหมายบวกและสร้างโปรไฟล์ เพื่อเป็นการเป็นตัวอย่าง ฉันได้สร้างโปรไฟล์ชื่อ Linuxsoid.com คุณสามารถเรียกมันว่าสิ่งที่คุณต้องการ!
  • เมื่อคุณเขียนชื่อโปรไฟล์แล้ว คลิกตกลง หลังจากนั้นเพียงเลือกโปรไฟล์ที่ต้องการ
  • หลังจากทั้งหมดนี้ ฉันพับม้านั่งแล้วเข้านอน และคุณสามารถทำอะไรก็ได้ที่คุณต้องการจากที่นั่น แน่นอนว่าฉันล้อเล่น! ย่อขนาดแอปพลิเคชันและกลับสู่ Play Market และดาวน์โหลด Es-ตัวนำ(คุณไม่จำเป็นต้องดาวน์โหลดจากใครและคุณจะไม่สามารถทำได้ :-D) . เปิด Explorer และสร้างโฟลเดอร์ชื่อ Ubuntu หลังจากที่คุณสร้างโฟลเดอร์แล้ว คุณจะต้องค้นหาเส้นทางไปยังโฟลเดอร์นั้น สำหรับฉันมันจะเป็นการ์ดหน่วยความจำเหมือนของคุณฉันไม่รู้
  • เมื่อสร้างให้คลิกที่เครื่องหมายบวกสีเหลืองหลังจากนั้นคุณจะเห็นหน้าต่างป๊อปอัปที่เราเน้นการสร้างโฟลเดอร์และไหลเข้าสู่ชื่อโฟลเดอร์อย่างราบรื่น (ควรเขียนเป็นภาษาอังกฤษดีกว่าคุณไม่ควรล่อใจ ชะตากรรมของสมาร์ทโฟนของคุณสิ่งหนึ่งที่ฉันจะบอกคือสิ่งนี้จะไม่นำไปสู่สิ่งที่ดีผ่านการทดสอบแล้ว ประสบการณ์ของตัวเอง- เมื่อเสร็จแล้ว ฉันคลิกที่บันทึกประวัติและดูเส้นทางไปยังโฟลเดอร์ของเรา ฉันได้รับสิ่งนี้: /sdcard/ubuntu/

การตั้งค่าเริ่มต้นของโปรแกรมสำเร็จหรือไม่? จากนั้นเราดำเนินการดาวน์โหลดและติดตั้งชุดการแจกจ่ายบนอุปกรณ์ของเราในโฟลเดอร์ที่สร้างขึ้นใหม่ ในการดำเนินการนี้คุณต้องเปิดแอปพลิเคชัน Linux Deploy แล้วคลิกราวกับว่าบนลูกศรที่คล้ายกับการดาวน์โหลดซึ่งคุณควรโอนไปยังหน้าต่างใหม่พร้อมข้อมูลที่เราต้องการ เราเห็นอะไรที่นั่น? โปรแกรมเสนอให้เราติดตั้งระบบ แต่ในการทำเช่นนี้เราต้องเลือกมัน ในหน้าต่างนี้ คลิกที่ชุดแจกจ่าย จากนั้นทุกอย่างจะเปิดต่อหน้าคุณ ทางเลือกที่เหมาะสมระบบ (ซึ่งอาจทำงานบนอุปกรณ์ของคุณ) ฉันเลือก Linux Ubuntu หลังจากที่ฉันเลือกแล้วให้คลิกติดตั้งและเริ่มการติดตั้ง (ดาวน์โหลด) ซึ่งจะใช้เวลาประมาณหนึ่งชั่วโมง ดังนั้นจึงควรชาร์จสมาร์ทโฟนของคุณจะดีกว่า!

  • เมื่อการติดตั้งเสร็จสมบูรณ์ คลิกที่ปุ่มเริ่มต้น และคุณควรจะเชื่อมต่อกับเซิร์ฟเวอร์ที่จำเป็น ข้อดีของแอปพลิเคชั่นนี้คือไม่จำเป็นต้องลงทะเบียนเทอร์มินัลเพิ่มเติม และแอปพลิเคชั่นจะลงทะเบียนคำสั่งโดยอัตโนมัติ คำสั่งที่จำเป็น- เมื่อเสร็จแล้วก็จะเห็นดังภาพ! หากทุกอย่างดำเนินไปอย่างราบรื่นสำหรับคุณและไม่มีข้อผิดพลาดอื่นใดเกิดขึ้น
  • หลังจากจารึกดังกล่าวแล้ว คุณจะต้องดาวน์โหลดและติดตั้งแอปพลิเคชันเพิ่มเติมที่เรียกว่า VNCViewer บนอุปกรณ์ของคุณ เช่นเดียวกับวิธีการติดตั้งครั้งแรก ในเซิร์ฟเวอร์ เราสร้างการเชื่อมต่อใหม่โดยที่เราเขียนที่อยู่เป็น localhots และป้อนชื่อใด ๆ ในชื่อแล้วคลิกเชื่อมต่อ แอปพลิเคชันจะเชื่อมต่อและหากสำเร็จจะขอรหัสผ่านจากคุณ! รหัสผ่านบนเซิร์ฟเวอร์ทั้งหมดจะเหมือนกันเสมอ (changeme) แต่ถ้าคุณเชื่อมต่อผ่านคอมพิวเตอร์ รหัสผ่านจะแตกต่างออกไป ฉันไม่สามารถบอกคุณได้เพราะฉันไม่รู้

เมื่อทั้งหมดนี้เสร็จสิ้น คุณควรจะได้สิ่งนี้:

เพียงเท่านี้ หากคุณมีปัญหาใด ๆ เขียนไว้ในความคิดเห็นและเราจะช่วยคุณกำจัดปัญหาเหล่านั้นให้มากที่สุด เนื้อหานี้จัดทำโดย Alexander Makarenkov สำหรับเว็บไซต์ Linuxsoid.com

เจ้าของโทรศัพท์ Android จำนวนมากประสบปัญหาในการใช้งานซอฟต์แวร์ Linux จริงบนอุปกรณ์ของตน ตามกฎหมายทั้งหมดดูเหมือนว่าจะใช้งานได้ที่นี่ แต่ด้วยเหตุผลบางอย่างคุณต้องมีสิทธิ์รูทในการติดตั้งตัวติดตั้งเองจึงถูกแจกจ่ายให้กับตัวติดตั้งแบบโฮมเมดบางตัวและทางเลือกของโปรแกรมมี จำกัด มาก บทความนี้จะเสนอคำตอบสำหรับคำถามที่ว่าทำไมสิ่งนี้ถึงเกิดขึ้นและแนะนำวิธีแก้ปัญหา - วิธีที่สะดวกติดตั้งและใช้งานซอฟต์แวร์ Linux เกือบทั้งหมดบน Android

ลินุกซ์หรือไม่ใช่ลินุกซ์?

ดังที่คุณทราบ Android ใช้เคอร์เนล Linux และมีชุดไลบรารีมาตรฐานและยูทิลิตี้บรรทัดคำสั่งตามแบบฉบับของการกระจาย Linux ทั่วไป อย่างไรก็ตาม การเปิดตัวซอฟต์แวร์ Linux แบบคลาสสิกที่นี่เป็นเรื่องยากมากเนื่องจากสาเหตุหลายประการ รวมถึงความไม่เข้ากันของ ABI การขาดตัวจัดการแพ็คเกจ ระบบของตัวเองความปลอดภัยและการไม่มีส่วนประกอบมากมายของระบบ Linux มาตรฐาน

ดังนั้นแม้ว่าจะมีไลบรารีมาตรฐาน libc และอื่น ๆ ใน Android แต่การใช้งานในกรณีส่วนใหญ่ไม่เข้ากันกับไลบรารีจากโครงการ GNU และฟังก์ชันการทำงานลดลงอย่างมาก ด้วยเหตุนี้ อย่างน้อยซอฟต์แวร์ Linux จะต้องได้รับการสร้างขึ้นใหม่โดยเฉพาะสำหรับ Android และโปรเซสเซอร์ ARM และในหลายกรณีก็มีการแพตช์ด้วย โดยเพิ่มฟังก์ชันการทำงานที่ขาดหายไปในไลบรารี

BotBrew: รายการอุปกรณ์ที่รองรับ

BotBrew ได้รับการทดสอบบนอุปกรณ์ต่อไปนี้: Barnes & Noble NOOK Color, LG P970 Optimus Black, Huawei Ascend M860, HTC Desire, HTC Evo 4G, HTC Evo 3D, HTC Inspire 4G, HTC Droid Eris, HTC Hero, ซัมซุง กาแล็คซี่ Nexus, Samsung Galaxy S2 (GT-I9100), Samsung Galaxy Y (GT-S5360), Motorola Atrix 4G, Motorola Droid/Milestone, Sony อีริคสันเอ็กซ์พีเรีย X8, เอซุส EeePad Transformer TF101.

ระบบความปลอดภัยของ Android ที่ตัดสิทธิ์ของแอปโดย โปรแกรมเต็มรูปแบบและไม่อนุญาตให้พวกเขาไปไกลกว่าไดเร็กทอรีของตนเอง นอกจากนี้ยังรบกวนการทำงานของซอฟต์แวร์ Linux มาตรฐานอย่างจริงจังอีกด้วย ดังนั้นจึงมักจำเป็นต้องได้รับสิทธิ์รูท ซึ่งจะลบข้อจำกัดเหล่านี้ การไม่มีตัวจัดการแพ็คเกจที่ให้คุณติดตั้งซอฟต์แวร์ Linux ปกติได้ ไม่ใช่แค่แอปพลิเคชัน Java เท่านั้น บังคับให้นักพัฒนาเขียนแอปพลิเคชันที่จำเป็นสำหรับการติดตั้งแอปพลิเคชันอื่นเท่านั้น นี่คือลักษณะที่ตัวติดตั้งแบบกำหนดเองเหล่านี้ปรากฏขึ้น

เพื่อให้ภาพสมบูรณ์ Android ไม่มีส่วนประกอบ Linux มาตรฐานมากมาย ซึ่งรวมถึงองค์ประกอบที่สำคัญเช่นสแต็กกราฟิก X Window หรือไลบรารี GTK+ แน่นอนว่ามีความพยายามบางอย่างที่จะนำทั้งหมดนี้มาที่นี่ แต่สิ่งต่าง ๆ ไม่ได้เคลื่อนไหวไปไกลกว่าเวอร์ชันอัลฟ่ากึ่งทำงาน

อย่างไรก็ตามโอกาสในการถ่ายโอนฟังก์ชันการทำงานของระบบ Linux ที่มีคุณสมบัติครบถ้วนไปยัง Android นั้นเป็นแนวคิดที่น่าดึงดูดสำหรับผู้ที่ชื่นชอบที่จะไม่พยายามแก้ไขปัญหาที่เกิดขึ้นในกระบวนการและให้โซลูชันสากลที่ครบครันแก่เรา วิธีที่ชัดเจนและง่ายที่สุดคือเรียกใช้เวอร์ชัน "เสมือนจริง" ของการกระจาย Linux เต็มรูปแบบซึ่งเราได้เขียนรายละเอียดไปแล้ว วิธีนี้น่าสนใจ แต่ประสบปัญหาในการแบ่งระบบออกเป็นสองส่วน ซึ่งแต่ละส่วนทำงานแยกจากกัน

โปรเจ็กต์ BotBrew ดูน่าสนใจกว่ามาก - ภายในกรอบงานนั้นมีการพัฒนาตัวจัดการแพ็คเกจและพื้นที่เก็บข้อมูลที่ค่อนข้างธรรมดาสำหรับระบบ Linux ด้วยความช่วยเหลือซึ่งคุณสามารถติดตั้งซอฟต์แวร์ Linux ในไดเร็กทอรีแยกต่างหากภายใน Android นอกจากนี้ ในคราวเดียว ได้มีการคิดค้นสคริปต์ต่างๆ มากมายที่ช่วยให้คุณสามารถทำได้อย่างง่ายดายและไม่ใช้เลย ปัญหาที่ไม่จำเป็นสร้างซอฟต์แวร์ Linux ที่เหมาะสมสำหรับการทำงานภายใน Android กับพี่ใหญ่ บทความที่เหลือจะกล่าวถึงทั้งสองโครงการนี้

บอทบริว

โครงการ BotBrew ได้รับการออกแบบมาเพื่อแก้ไขปัญหาต่างๆ ในการติดตั้งซอฟต์แวร์ Linux ที่ผู้ใช้อาจมี และเตรียมระบบ Android ให้ยอมรับแอปพลิเคชันที่แปลกไป โดยพื้นฐานแล้ว ระบบประกอบด้วยสี่องค์ประกอบ:
  • พื้นที่เก็บข้อมูลที่มีการคอมไพล์ล่วงหน้าสำหรับ แอปพลิเคชัน Androidซึ่งคุณสามารถติดตั้งแอปพลิเคชั่น Linux จำนวนมากได้โดยใช้คำสั่งเดียว
  • ตัวจัดการแพ็คเกจซึ่งใช้ Opkg หรือ dpkg แบบไลท์เวทพร้อมกับ apt-get ใน BotBrew Bazil เวอร์ชันทดลอง
  • ผู้จัดการกระบวนการ runit ซึ่งจำเป็นในการเปิดใช้และบำรุงรักษาการทำงานของ daemons อย่างเหมาะสม หากมีการติดตั้งไว้
  • ระบบการสร้างที่เป็นกรรมสิทธิ์ซึ่งประกอบด้วยเครื่องมือทั้งหมดที่จำเป็นในการคอมไพล์แอปพลิเคชันข้ามโดยใช้การกระจาย Linux บนเดสก์ท็อป
ในการทำงาน ความมหัศจรรย์ของความคิดในการเขียนโปรแกรมนี้ไม่ต้องการอะไรเลย: สิทธิ์รูทและอีกเล็กน้อย พื้นที่ว่างใน หน่วยความจำภายในสมาร์ทโฟนหรือการ์ดหน่วยความจำ ยิ่งไปกว่านั้น ควรใช้ตัวเลือกแรกมากกว่า เนื่องจากในกรณีของ SD ไฟล์จะถูกดัมพ์บนดิสก์เสมือน ซึ่งคอร์ทั้งหมดไม่รองรับ


การเริ่มต้น

ในขณะนี้ BotBrew เวอร์ชันคลาสสิกซึ่งใช้พื้นที่เก็บข้อมูลของตัวเองช่วยให้คุณสามารถติดตั้งซอฟต์แวร์เช่น dcron, GCC, Git, เซิร์ฟเวอร์ dropbear SSH, เบราว์เซอร์คอนโซล Lynx, เครื่องสแกนความปลอดภัย Nmap, เครื่องมือสำรองข้อมูล rsync, โปรแกรมแก้ไข Vim, เว็บ lighttpd เซิร์ฟเวอร์, ภาษาสคริปต์ Python และ Ruby รวมถึงแพ็คเกจอื่น ๆ อีกมากมาย อย่างไรก็ตาม ทั้งหมดนี้ได้รับการติดตั้งในไดเร็กทอรีเฉพาะในหน่วยความจำภายในของสมาร์ทโฟน/แท็บเล็ต และไม่ทำให้ระบบหลักเกะกะแต่อย่างใด กล่าวอีกนัยหนึ่ง คุณสามารถกำจัด BotBrew และทุกสิ่งที่คุณติดตั้งได้โดยเพียงแค่ลบไดเร็กทอรีเดียว

ติดตั้งซอฟต์แวร์

แล้วคุณจะใช้ BotBrew เพื่อติดตั้งซอฟต์แวร์ Linux ได้อย่างไร? ก่อนอื่นเราต้องมีแพ็คเกจที่มีตัวโปรแกรมเองก่อน มีให้บริการบน Google Play (โปรดทราบว่าคุณต้องมีรูท BotBrew ไม่ใช่ Bazil รุ่นทดลอง) และมีน้ำหนักน้อยกว่าเมกะไบต์ หลังการติดตั้ง ให้เปิดและคลิกปุ่ม "ดำเนินการต่อ" ที่ด้านล่างของหน้าจอเพื่อให้ซอฟต์แวร์ดาวน์โหลดส่วนประกอบทั้งหมดที่จำเป็นสำหรับการทำงาน เช่น ตัวจัดการแพ็คเกจคอนโซลและยูทิลิตี้อื่น ๆ (ในเงื่อนไข Debian Linux - บูทสแตรป) พวกมันมีน้ำหนักเพียงไม่กี่เมกะไบต์ ดังนั้นคุณไม่ต้องรอนาน เมื่อการติดตั้งเสร็จสมบูรณ์ BotBrew จะแสดงหน้าต่างพร้อมเว็บไซต์อย่างเป็นทางการของโครงการ ซึ่งคุณสามารถปิดได้อย่างปลอดภัย

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

เต้นรำกับแทมบูรีน

หากคุณพบปัญหากับบูตสแตรปของ BotBrew คุณสามารถลองติดตั้งด้วยตนเองโดยใช้คำสั่งต่อไปนี้:

รับ http://repo.botbrew.com/anise/bootstrap/install.sh -O - | ซู
หากวิธีนี้ไม่ได้ผล คุณสามารถลองลบการติดตั้งทั้งหมด (“ลบ BotBrew” ในการตั้งค่า) จากนั้นลองเรียกใช้คำสั่งนี้

หลังจากนี้แพ็คเกจจะปรากฏบนแท็บ "ติดตั้งแล้ว" แต่คุณจะไม่เห็นปุ่ม "เรียกใช้" หรือสิ่งที่คล้ายกัน แอปพลิเคชันจะต้องเปิดตัวโดยแยกจากคอนโซลซึ่งเป็นไปตามตรรกะ แอปพลิเคชันได้รับการติดตั้งภายในโครงสร้างไดเร็กทอรี /data/botbrew ซึ่งสภาพแวดล้อมที่แท้จริงของการแจกจ่าย Linux พร้อมด้วยไดเร็กทอรี /etc, /usr และอื่นๆ จะถูก "จำลอง" และเพื่อไม่ให้ผู้ใช้ต้องทรมานกับการพิมพ์ เส้นทางเต็มก่อนคำสั่ง นักพัฒนา BotBrew ได้จัดเตรียมคำสั่ง wrapper ที่มีชื่อเดียวกันไว้ หากต้องการใช้เพื่อเปิดเบราว์เซอร์คอนโซล Lynx ที่ติดตั้งไว้คุณควรพิมพ์คำสั่งต่อไปนี้:

$ botbrew lynx http://xakep.ru
หรือสามารถเพิ่มไดเร็กทอรี /data/botbrew/bin ลงไปได้ ตัวแปรสภาพแวดล้อม PATH แต่จะต้องทำหลังจากสตาร์ทเทอร์มินัลแต่ละครั้ง:

$ ส่งออก PATH = "$ PATH: / data / botbrew / bin"
กับปีศาจต่างๆ บริการเครือข่ายอย่างไรก็ตามสิ่งต่าง ๆ ดีขึ้นมาก หลังจากเริ่มต้น daemons จะเปิดตัวทันที และคุณสามารถควบคุมการรวมเข้าด้วยกันผ่านอินเทอร์เฟซแบบกราฟิก ซึ่งสามารถเข้าถึงได้โดยคลิกที่ปุ่ม "เล่น" ที่ด้านล่างของอินเทอร์เฟซ BotBrew แอปพลิเคชันบางตัวอาจจำเป็นต้องสร้างผู้ใช้เพิ่มเติมและเปลี่ยนการตั้งค่า ซึ่งสามารถทำได้ในลักษณะเดียวกับบนระบบ Linux ทั่วไป:

  1. การสร้างผู้ใช้:
    $ botbrew adduser วาสยา
  2. การเปิดการเข้าถึงอินเทอร์เน็ตให้กับผู้ใช้:
    $ botbrew addgroup vasya inet
  3. สลับ BotBrew เป็นผู้ใช้รายอื่น:
    $ บอทบรูว์ ซู วาสยา
โปรดทราบว่าการเปลี่ยนแปลงทั้งหมดนี้จะมีผลกับสภาพแวดล้อมเสมือนของ BotBrew เท่านั้น และจะไม่ส่งผลกระทบต่อระบบหลักแต่อย่างใด คอนโซลยังสามารถใช้เพื่อติดตั้งแอปพลิเคชันโดยไม่ต้องผ่าน GUI ในการดำเนินการนี้ คุณควรใช้ตัวจัดการแพ็กเกจคอนโซล Opkg ซึ่งมีไวยากรณ์คำสั่งที่เข้ากันได้กับ apt-get:

$ botbrew opkg ติดตั้ง dropbear
การดำเนินการย้อนกลับ:

$ botbrew opkg ลบ dropbear
เพื่อให้ "อยู่ในแถวหน้าของความคืบหน้า" พื้นที่เก็บข้อมูล BotBrew จำเป็นต้องได้รับการอัปเดตเป็นครั้งคราวโดยคลิกที่ปุ่มที่เกี่ยวข้องในอินเทอร์เฟซแบบกราฟิก (คุณไม่สามารถสับสนกับสิ่งอื่นใดได้) แพ็คเกจเวอร์ชันใหม่จะแสดงบนแท็บ "อัปเกรดได้" เพียงแตะที่ชื่อของเขาแล้วคลิก "อัปเกรด"

บอทบรูว์ เบซิล

คุณยังสามารถค้นหาแอปพลิเคชันที่เรียกว่า BotBrew Basil ในตลาดซึ่งทำเครื่องหมายว่าเป็นรุ่นทดลอง โดยพื้นฐานแล้ว นี่ยังคงเป็น BotBrew เดิม แต่มีความแตกต่างที่สำคัญอย่างหนึ่ง แทนที่จะใช้ที่เก็บ Opkg และตัวจัดการแพ็คเกจของตัวเอง กลับใช้ที่เก็บและตัวจัดการ Debian Linux ARM apt-get แพ็คเกจ- ซึ่งหมายความว่าจำนวนซอฟต์แวร์ที่สามารถติดตั้งได้โดยใช้แอปพลิเคชัน "เวอร์ชันบราซิล" นั้นมีจำนวนมากกว่ามาก อีกสิบเท่า..

นอกเหนือจากการใช้ที่เก็บ Debian แล้ว Basil ยังมีอินเทอร์เฟซที่ปรับเปลี่ยนเล็กน้อยอีกด้วย ตัวอย่างเช่น หลังจากเปิดใช้งานทันที ระบบจะแจ้งให้คุณเลือกไดเร็กทอรีการติดตั้ง ค่าเริ่มต้นคือ /data/botbrew-basil ซึ่งในความคิดของฉันค่อนข้างสมเหตุสมผล แต่คุณสามารถเลือกอันอื่นได้รวมถึงในพาร์ติชัน ext2 ของการ์ดหน่วยความจำ (FAT จะไม่ทำงาน)

ข้อแตกต่างที่สำคัญประการที่สองคือความสามารถในการเลือกวิธีใช้แอปพลิเคชันซึ่งจะปรากฏขึ้นทันทีหลังจากคลิก "ดำเนินการต่อ" มีสี่ตัวเลือกที่นี่:

  1. ใช้ BotBrew บนบรรทัดคำสั่ง - โดยพื้นฐานแล้วจะเป็นการติดตั้งแบบอะนาล็อกในรูปแบบของ BotBrew ทั่วไป
  2. ใช้ระบบ dpkg/APT - การติดตั้งพร้อมกับที่เก็บ apt-get และ Debian ตัวเลือกการติดตั้งที่แนะนำ
  3. การรันโปรแกรม Python เป็นแบบอะนาล็อกของตัวเลือกแรกที่มีการติดตั้ง Python โดยอัตโนมัติ
  4. ติดตั้ง Debian ขั้นต่ำ - การติดตั้ง Debian ที่เรียบง่าย
ให้ฉันอธิบายประเด็นที่สองและสี่ BotBrew ตัวแรกและรายการแรกในรายการนี้ไม่ได้ทำอะไรมากไปกว่าการติดตั้งระบบ Linux แบบเรียบง่าย (ประกอบด้วยคำสั่งและไลบรารีเพียงไม่กี่คำสั่ง) ซึ่งเป็นที่เปิดตัวซอฟต์แวร์ Linux อย่างไรก็ตาม apt-get ต่างจาก Opkg แบบเรียบง่ายตรงที่ต้องการไม่มากก็น้อย การติดตั้งเต็มรูปแบบลินุกซ์. ดังนั้นเมื่อเลือกตัวเลือกที่สองคุณจะได้รับ micro-Linux บนสมาร์ทโฟนของคุณ และถ้าเราสามารถติดตั้ง microversion ได้ ทำไมไม่ติดตั้งการแจกจ่ายแบบเต็มรูปแบบไม่มากก็น้อย ด้วยเหตุนี้จึงมีจุดที่สี่

หลังจากบูตสแตรป BotBrew Basil ซึ่งเป็นอินเทอร์เฟซเดียวกันสำหรับจัดการการติดตั้งแอปพลิเคชันที่เราคุ้นเคย รุ่นคลาสสิกแอปพลิเคชัน และคำสั่ง botbrew2 จะปรากฏในระบบ ซึ่งคุณสามารถเปิดซอฟต์แวร์ได้ ไม่มีความแตกต่างอย่างมีนัยสำคัญในการจัดการที่นี่ ยกเว้นคำสั่ง apt-get แทน opkg และความสามารถในการเชื่อมต่อที่เก็บข้อมูลเพิ่มเติม (รวมถึงที่เก็บ BotBrew แรก) โดยตรงผ่านอินเทอร์เฟซการติดตั้งแอปพลิเคชัน

มาจัดการเรื่องของเราเองกันเถอะ

แอปพลิเคชั่นและที่เก็บข้อมูลที่คอมไพล์แล้วพร้อมแพ็คเกจสำเร็จรูปนั้นยอดเยี่ยม แต่จะเกิดอะไรขึ้นถ้าแอปพลิเคชันที่คุณต้องการไม่สามารถติดตั้งได้? ท้ายที่สุดแม้แต่ BotBrew Basil เดียวกันซึ่งช่วยให้คุณเชื่อมต่อที่เก็บ Debian กับซอฟต์แวร์จำนวนมากได้เนื่องจากลักษณะการทดลองจะไม่ทำงานบนสมาร์ทโฟนทุกเครื่อง

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

อย่างไรก็ตาม เราสามารถใช้ผลงานของผู้อื่นเพื่อทำให้กระบวนการสร้างซอฟต์แวร์เป็นแบบอัตโนมัติได้ หนึ่งในโซลูชันที่ได้รับการพัฒนาและน่าสนใจที่สุดในด้านนี้คือชุดสคริปต์ SCRIPTSET ซึ่งพัฒนาโดยผู้ใช้ smitna จาก XDA Developers ช่วยให้คุณสามารถรวบรวมแอปพลิเคชันที่หลากหลายได้อย่างแท้จริงด้วยคำสั่งเพียงไม่กี่คำสั่ง รวมถึง htop, ImageMagick, iptables, ELinks, Screen, mc, node.js, Samba, strace, QEMU, Parted, SANE (สามารถนำมาใช้สำหรับ การพิมพ์โดยตรงไปยังเครื่องพิมพ์ด้วยโทรศัพท์!) และอื่น ๆ อีกมากมาย สคริปต์จะดาวน์โหลด cross-compiler การขึ้นต่อกันและแอปพลิเคชันที่จำเป็นทั้งหมด ใช้แพตช์ตามที่จำเป็น และสร้างไฟล์เก็บถาวรที่พร้อมสำหรับการแตกไฟล์บนโทรศัพท์

SCRIPTSET ใช้งานได้บน Linux เท่านั้น แต่ถ้าคุณมี Windows คุณสามารถติดตั้ง Ubuntu ได้ เครื่องเสมือน- ถัดไป คุณควรเปิดเทอร์มินัลและติดตั้งเครื่องมือที่จำเป็นในการสร้าง cross-compiler:

$ sudo apt-get ติดตั้ง build-essential cmake autoconf2.13 scons
หลังจากนี้ คุณจะได้รับ SCRIPTSET และแกะมันออก:

$ cd ~ $ wget http://goo.gl/zvnom -O scriptset-2.6.zip $ unzip scriptset-2.6.zip
จากการแกะกล่อง เราจะได้รับ... ไฟล์เก็บถาวรอื่น: scriptset-2.6.tar.bz2 แต่นั่นไม่ใช่ทั้งหมด ไฟล์เก็บถาวรจะถูกแพ็กเกจโดยไม่มีไดเร็กทอรีรูทแบบเดิมสำหรับ tar ดังนั้นคุณต้องสร้างมันขึ้นมาเอง และแกะมันออกมาแล้ว:

ชุดสคริปต์ $ mkdir ชุดสคริปต์ซีดี $ tar -xjf ../scriptset-2.6.tar.bz2

หลังจากคลายแพ็กแล้ว สคริปต์ การกำหนดค่า รวมถึงไฟล์ README ขนาดที่น่าประทับใจซึ่งมีคำแนะนำในการใช้สคริปต์จะปรากฏในไดเร็กทอรี สคริปต์ไม่มีบิตดำเนินการ (ซึ่งไม่น่าแปลกใจ เนื่องจากปัญหาก่อนหน้านี้) ดังนั้นคุณต้องตั้งค่าด้วยตนเอง:

$ chmod 755 *.sh

# vi ~/scriptset/configuration.conf // ไดเรกทอรีสำหรับการติดตั้งแอปพลิเคชันบนสมาร์ทโฟน TARGET_SYSROOT="/data/sysroot" // โปรเซสเซอร์เป้าหมาย TARGET_MARCH="armv7-a" TARGET_MTUNE="cortex-a9" TARGET_MFPU="neon" TARGET_MFLOAT =" ซอฟต์เอฟพี"

นี่จะเพียงพอสำหรับการสร้างแอปพลิเคชันใด ๆ อย่างถูกต้อง โปรเซสเซอร์เป้าหมายจะเป็น ARMv7 มาตรฐานพร้อมชุดคำสั่ง NEON เพิ่มเติม สิ่งนี้ได้รับการติดตั้งในสมาร์ทโฟนทุกเครื่องที่เปิดตัวในช่วงสามถึงสี่ปีที่ผ่านมา ไดเร็กทอรี /data/sysroot จะถูกนำมาใช้ในการติดตั้งแอปพลิเคชันบนสมาร์ทโฟน อย่างไรก็ตาม จะต้องสร้างบนเครื่องเดสก์ท็อปด้วย:

$ sudo mkdir -p /data/sysroot $ sudo chown ผู้ใช้:ผู้ใช้ /data/sysroot $ sudo chmod 777 /data/sysroot
ตามที่ผู้เขียนสคริปต์อธิบาย การดำเนินการนี้จำเป็นเนื่องจากพาธสำหรับไดเร็กทอรีหลักในบางแอปพลิเคชันถูกเย็บไว้ในขั้นตอนการสร้าง ดังนั้น หากเราต้องสร้างแอปพลิเคชันโดยใช้ไดเร็กทอรีปัจจุบันและไดเร็กทอรีอื่น ๆ เป็นรูท มันก็จะไม่ทำงานบนสมาร์ทโฟนเนื่องจากเส้นทางที่แตกต่างกัน ฉันแน่ใจว่าการแก้ปัญหานี้โดยใช้ chroot น่าจะถูกต้องมากกว่า แต่การสร้างทำได้ง่ายกว่าและเร็วกว่า ไดเรกทอรีที่ต้องการและเมื่องานเสร็จแล้วให้ถอดออก

ต่อไปเราจะต้องระบุรายการแอปพลิเคชันที่เราวางแผนจะรวบรวม เมื่อต้องการทำเช่นนี้ ให้เปิดไฟล์ package_selection.conf และเปลี่ยน no เป็น yes ในตัวเลือกที่จำเป็น ตัวอย่างเช่น ในการสร้าง bash, ImageMagick และ Screen คุณต้องเปลี่ยนสามบรรทัดต่อไปนี้:

# vi ~/scriptset/package_selection.conf BASH=yes IMAGEMAGICK=yes SCREEN=yes
โปรดทราบว่าการตั้งค่าระหว่างบรรทัด # ALWAYS NEEDED ไม่สามารถเปลี่ยนแปลงได้ แอปพลิเคชันและไลบรารีเหล่านี้จำเป็นเสมอ และหากไม่มีแอปพลิเคชันและไลบรารีเหล่านี้ ก็ไม่สามารถสร้างแอปพลิเคชันอื่นๆ ได้ ตอนนี้คุณสามารถรวบรวมแอปพลิเคชันได้แล้ว หากต้องการทำสิ่งนี้ เพียงรันสคริปต์ build.sh โดยไม่มีอาร์กิวเมนต์:

$./build.sh
ถ้าทุกอย่าง แพ็คเกจที่จำเป็นได้รับการติดตั้งแล้วและคอมไพลเลอร์ไม่ได้สร้างข้อผิดพลาดใด ๆ ในระหว่างการสร้าง เนื่องจากการสร้างไฟล์เก็บถาวรสองรายการจะปรากฏในไดเร็กทอรีปัจจุบัน: cs-sysroot.tar.bz2 และ android-mysysroot.tar.bz2 อย่างแรกคือสภาพแวดล้อมที่จำเป็นในการรันแอปพลิเคชันที่สร้างขึ้นโดยคอมไพเลอร์ข้าม และอย่างที่สองคือชุดของแอปพลิเคชันเอง ไฟล์เก็บถาวรทั้งสองนี้จะต้องถูกถ่ายโอนไปยังการ์ดหน่วยความจำของสมาร์ทโฟน จากนั้นเรียกใช้โปรแกรมจำลองเทอร์มินัลหรือเชื่อมต่อผ่าน ADB ดำเนินการสองคำสั่ง:

$ tar xjf /sdcard/cs-sysroot.tar.bz2 $ tar xjf /sdcard/android-mysysroot.tar.bz2
ด้วยเหตุนี้ไดเร็กทอรี /data/sysroot จะปรากฏในหน่วยความจำภายในของสมาร์ทโฟนซึ่งจะมีแอปพลิเคชันอยู่ ควรเปิดใช้งานจากเทอร์มินัลเดียวกันโดยระบุเส้นทางแบบเต็ม ตัวอย่างเช่น:

$ /data/sysroot/usr/bin/bash
หรือหลังจากเริ่มเทอร์มินัลแล้ว ให้เพิ่ม /data/sysroot/usr/bin ไปที่ PATH:

$ ส่งออก PATH="$PATH:/data/sysroot/usr/bin"

ข้อสรุป

แม้จะมีความแตกต่างที่ค่อนข้างรุนแรงระหว่าง Android และการกระจาย Linux ทั่วไป แต่การติดตั้งแอปพลิเคชันคอนโซล Linux บนสมาร์ทโฟนก็ไม่ใช่เรื่องยาก น่าเสียดายที่ยังไม่มีการพูดคุยเกี่ยวกับแอปพลิเคชันกราฟิก แต่มีโครงการสำหรับการย้ายไลบรารี Qt และเซิร์ฟเวอร์กราฟิก Wayland ไปยัง Android แล้ว และในไม่ช้า ฉันหวังว่าเราจะได้รับวิธีแก้ปัญหาที่ใช้งานได้


ตีพิมพ์ครั้งแรกในนิตยสาร Hacker 08/2013