Android 1.0 запущен на Nokia N810

Не так давно мы сообщали об удачном запуске Linux на iPhone, как поступили свежие интересные новости о ещё одном успешном взломе. На этот раз в центре внимания аппарат Nokia N810, на котором удалось заставить работать программную платформу Android 1.0.

Сразу отметим, что попытки портировать Android на N810 уже совершались неоднократно, а одна из них в июле этого года даже завершилась успехом. Тогда команда из трёх хакеров, известных в своих кругах под псевдонимами PenguinBait, B-man и QWERTY-12, сумела установить на финский смартфон предрелизную версию Android. Теперь же их успех закрепили специалисты из китайской консалтинговой компании NthCode, специализирующейся на разработке мобильных Linux-систем, которые запустили на нём первую финальную версию операционной среды от Google.

В процессе исследований было обнаружено, что Nokia N810 работает на модифицированном ядре Linux 2.6.21, тогда как Android 1.0 включает изменённое ядро версии 2.6.25. Между датами выпуска этих двух версий прошло около года и за всё это время сообщество разработчиков внесло тысячи изменений в код ядра. Поэтому программистам потребовалось отследить и проанализировать все эти модификации.

Были обнаружены существенные отличия между стандартным Linux-ядром и тем ядром, которое используется в Android. Как оказалось, Google изменила 75 файлов и добавила 88 собственных. В свою очередь, Nokia внесла только те изменения в ядро, которые были нужны для поддержки некоторых аппаратных компонентов. Системные службы ОС не были затронуты, также финские разработчики не добавляли новые интерфейсы.

Linux-ядро 2.6.21 было “пропатчено” следующими программными компонентами от Nokia:

 

  • Драйвером для карт Multi Media Card;
  • Драйвером для контроллера последовательной шины I2C;
  • Драйвером для сенсорной панели;
  • Драйвером для клавиатуры;
  • Драйвером для аудио и видео DSP-процессоров;
  • Драйвером для DMA;
  • “Заплаткой” для поддержки системной платы.

После всех манипуляций и многочисленных циклов “сборка/тестирование/исправление ошибок”, новое ядро загрузилось на N810. Правда, драйвер для Wi-Fi чипа не был доступен в исходных кодах, поэтому его не удалось перекомпилировать для нового ядра.

Далее в полученное ядро были добавлены “заплатки” Android. К счастью, патчи Android и N810 не пересекались на уровне ядра, что не вызвало конфликтов и облегчило труд программистов.

После двух недель проделывания всех выше перечисленных манипуляций была осуществлена первая (и не очень успешная) попытка запуска новой сборки. Для устранения ключевых обнаруженных неполадок потребовалось ещё пять дней, после чего N810 успешно заработала под управлением Android.

 

n810 Android

Но на этом работа исследователей не останавливается. Ведь ещё предстоит обеспечить возможность установки сторонних приложений и доступ к интернету, а для этого потребуется добавить поддержку Android Debug Bridge, устранить периодическое падение системы, заставить работать Wi-Fi чип.

Скачать сборку Android для N810 можно здесь. Традиционно предупреждаем – корректную работу этого программного пакета никто не гарантирует.

Александр Будик, 3DNews





Последние новости

Подгружаем последние новости