--- layout: post title: "Sharp Zaurus C700" description: "Процесс портирования современного ПО на старенький Sharp Zaurus" --- Как-то с детства я полюбил маленькие переносные устройства. И так как в моё детство КПК были недоступны, то приходилось довольствоваться моддингом мобильных телефонов и смартфонов, переделывая их в некое подобие их больших братьев-пекарень. И пока я менял анимации и меню с иконками из Windows в своём Siemens CX75, в Японии начали выходить устройства серии Sharp Zaurus. В 2003 году появился Sharp Zaurus SL-C700: ![Sharp Zaurus SL-C700](http://www.mobile-review.com/pda/review/image/sharp/zaurus-c700/open.jpg) Это ARM'овая железка с процессором pxa250, из коробки на ней Linux 2.4.28, busybox и японская версия Qtopia (очень легковесная среда рабочего стола на старом Qt). Японское ПО не устроило пользователей, и товарищи локализовали и допилили стоковую прошивку, назвав итоговое поделие [Cacko ROM](http://my-zaurus.narod.ru/cacko.html) ([зеркало](https://katastrophos.net/zaurus/)). А вот ребята из OpenEmbedded пошли дальше: они написали что-то похожее на современные bootloader'ы и позволили загружаться не только с внутренного ограниченного NAND'а, но и с SD-карты. Называется он [kexecboot](https://github.com/kexecboot/kexecboot/wiki). Замечу, что разработка ПО для Zaurus форсировало проект OpenEmbedded, который стал основой Yocto Project -- одного из самых популярных продуктов для сборки дистрибутивов Linux для embedded-устройств. Чуть позже товарищ Omegamoon успешно портировал [Ubuntu 8.04](http://www.omegamoon.com/blog/static.php?page=ZaurusUbuntu) с оболочкой LXDE, фактически задав вектор на создание и портирование десктопных дистрибутивов Linux'а с X11, тысячи их: Debian, Angstrom, OpenZaurus, Arch Linux ARM. Даже OpenBSD портировали под Zaurus. Проблема только в том, что все эти дистрибутивы (как и железка, собственно, за 13 лет) уже давно протухли. А вот что интересно, так это то, что ребята из OpenEmbedded до сих пор поддерживают сборку ядра под все вышедшие субноутбуки серии Sharp Zaurus. Слой можно найти на сайте openembedded: [meta-handheld](https://layers.openembedded.org/layerindex/branch/master/layer/meta-handheld/). На момент написания заметки доступно ядро Linux 4.4. И так как моя половая ориентация не позволяет использовать Yocto, то я начал всё собирать под buildroot'ом, в том число перенеся патчи для ядра из репозитория OpenEmbedded.