1) Ядро Linux
2) Наличие в устройстве карточки MicroSD объёмом не менее 128мб
3) Haret - программа-загрузчик ядра запускающийся прямо из Windows CE
4) Текстовый файл с параметрами загрузки ядра
5) Образ OPIE или GPE
Приступим.
1) Скачаем образ ядра (здесь)
2) Скачаем haret
3) Скопируем всё это хозяйство в память коммуникатора (не на карточку а на встроенную память)
4) Создадим в той папке в которую скопировали, файл default.txt с таким содержанием:
set MTYPE 0x664
set KERNEL "zImage_x500"
set RAMADDR 0x30000000
set RAMSIZE 0x4000000
set CMDLINE "root=/dev/mmcblk0p2 rootdelay=5 panic=360"
bootlinux
5) Необходимо подключить microSD карту к компьютеру (через кардридер или напрямую через USB кабель+WM5Storage), при этом убедится что не один раздел не смонтировался автоматически.
6) Создадим разделы на карточке согласно такой схеме - минимум 50мб для раздела с ext3, всё оставшееся свободное пространство оставим для fat16. Для своей карты объемом 2ГБ я разбил диск на разделы по такой схеме:
+================================================+ | 1800мб - FAT16 | 213мб - EXT3 | +================================================+для выполнения этого шага использовалась утилита cfdisk.
7) Необходимо записать на созданные разделы файловую систему:
$/sbin/mkfs.msdos /dev/sdc1 -n WINDOWS
$/sbin/mkfs.ext3 /dev/sdc2 -j -L LINUX
где:
/dev/sdc - имя устройства microSD карты
/dev/sdc1 - первый раздел с windows fat
/dev/sdc2 - второй раздел с linux ext3
8) Скачаем OPIE например отсюда
9) Скопируем всё содержимое скачаного архива на раздел с линуксом (/dev/sdc2 в моём случае)
10) Отмонтируем карточку с компьютера(если использовался кард-ридер), вставим обратно в зверька, убедимся что FAT раздел на карточке виден с КПК
Перед загрузкой ядра обязательно отключаем проверку пароля при загрузке мастдая, иначе потом придётся делать хард-ресет!
11) Запускаем haret, нажимаем кнопку RUN, и... нервно ожидаем загрузки....
Приятного использования :)
Да, совсем забыл сказать, чтобы обратно перезагрузится в винду нажмите одновременно Soft-Reset и клавишу выключения (только не удерживая долго)







Полезные программы для OPIE, а также пакеты с локализацией можно скачать здесь
Полезные ссылки:
1) http://linux.cybernet.net.ru (битая?)
2) http://www.handhelds.org
3) http://ipkgfind.handhelds.org
17 комментариев:
Спасибо автору за отличную статью! Только вот сервер linux.cybernet.net.ru не работает... Может кто-то поделиться альтернативной ссылкой на ядро (файл ZImage_x500)?
Да пожалуйста ;)
Ссылку на ядро поправил
Статья и правда хороша, но есть вопрос, где брал zImage?
zImage брал с linux.cybernet.net.ru который сейчас сдох, а те в свою очередь брали/модифицировали похоже из HP H1940 (http://handhelds.org/moin/moin.cgi/HpIpaqH1940Downloads)
ребят а функции телефона под линуксом работать будут в м700?
а как запустить утилит sfdisk?ничего в нете не могу найти.Просьба по подробней и с 7 пунктом тоже.
а как запустить утилит sfdisk?ничего в нете не могу найти.Просьба по подробней и с 7 пунктом тоже.
Обьясните мне как запустить утилет cfdisk(просьба по подробней).И еще обьяснить 7 пункт(где это вообще писать?)
а для этого не надо oc linux на компе?
вообщем у меня X600 все зделал как написано. Но виснет на Jumping to Kernel...
Шаги 6, 7 делаются на ПК с установленной ОС GNU/Linux. Но никто не запрещает это сделать из под Windows.
по пункту 6 и 7: можно использовать PartitionMagic вместо cfdisk например
Функции телефона, GPS, Wifi, Bluetooth, работать не будут, кнопки клавиатуры тоже. На данный момент не существует драйверов для этих модулей.
Насчёт запуска из под Х600: Ядро ссылка на который в этой статье предназначено для работы исключительно на моделях Х500/М700.
Мне инересно, как получаются вот эти строчки:
set MTYPE 0x664
set RAMADDR 0x30000000
set RAMSIZE 0x4000000
Как их прописывать? У меня не M700, поэтому, думаю, нужно подгонять под своё устройство.
PS Мой аппарат - X800. По ссылке человек успешно запустил Линукс на M800 http://www.linuxphone.ru/2008/11/harald-welte-ports-openmoko-to-eten-glofiish-m800/
Интересно развить тему.
попытался я на свой м700 поставить.
делаю все по инструкции, но в итоге виснет на строчке:
"Warning: unable to open an initial console.
Kernel panic - not syncing: No init found.
Try parsing init = option to kernel.
Rebooting in 360 seconds."
пс: до этого писало, что невозможно монтировать ехт3 раздел и пыталось монтировать его как ехт2 (без журналирования). выдавало все равно ошибку. отформатировал раздел в ехт2 - теперь единственная ошибка - то что я написал выше.
ппс: haret уже есть 0.5.2
хм. сейчас закинул на флешку еще раз содержимое опиевского архива и теперь все загрузилось, правда при загрузке ругалось на отсутствие некоторых модулей.
видимо не доконца записывалось..
обидно, что прогрессбар наутилуса заполняется полностьью раньше, чем файлы записываются на носитель. не можете подсказать, если ли какие-нибудь средства, отображающие правильную информацию о записи?
Подсказать не смогу, так как сам еще стою на месте.
У меня на стадии загрузки, после запуска haret, всё виснет. Ядро от G500 застывает на "Jumping to Kernel", а со своим, скомпилированным ядром, устройство отключается и помогает только извлечение аккумулятора. После вставки аккумулятора обратно, включается нормально.
а anterior молчит что-то...
я поставил на x600 со своим ядром
Отправить комментарий