dlinyj: (Default)
[personal profile] dlinyj
Итак, друзья, спустя месяц мук, чтения моря мануалов, сегодня я запустил таки ядро! Да, rootfs пока грузится по сетке nfs. Пока какие-то грабли наблюдаются с инициализацией корневой файловой системы с флешки, но оно работает. Работают все железки и цепляются все мною созданные разделы на флешке:

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 (те кто в теме поймут). Но поскольку это было в образовательных целях, я поковырял, всёк фишку и забил. В книжке, кстати об этом тоже хорошо рассосано.

Date: 2012-09-28 12:30 pm (UTC)
From: [identity profile] goodic.livejournal.com
а по сборке ядра и вообще этой теме можешь посоветовать что-либо почитать??

Date: 2012-09-28 12:45 pm (UTC)
From: [identity profile] dlinyj.livejournal.com
Дал же вот книжечку. Я может чутка позже распишу как я ядро собирал.

Но на самом деле можно даже по русски найти сборка OpenWRT . Единственное, что опенврт громадный проект с тулчейном и т.п. Я его после полного скачивания распатронил по разным папкам (ядро в одну, тулчейн в другую).

Date: 2012-09-28 12:45 pm (UTC)
From: [identity profile] dlinyj.livejournal.com
Спасибо погляжу. Буду признателен за ссылочки.

Date: 2012-09-28 12:48 pm (UTC)
From: [identity profile] goodic.livejournal.com
рекомендованная книга годится для человека ни разу ядер не собиравшего и имеющего крайне слабое представление о процессе?

Date: 2012-09-28 12:50 pm (UTC)
From: [identity profile] dlinyj.livejournal.com
Рекомендую, опять же, начать с того, что самостоятельно собрать ядро для роутера. Это делается буквально за 20 минут, зато даёт очень хорошее представление как. На русском море информации.

Date: 2012-09-28 12:54 pm (UTC)
From: [identity profile] dlinyj.livejournal.com
Парадокс заключается в том, что универсального рецепта нет. Всё очень индивидуально. Надо брать обкатанную эмбендед отладочную платку (френдли арм, например, или какую другю), на которю ВАГОН и маленькая телега инфы, и дальше уже действовать согласно манам. НО(!) каждое действие нужно чётко представлять зачем (для чего каждая опция и т.п.), читая мануалы. Тогда приходит озарение.

Date: 2012-09-28 01:05 pm (UTC)
From: [identity profile] goodic.livejournal.com
что-то мне подсказывает, что лубок (Lbook) такой платформой станет.

Роутеров, подходящих под OpenWRT у меня нет. Увы

Date: 2012-09-28 01:13 pm (UTC)
From: [identity profile] dlinyj.livejournal.com
Скажу, что горюшка на первых порах можно хлебнуть много с таким девайсом. А что ты хочешь получить? Может без пересборки ядра можно этого добиться?

Date: 2012-09-28 01:15 pm (UTC)
From: [identity profile] svchost1101.livejournal.com
А мы сперва QNX пилили под свои нужды, а потом меня жаба замучила, что какая-то невнятная хрень жрет такты процессоров и выкинули ОС нафиг.

Date: 2012-09-28 01:16 pm (UTC)
From: [identity profile] svchost1101.livejournal.com
Но за книжку всё равно спасибо, не всегда такая железячная халява выпадает. Точнее она достаточно редко бывает :(
Edited Date: 2012-09-28 01:20 pm (UTC)

Date: 2012-09-28 01:22 pm (UTC)
From: [identity profile] dlinyj.livejournal.com
В коментах товарищ тоже гарную книжку посоветовал

Date: 2012-09-28 01:26 pm (UTC)
From: [identity profile] goodic.livejournal.com
знаний.

Как книга оно истошно глючит, выкинуть - не-не-не. Вот и задумался

Date: 2012-09-28 01:36 pm (UTC)
From: [identity profile] dlinyj.livejournal.com
Побаловаться можно. Но если ты меня давно читаешь, то заметишь, что я так и ни с чем толком не разобрался (френдли арм, платка бюрократа, ещё какие-то линукс девайсы). Со всем кроме роутера, т.к. им заниматся овердофига народу.

Вот у меня сейчас порой выплывают такие грабли, что просто не у кого спросить. Может в мире и есть люди, которые знают в чём проблема, но во первых их надо найти, во вторых им ПРАВИЛЬНО описать проблему, и они должны её ПРАВИЛЬНО понять, в третьих проблема может быть в лишней запятой, о которой вспомнишь случайно.

Date: 2012-09-28 01:36 pm (UTC)
From: [identity profile] svchost1101.livejournal.com
а это моя настолка :)

Date: 2012-09-28 01:45 pm (UTC)
From: [identity profile] goodic.livejournal.com
знакомо. по всем пунктам.

Date: 2012-09-28 01:49 pm (UTC)
From: [identity profile] dlinyj.livejournal.com
Я к чему веду, пока интерес ради интереса, то быстро сдуваешься. А у меня интерес + работа, и уже никуда не дется. Приходишь сонный, хочешь спать, но всё равно фигачишь. На самом деле это ооооОооочень эффективно.

Ну и тут просто цель достаточно ясна :) . Вот с дисплеем из книжки цель мне ясна, и ясна зачем. Но конечный проект столь громаден, что цель не ясна, и я могу делать его самыми изощрёнными способами :).

З.Ы. Моя грамотность к концу недели падает до нуля, от переутомления.
Edited Date: 2012-09-28 01:49 pm (UTC)

Date: 2012-09-28 01:50 pm (UTC)
From: [identity profile] dlinyj.livejournal.com
мечтательно

Вот бы её в бумаге...

Date: 2012-09-28 02:15 pm (UTC)

Date: 2012-09-28 02:41 pm (UTC)
From: [identity profile] dlinyj.livejournal.com
В нашей деревне можно купить. Решил разориться на 2200 рублей (примерно 580 гривен) и заказал. Будет через 22 дня. Пущай наш магаз берёт все риски связанные с почтой России на себя.

Date: 2012-09-28 03:40 pm (UTC)
From: [identity profile] arkamax.livejournal.com
Джедай, и да пребудет с тобой printk() (вздумал тут барствовать с JTAG'ом :) шучу). Я балуюсь с Freescale iMX28 (ARM9), у них своя система сборки корневой системы вместе с ядром, называется LTIB (http://ltib.org/), вроде есть под чуть ли не все архитектуры. Милейшая штука, конфигурируется в терминале, включая опять же ядро, поддерживает включение сторонних пакетов с минимальным курением (если софт писан на Makefile, он впиливается в кросс-компиляцию за 5 минут, часто без изменений вообще).

Кстати, если ядро загрузилось, то с ним можно болтать через ProcFS (https://en.wikipedia.org/wiki/Procfs). Пишется небольшой модуль на 20 строчек, грузится insmod'ом, выгружается rmmod'ом - можно напрямую читать память, работать с железом (как в AVR.. няка), полный блэкджек - при этом связь на user space через open/read/write/close IO. Ляпота.

Date: 2012-09-29 06:21 am (UTC)
From: [identity profile] nemo-q.livejournal.com
Поздравляю. Я так понял, это первые результаты нового тайм-менеджмента ;)

Date: 2012-09-29 09:48 am (UTC)
From: [identity profile] dlinyj.livejournal.com
Это настройки ЖЖ. Всё нормально, спасибо большое!

Date: 2012-09-29 09:48 am (UTC)
From: [identity profile] dlinyj.livejournal.com
Скорее новой работы :)

Date: 2012-09-29 09:50 am (UTC)
From: [identity profile] dlinyj.livejournal.com
printk() со мной пребывает. Порой проще его поставить, чем иметь секс с джетагом.

Спасибо за наводку.

Date: 2012-09-29 09:58 am (UTC)
From: [identity profile] berrymorr.livejournal.com
"чувак, вот то, что ты сейчас сказал - я нихера не понял, но ты заговорил, и достучался до моего сердца!"
несколько утрированно, но действительно более проникся, чем понял. ты крут, в общем)

Date: 2012-09-29 10:12 am (UTC)
From: [identity profile] dlinyj.livejournal.com
Спасибо, мне очень приятно. Если перевести на нормальный язык, то что я сделал требовало от меня много усидчивости, чтения моря литературы (только на английском), а главное желания. И этим я горд, особая гордость в том, что я разобрался в этом практически без посторонней помощи.

Date: 2012-09-29 10:16 am (UTC)
From: [identity profile] nemo-q.livejournal.com
тогда есть чему радоваться вдвойне )

Date: 2012-10-01 07:18 am (UTC)
From: [identity profile] aterentiev.livejournal.com
клево, ты теперь в теме намного более глубоко, чем я - простой юзверь готовых сборок :)

ПС. Да, и слова "последок" и "вскидка" скорее слегка устаревшие, поэтому сами по себе не используются, а сливаются с "на", стоящим впереди :) Исключением могу принять только отмазку о "художественном авторском приеме". С уважением, ваш Граммарнациев А.

Date: 2012-10-01 08:00 am (UTC)
From: [identity profile] dlinyj.livejournal.com
Это австорский ход. Я часто использую относительно устаревшие выражения. В "Хакере" ещё с литредом бодался, говоря, что это мой стиль :)

Date: 2012-10-01 03:47 pm (UTC)
From: [identity profile] arkamax.livejournal.com
Ты не пробовал JTAG настраивать на построчную отладку ядра в IDE? Это было бы полное ку... у меня пока руки не дошли поковырять.

January 2026

S M T W T F S
    123
456 78910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 23rd, 2026 06:41 pm
Powered by Dreamwidth Studios