Чому для користувацького ROM потрібен кореневий доступ?


15

Мені хотілося б зрозуміти, і як моє запитання вказує, я взагалі не знаю мобільних пристроїв, тому вибачте, якщо це загальновідомо.

Скажіть, я хочу встановити на пристрій спеціальний ПЗУ, тоді, здається, мені потрібен кореневий доступ. Я можу дізнатися з кожної веб-сторінки про те, як я можу викорінювати пристрій, але я не можу знайти, чому мені потрібно викорінювати пристрій. Я розумію, що вкорінення пристрою просто дає мені кореневий доступ до пристрою, але навіщо це потрібно? Якщо я підключаю телефон до ПК, чи не надає мені доступ до всієї файлової системи пристрою? Якщо так, то чому я не можу просто замінити відповідні частини FS будь-яким ROM, який я хочу?

Крім того, чому вкорінення та використання користувальницького ПЗУ спричиняють засипання пристрою? Не можу я просто перезаписати ПЗУ, який спричиняв проблему, з оригіналом (який я думав створити для резервного копіювання!;)).


5
If I connect the phone to a PC then doesn't that give me access to the entire file system of the device?- За замовчуванням, ні, це не так. Він надає вам доступ до дуже конкретної частини файлової системи ("зовнішнього" сховища).
eldarerathis


@ t0mm13b Жодне з цих запитань не дає відповіді ЧОМУ . Вгадайте, я піду і покладу щось тут.
Izzy

Відповіді:


16

Коротка відповідь:

З міркувань безпеки та гарантії.

Детальна відповідь:

Це здебільшого застереження, яке вживають більшість (не всіх!) Виробників пристроїв, щоб врятувати їх від занадто багатьох запитів на обслуговування від "гри в дітлахи" (і таких людей, які хочуть спробувати все, навіть якщо вони нічого не розуміють). Тож ці виробники вживали спеціальних дій, щоб уникнути прошивки "користувацьких ПЗУ" (а точніше, будь-яких ПЗУ, не наданих самим).

Як вже зазначалося t0mm13b у коментарях вище, за замовчуванням ви не отримуєте фізичний доступ до файлової системи пристроїв, просто підключивши його через USB. Залежно від пристрою, версії Android та деяких інших критеріїв, ви можете бачити лише деталі. Це може бути вся SD-карта (фізична, в режимі UMS ) або навіть лише "логічний" доступ до її частин через MTP . Ще кілька привілейованих доступу можна отримати через ADB при включенні USB-налагодження, але за допомогою ROM- накопичувача в жодному з цих випадків ви не отримуєте повного доступу .

Тепер, як тоді здійснюються оновлення? Однією дуже поширеною практикою є використання спеціального ZIP-файлу ( update.zip). Це розміщується на SD-картці, яка вставляється в пристрій, і пристрій завантажується в спеціальний режим (відновлення), звідки update.zipможна застосувати. АЛЕ: пристрій перевіряє цілісність цього update.zip- він повинен бути підписаний ключем виробника. З очевидних причин цей ключ не є у вільному доступі - тому жодна спеціальна ПЗУ не може бути встановлена ​​таким чином у такій фондовій системі.

Усі ці речі можна обійти лише при доступі суперпристрою до пристрою - це означає: ви повинні його викорінити.

Так це для ЧОГО частини - при цьому не обробляючи частину вкорінення ЯК . Саме так, як ви просили :)


Оновлення для отримання додаткової інформації

Як у своєму коментарі Ліам зазначав, що використання fastbootметоду прошивання користувальницьких ПЗУ без попередньої умови вкорінення пристрою, я зробив трохи більше досліджень, щоб дізнатися про це. Я продовжую розглядати це, але все-таки вже хотів додати тут свої перші результати.

До певного моменту Ліам має рацію з цим: мабуть, не тільки для пристроїв Samsung (як я припускав спочатку), але й деякі інші пристрої (не всі) також підтримують цей метод, не беручи до уваги root (окрім того, що Звичайно, більшість користувальницьких ПЗУ надсилаються з укоріненими коштами - тому після встановлення у вас буде доступний root ). Однак є пристрої, які, як видається, потребують кореня навіть для fastboot flash(див., Наприклад, TheUnlockr щодо Iconia A100 , цитата: Ви, мабуть, увімкнули свій пристрій, перш ніж виконувати цю процедуру. - і так, вони використовуються fastboot flash recovery recovery.imgзгодом).

Однак, навіть якщо це fastbootпрацює для вашого не вкоріненого пристрою, є один важливий момент:

Для прошивки ПЗУ для свого пристрою Android з швидкою завантаженням необхідно мати розблокований завантажувач або інженерний завантажувач.

( Інструкція з миготіння - Android - XDA-розробники )

Що означає: Якщо завантажувач заблокований, спершу його потрібно розблокувати, що стерне (встановить на заводі) ваш пристрій. Таким чином, всі дані будуть втрачені назавжди таким чином - тоді як з root ви могли зробити повну резервну копію (Nandroid, Titanium Backup) перед цим кроком. Однак, починаючи з Android 4.0, це вже не є справжньою проблемою - оскільки ви можете зробити повне резервне копіювання через ADB (див. Повна резервна копія не вкорінених пристроїв )


Підсумок:

Є пристрої, які потребують вкорінення, перш ніж ви зможете прошивати користувацький ROM. Якщо ваш пристрій підпадає під цю категорію, причини, чому потрібен кореневий доступ для прошивки користувальницького ПЗУ, є зазначеними вище.

Однак: Існують також пристрої, які можна прошивати за допомогою, fastboot не будучи вкоріненими раніше. Якщо ваш пристрій підпадає під цю категорію, на питання, чому потрібен доступ до кореня для прошивки користувальницького ПЗУ, стає недійсним (відповідь ні, оскільки ex falso quodlibet sequitur ("з фальшивого може слідувати за будь-чим")) ви можете зробити будь-який висновок з неправильної передумови :)

Тобто: ЯКЩО потрібно вкорінення, вище сказано ЧОМУ .


1
Насправді вам не потрібен root для встановлення користувацького ROM на більшості пристроїв;)
Liam W

@LiamW Як говориться в моєму питанні, я дуже необізнаний з мобільними ОС, і у Ізі є репутація 13.3k, що свідчить про те, що він знає про це більше двох, ніж я сам; я вважаю, що його відповідь цілком правильна, оскільки я нічого не знаю протилежного; також його відповідь була також найвищою, яка проголосувала (знову вказуючи, що це технічно правильно). Тим не менш, якщо ви вважаєте, що його відповідь є невірною, сміливо оновіть свою відповідь, і якщо голоси будуть коливатися, я зміню прийняту відповідь.
R4D4

1
@LiamW Ви маєте на увазі "на більшості пристроїв Samsung ". Я ніколи не бачив пристрою, на якому можна було прошивати користувальницький ПЗУ без вкорінення, вибачте, і я не бачив деяких пристроїв. Ну, я тримався подалі від пластикових бомбардувальників ... XD Отже, технічно ваш останній коментар невірний: D
Іззі

1
Це курятина та яйце ... вам потрібен root, щоб мати можливість прошивати користувацький ПЗУ, а для того, щоб прошивати користувацький ROM, як правило , вам потрібен розблокований завантажувач із вкоріненим середовищем відновлення ... та вкоріненим середовищем відновлення, таким як CWM / TWRP .... ловити-22!
t0mm13b

1
@ R4D4 Прийнята відповідь має відповідати вам найбільше. Якщо ви не в змозі повністю оцінити відповідь, то цілком нормально не приймати її. Прийняття найвищої відповіді лише тому, що це найвища чи відповідна особа з високою репутацією, безумовно, нахмуриться. Зрештою, хоча це ваше рішення, ніхто не повинен вам говорити інакше.
Матвій

7

Як правило, не потрібно викорінювати телефон для встановлення користувальницького ПЗУ, вам доведеться викорінювати телефон, щоб встановити механізм встановлення користувальницького ПЗУ (наприклад, власне зображення відновлення).

Деякі телефони мають завантажувані завантажувачі - ви можете прошивати завантажувальні файли та файли system.img через завантажувач без необхідності викорінювати.

Ви також можете прошивати користувальницьке зображення відновлення за допомогою fastboot, не вкорінюючись .

Вам потрібно буде встановити користувальницьке відновлення, оскільки відновлення запасів перевіряє, чи не підписано поштовий індекс, і більшість спеціальних ZIP-файлів не підписані.

Вам може знадобитися викорінити, щоб встановити користувальницьке зображення для відновлення, якщо ваш пристрій не підтримує швидку завантаження, але, як правило, цього не потрібно - він просто постачається із встановленим вами зображенням.

Пристрої Samsung мають режим завантаження - для його використання не потрібно вкорінюватися, вам просто потрібен ODIN.

Якщо я підключаю телефон до ПК, чи не надає мені доступ до всієї файлової системи пристрою? Якщо так, то чому я не можу просто замінити відповідні частини FS будь-яким ROM, який я хочу?

Ні, це не так. Він надає доступ лише для читання, тому ви не можете перезаписувати файли в /systemкаталозі. Корінь можна використовувати для /systemчитання, яке можна прочитати.


1
"Зазвичай вам не потрібно викорінювати телефон для встановлення користувальницького ПЗУ, вам доведеться викорінювати телефон, щоб встановити механізм встановлення користувальницького ПЗУ (наприклад, власне зображення відновлення)." напевно, зводиться до того, що вам справді потрібен рут, щоб перейти від наявності запасних операційних ОС до користувальницького ПЗУ?
GAThrawn

1
@GAThrawn Nope. Ви можете спалахнути власне відновлення за допомогою fastboot. Вам не потрібно виконувати корінний доступ для доступу до fastboot (а іноді вам потрібно скористатися fastboot для доступу до root)
Liam W

1
У багатьох пристроях, що не належать Samsung, немає завантажувальних завантажувачів (особливо старіших), тому ви не можете виконати користувальницьке відновлення без попереднього використання завантажувача якось або інсталяції відновлення іншим способом (ROM Manager / Goo Manager). Часто це стосується вкорінення, хоча це може бути не завжди так. Я думаю, що це те, що @GAThrawn та інші намагаються досягти. Більшість виробників почали пропонувати інструмент для розблокування завантажувача, але багато хто до цих пір цього не зробив. Наприклад, пристрої Motorola, як відомо, важко отримати власні ПЗУ порівняно з іншими.
eldarerathis
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.