Блоги


Моя неформальная встреча с RMS в Москве.

Задалась я целью получить у RMS персональное интервью.
К чему это привело, я написала здесь

Фотограффии и звукозапись (если она удобоварима), я выложу там же.

Побольше бы таких людей... "на них и держится мир"

Linux on Ipaq 2210

Кинули пару линков в коммьюнити на то,как установить Линукс на наладонник Айпак 2210:
http://www.handhelds.org/moin/moin.cgi/HpIpaqH2200UsersDoc
http://www.handhelds.org/moin/moin.cgi/CardBoot
Была раз попытка уже,но не поднялся,завис...
Время будет,обязательно поставлю.

Ruby: First impression

На этой неделе решил немного поиграться с Ruby.Ну, что сказать, впечатления очень положительные.Да и к тому же расширить кругозор никогда не помешает.Если кому интересно
кидаю ссылочку http://www.math.umd.edu/~dcarrera/ruby/0.3/index.html
Там все коротко и ясно,для первого ознакомления вроде самое оно.

Updated Zenwalk

На моём лапте грохнулись Х-ы после очередного апдейта.
Даёшь консоль!

Преамбула блога =)

Давненько я не графоманил... аш пальцы ноют по клавишам...
Но сессия благополучно закончилась, и сталобыть можно занятся делами более интересными и насущими чем монотонное ботанье теории графов пропади она трижды пропадом...
Ну да шут с ней. Теперь буду писать сюды все решения которые удалось нагуглить в процессе использования линукса, что бы не забыть их через месяц.
Стартовые позиции:
Дистрибутив - Linux Slackware
WM - покаместь недонастроеный ion3 который на днях полетит в топку, уступив место xmonad'у

Check

Check

Знакомство с процессом загрузки

Немного разобрался в загрузке на ядра Linux на КПК

часть алгоритма в виде графа. Рисунок лёгкий (~70кб), но очень большой (2544x1523). Вряд ли может быть полезен кому-либо ещё.

TODO: установить Debian

Когда настрою APM и/или suspend, надо будет установить Debian

gaa wrote:

0. Воспользовался тем, что angstrom (да и familiar) - это урезаный Debian.
1. Поставил angstrom(http://www.angstrom-distribution.org/)
2. ipkg install dpkg
3. Далее через dpkg поставил пакеты из дебиана(начиная с того же dpkg). Обращаю Ваше внимание, что надо использовать пакеты под архитектуру armel, а не arm.
4. /usr и /var я вынес на cf-флешку, т.к. система у меня сейчас занимает около гига. Потом может быть возьмусь за оптимизацию: удалю маны, документацию, лишние локали...
5. Переставил почти всё из Debian кроме xserver-а(который взял из angstrom), благо ipk-пакеты - это те же самые deb, только с изменённым расширением. Иногда, конечно, встречается быка в DEBIAN/control, но она решается пересборкой пакета(распаковать, поменять нехорошую строчку, а потом собрать через dpkg-deb; никакой перекомпиляции не нужно). Следует отметить, что некоторые пакеты из angstrom зависят от libz1g, который в debian называется zlibg1. Это решается либо ключом --ignore-depends=libz1g у dpkg либо установкой пустого пакета libz1g, который ссылается на zlib1g.
6. И ещё пересобрал ядро на более для меня удобное(намертво вкомпилил ext3 и т.д.). Но это уже к теме не относится.

Источник И вообще, всю тему стоит почитать

Да, и чуть не забыл

Огромное спасибо людям, портировавшим Familiar Linux на rx1950

Denis Grigoriev
Vasily Khoruzhick
Victor Chukhantsev

Изучение ядра Linux

Хочу стать ядрёным хакером :)

Но документации в стиле QT-Assistent или MSDN нет.

Итак, список литературы, рекомендованный на ЛОРе.

  • Linux Kernel Newbies
  • Бовет "Ядро Linux"/"Understading the Linux Kernel"
  • Роберт Лав "Разработка ядра Linux" 2 издание
  • Kernel hacking For Dummies
  • "Ядро Linux глазами хакера" (неоднозначные отзывы)
  • "linux device drivers"

Ну и вне всякого сравнения идут

  • Documentation
  • исходники

На последнем пункте остановимся подробнее.

Читать ЭТО ВСЁ в текстовом редакторе - увольте, жизнь слишком коротка. ctags - отличная помощь, он может перейти к определению уже известной функции. Т.е. вы читаете в vim исходник, обнаруживаете вызов функции, жмете ^] - и уже читаете её определение. Если, конечно, база ctags создана и подключена.

Но:

  1. Нужно ещё найти Самую Главную Функцию
  2. переход может быть хитрым: вызов функции, чей адрес выбран из массива. Сплошь и рядом.
  3. Держать всё это в голове, даже при наличии стека переходов - сложно

А вот cscope - наш выбор :) И лучше графическая морда kscope.

Можно получить (и перейти к результатам поиска)

  • определение функции, переменной или макроса
  • список функций, вызванных из текущей.
  • список функций, вызывающих текущую ( !!! )
  • результат поиска по словам и регулярным выражениям во всём дереве исходников.

Дерево переходов можно получить в графическом виде (kscope. Есть ли в cscope?). И вообще, очень удобно.

Недостатки

  1. всё те же хитрые переходы
  2. поддерживается меньший список языков
  3. Размер базы сравним с размером исходников, т.е. ~ 300 Мб. И при её генерации нужно ~ 0,5 Гб места в /tmp

Если в пути к базе cscope есть русские буквы - ничего работать не будет (вероятно, виноват utf-8. насчёт пробелов - не проверял). Есть и другие багофичи, но плюсы перевешивают.

Добавил фотки.
Поиск
Результат поиска
Построение графа

Собственно сборка ядра

У нас уже есть необходимая среда, осталось собрать работающее ядро.

Первый вариант - найти проект для своей модели и узнать, нет ли у них собственного пути :) Для моего HP iPaq rx1950 авторы выложили патчи для ванильного ядра 2.6.20. в виде diff-файла, и рабочий конфиг там же.

Если авторы проекта пошли общим путём - ещё лучше. Здесь рассказано, как получить исходники через cvs. Разработка идёт постоянно, поэтому это очень удобный способ всегда собирать новейшее ядро. Есть один минус - никаких gzip и т.п., в первый раз придётся скачать метров 300. Возможно, удастся подбросить разархивированное ванильное ядро, но не проверял. Конфиг нужно найти в arch/arm/configs и выполнить make <имя конфига> в корне дерева исходников.

Перед сборкой нужно отредактировать Makefile, изменив переменную

CROSS_COMPILE на реальный префикс бинарных файлов из среды разработки.

Например,

CROSS_COMPILE = arm-unknown-linux-gnu-

Подготовка к сборке ядра Linux для КПК

Итак, необходимо собрать ядро Linux для КПК (http://www.handhelds.org/moin/moin.cgi/KernelDocumentation). Для этого необходима специально собранная среда из gcc и glibc (зачем? возможно, ответ есть в lfs-book). Уже собранные не подходят, т.к. старые, а gcc нужен >=4.0 - необходим для сборки ARM ABI (где применяется практически? теория-то понятна).

Джедаи с седыми я^Wголовами могут собрать самостоятельно, по заветам LFS. Точнее, Cross-LFS), но желания должно быть много. Человек, способный пройти этим путём, вызывает безоговорочное уважение.

Есть способ проще. Качаем (crosstool). Это набор шайтан-скриптов, которые и исходники скачают, и искомую среду соберут. Один скрипт demo-*.sh для каждой платформы. Скрипту нужно три каталога.

  • В текущем каталоге, куда и распакован crosstool, будет проводится сборка, не жалейте места. Два гига - хороший выбор.
  • В каталог TARBALLS_DIR будут скачиваться исходники. Ничего более. У меня - 150 Мб.
  • В каталог RESULT_TOP будет помещена собранная среда разработки. Тоже ~150 Мб

У меня arm, поэтому после распаковки редактирую и запускаю ./demo-arm.sh.

Потом добавить каталог с бинарниками

 ${RESULT_TOP}/gcc-<версия gcc>-glibc-<версия glibc>/<архитектура>/bin

в свой PATH.

Начало дневника

Сессия уже близко, времени мало... Заранее извините за несколько сумбурное начало дневника. Хотел сделать следующие несколько записей полноценной статьёй, но увлёкся предметом, теперь времени только на краткие заметки. На будущее, чтобы не забыть. Если кто сделает из них советы - буду очень рад.

ramok аватар

Популярный консольный месенджер micq сменил имя на climm

Несколько неожиданно при релизе новой версии micq 0.6, популярный консольный клиент для обмена мгновенными сообщениями сменил имя на climm (CLI-based Multi-Messenger). Официальный сайт размещается теперь по адресу http://www.climm.org/
Старый сайт (http://www.micq.org), к сожалению, уже не работает.

alexu аватар

Куча советов по vim от пользователя vti

Спасибо пользователю vti за столь обширный набор советов, неожиданно упавший в наш ящик с приходящими советами! Всем вам, любителям VIM!

alexu аватар

Смерть свободного ПО в России

Министр информации и связи Леонид Рейман предложил решить проблему лицензионности ПО в школах России одним махом - лицензированием образовательного ПО всей страны.

Последствия такого шага предугадать несложно - "кабала" всей страны от Microsoft на несколько десятилетий.

Естественно, в официальных сообщениях Microsoft не упоминается, но и "козе понятно", какой список был составлен после "консультаций с регионами и известными производителями ПО".

1

Тест!

slackware и fgxboot, splashimage

как сделать fgxboot, splashimage в слаке здесь http://divehome.blogspot.com/2007/04/slackware.html

как обновится до current и не поседеть здесь http://divehome.blogspot.com/2007/04/slackware-11-current.html

alexu аватар

Дело Александра Поносова - продолжение и ЖЖ

Как вы, наверное, слышали - дело отправлено на повторное слушание.

А Александр завел себе ЖЖ. Так как информация о нем даже пробегала вчера на /., то я немного поднапрягся и перевел его журнал на английский.

оригинал:
http://alex-ponosov.livejournal.com/

перевод:
http://alex-ponosov-en.livejournal.com/

любые дополнения, исправления неточностей перевода и замечания к нему же очень даже приветствуются.

beginning!

Всем здравстуйте!
Вот я и начал быть новым мембером = УРА!
________________________________________
и сразу же - "...Находим под столом большой железный ящик с кнопкой "Вкл"..." и-и-и...