Моё ядро работает
Sep. 28th, 2012 04:04 pmИтак, друзья, спустя месяц мук, чтения моря мануалов, сегодня я запустил таки ядро! Да, rootfs пока грузится по сетке nfs. Пока какие-то грабли наблюдаются с инициализацией корневой файловой системы с флешки, но оно работает. Работают все железки и цепляются все мною созданные разделы на флешке:
Пусть вас не смущает то, что бизибокс пишет, что он позапрошлогодний. Я взял просто точно работающую rootfs, а ядрышко свеженькое, только из печки:
Это своя специфическая платка, с хитрой нестандартной схемой на базе процессора семейства PowerPC mpc8360e.
Почти месяц мучений. К слову сказать для этого, на вскидку, мне пришлось изучить: английский язык; что такое проект OpenWRT и работу с ОС (компиляция, настройка); конфигурацию и сборку ядра; тонкую доводку сборки ядра; понять что такое и научиться пользоваться tftp- и nfs-серверами; разобраться с тем, что такое загрузчик, для чего он нужен; разобраться с u-boot (загрузчик) и тоже собрать его; всечь фишку с тем как описываются устройства в этом камне и научится писать device tree (файл описания всех устройств и их ерархию); компиляция этого файла, и ДЕкомпиляцию его (был старый рабочий файл, написанный другим человеком). Это на вскидку. Всего и не упомнишь.
Что я чувствую... Хочется уподобится Ксюше Собчак и сказать, что чувства примерно такие же как будто я только что потерял девственность: хочется бегать по городу и кричать УРАААА :)).
На последок людям, которые работают, изучают или планируют работать с Embedded Linux хочу порекомендовать шикарную книгу, правда на английском языке: "Embedded Linux Primer" автор Christopher Hallinan .

Гуглица она на раз, но в бумаге стоит аш 30-40 баксов без доставки. Но вполне хватает и в pdf. Я человек, который не знает английского языка читаю её просто запоем (да со словариком, да долго, но читаю!). Там описанны очень многие распространённые проблемы, задачи и решения. Рекомендуется к ознакомлению. Я её использую ещё как справочный материал.
З.Ы. особо хочется побить себя пяткой в грудь, сказав что всё было освоено практически без постороней помощи и форумов, исключительно гуглежом.
З.З.Ы. Так же довелось разобраться с JTAG-отладчиком, тем самым страшным BDI-2000, и в gdb погонять u-boot (те кто в теме поймут). Но поскольку это было в образовательных целях, я поковырял, всёк фишку и забил. В книжке, кстати об этом тоже хорошо рассосано.
BusyBox v1.17.2 (2010-09-09 16:08:23 MSD) built-in shell (ash)
Enter 'help' for a list of built-in commands.
_______ ________ __
| |.-----.-----.-----.| | | |.----.| |_
| - || _ | -__| || | | || _|| _|
|_______|| __|_____|__|__||________||__| |____|
|__| W I R E L E S S F R E E D O M
KAMIKAZE (bleeding edge, r22987) ------------------
* 10 oz Vodka Shake well with ice and strain
* 10 oz Triple sec mixture into 10 shot glasses.
* 10 oz lime juice Salute!
---------------------------------------------------
root@OpenWrt:/#
Пусть вас не смущает то, что бизибокс пишет, что он позапрошлогодний. Я взял просто точно работающую rootfs, а ядрышко свеженькое, только из печки:
root@OpenWrt:/# uname -a Linux OpenWrt 3.3.8 #17 Fri Sep 28 14:58:36 MSK 2012 ppc GNU/Linux
Это своя специфическая платка, с хитрой нестандартной схемой на базе процессора семейства PowerPC mpc8360e.
Почти месяц мучений. К слову сказать для этого, на вскидку, мне пришлось изучить: английский язык; что такое проект OpenWRT и работу с ОС (компиляция, настройка); конфигурацию и сборку ядра; тонкую доводку сборки ядра; понять что такое и научиться пользоваться tftp- и nfs-серверами; разобраться с тем, что такое загрузчик, для чего он нужен; разобраться с u-boot (загрузчик) и тоже собрать его; всечь фишку с тем как описываются устройства в этом камне и научится писать device tree (файл описания всех устройств и их ерархию); компиляция этого файла, и ДЕкомпиляцию его (был старый рабочий файл, написанный другим человеком). Это на вскидку. Всего и не упомнишь.
Что я чувствую... Хочется уподобится Ксюше Собчак и сказать, что чувства примерно такие же как будто я только что потерял девственность: хочется бегать по городу и кричать УРАААА :)).
На последок людям, которые работают, изучают или планируют работать с Embedded Linux хочу порекомендовать шикарную книгу, правда на английском языке: "Embedded Linux Primer" автор Christopher Hallinan .

Гуглица она на раз, но в бумаге стоит аш 30-40 баксов без доставки. Но вполне хватает и в pdf. Я человек, который не знает английского языка читаю её просто запоем (да со словариком, да долго, но читаю!). Там описанны очень многие распространённые проблемы, задачи и решения. Рекомендуется к ознакомлению. Я её использую ещё как справочный материал.
З.Ы. особо хочется побить себя пяткой в грудь, сказав что всё было освоено практически без постороней помощи и форумов, исключительно гуглежом.
З.З.Ы. Так же довелось разобраться с JTAG-отладчиком, тем самым страшным BDI-2000, и в gdb погонять u-boot (те кто в теме поймут). Но поскольку это было в образовательных целях, я поковырял, всёк фишку и забил. В книжке, кстати об этом тоже хорошо рассосано.
no subject
Date: 2012-09-28 12:30 pm (UTC)no subject
Date: 2012-09-28 12:45 pm (UTC)Но на самом деле можно даже по русски найти сборка OpenWRT . Единственное, что опенврт громадный проект с тулчейном и т.п. Я его после полного скачивания распатронил по разным папкам (ядро в одну, тулчейн в другую).
no subject
Date: 2012-09-28 12:45 pm (UTC)no subject
Date: 2012-09-28 12:48 pm (UTC)no subject
Date: 2012-09-28 12:50 pm (UTC)no subject
Date: 2012-09-28 12:54 pm (UTC)no subject
Date: 2012-09-28 01:05 pm (UTC)Роутеров, подходящих под OpenWRT у меня нет. Увы
no subject
Date: 2012-09-28 01:13 pm (UTC)no subject
Date: 2012-09-28 01:15 pm (UTC)no subject
Date: 2012-09-28 01:16 pm (UTC)no subject
Date: 2012-09-28 01:22 pm (UTC)no subject
Date: 2012-09-28 01:26 pm (UTC)Как книга оно истошно глючит, выкинуть - не-не-не. Вот и задумался
no subject
Date: 2012-09-28 01:36 pm (UTC)Вот у меня сейчас порой выплывают такие грабли, что просто не у кого спросить. Может в мире и есть люди, которые знают в чём проблема, но во первых их надо найти, во вторых им ПРАВИЛЬНО описать проблему, и они должны её ПРАВИЛЬНО понять, в третьих проблема может быть в лишней запятой, о которой вспомнишь случайно.
no subject
Date: 2012-09-28 01:36 pm (UTC)no subject
Date: 2012-09-28 01:45 pm (UTC)no subject
Date: 2012-09-28 01:49 pm (UTC)Ну и тут просто цель достаточно ясна :) . Вот с дисплеем из книжки цель мне ясна, и ясна зачем. Но конечный проект столь громаден, что цель не ясна, и я могу делать его самыми изощрёнными способами :).
З.Ы. Моя грамотность к концу недели падает до нуля, от переутомления.
no subject
Date: 2012-09-28 01:50 pm (UTC)Вот бы её в бумаге...
no subject
Date: 2012-09-28 02:15 pm (UTC)no subject
Date: 2012-09-28 02:41 pm (UTC)no subject
Date: 2012-09-28 03:40 pm (UTC)Кстати, если ядро загрузилось, то с ним можно болтать через ProcFS (https://en.wikipedia.org/wiki/Procfs). Пишется небольшой модуль на 20 строчек, грузится insmod'ом, выгружается rmmod'ом - можно напрямую читать память, работать с железом (как в AVR.. няка), полный блэкджек - при этом связь на user space через open/read/write/close IO. Ляпота.
no subject
Date: 2012-09-29 06:21 am (UTC)no subject
Date: 2012-09-29 09:48 am (UTC)no subject
Date: 2012-09-29 09:48 am (UTC)no subject
Date: 2012-09-29 09:50 am (UTC)Спасибо за наводку.
no subject
Date: 2012-09-29 09:58 am (UTC)несколько утрированно, но действительно более проникся, чем понял. ты крут, в общем)
no subject
Date: 2012-09-29 10:12 am (UTC)no subject
Date: 2012-09-29 10:16 am (UTC)no subject
Date: 2012-10-01 07:18 am (UTC)ПС. Да, и слова "последок" и "вскидка" скорее слегка устаревшие, поэтому сами по себе не используются, а сливаются с "на", стоящим впереди :) Исключением могу принять только отмазку о "художественном авторском приеме". С уважением, ваш Граммарнациев А.
no subject
Date: 2012-10-01 08:00 am (UTC)no subject
Date: 2012-10-01 03:47 pm (UTC)