The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Установка pocketWorkstation на Sharp Zaurus SL-6000L (palm pocketpc pda linux qt)


<< Предыдущая ИНДЕКС Правка src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: palm, pocketpc, pda, linux, qt,  (найти похожие документы)
From: realloc <realloc@realloc.spb.ru.> Newsgroups: http://realloc.spb.ru Date: Mon, 12 Jun 2005 18:21:07 +0000 (UTC) Subject: Установка pocketWorkstation на Sharp Zaurus SL-6000L Оригинал: http://realloc.spb.ru/docs/sl6kdeb.html Здесь речь пойдёт об установке на Sharp Zaurus SL-6000L Debian GNU/Linux в версии от pocketworkstation.org. Документ этот пишется для сбора в одном известном мне месте информации по вопросу тонкостей, касающихся именно этой связки. Если у вас появились свежие мысли по этому поводу, или вы нашли какую-то неточность - буду рад общению. Первоначально слизано с http://digilander.libero.it/c700/ с поправками для моей модели и переводом на русский + внесение собственного опыта. Идея pocketWorkstation достаточно проста - Запустить на Zaurus полноценный Debian в chroot. Из этого вытекает возможность пользоваться большим количеством софта, привычного по десктопу. Недостатком можно считать большее потребление ресурсов и гораздо меньшую ориентированность приложений на наладонное использование. Автором предлагаеться использовать не стандартные Xы для интерфейса, а достаточно оригинальное сочетание их Xvnc и fbvnc. Т.е. VNC сервера и клиента на одной машине. При кажущейся бесполезности подход весьма эффективен, т.к. позволяет использовать различные разрешения и масштабировать изображение, да ещё и с antialiasing'ом. Всякие мелкие приятности в виде возможности оставить иксовые приложения работать в бэкграунде и на время запустить Кутопию, он-скрин клавиатурку, регуляторы и переворачивалки с масштабированием я не упоминаю :) Все инструкции предполагают использование дефолтного рома от Sharp. Что нам потребуется: * Zaurus SL-6000 * Карта памяти. В моём случае 1Gb SD * Начальный образ системы большой или [http://pocketworkstation.org/files/zaurus-debian-base-v0.17.tgz маленький]] * fbvnc c поддержкой SL-6000 Подготвка QTopia Нам потребуется какой-нибудь терминальчик, и немного текстового редактора. Для этих целей вполне подойдёт QKonsole. Для любителей есть ещё MC. По умолчанию в SharpROM /bin/sh указывает на /bin/ash. Надо исправить это досадное недоразумение. Запускаем консольку. bash-2.05$ su # mount -o rw,remount /dev/root / # rm /bin/sh # ln -s /bin/bash /bin/sh Т.к. нашу SD мы будем держать в ext2, то надо внести изменения в /etc/fstab. Опция noauto указана не случайно. Монтирование произойдёт автоматически через sdcontrol после подгрузки модуля для SD карточек. /dev/mmcda1 /usr/mnt.rom/card ext2 rw,noatime,noauto 0 0 По некоторым сведениям в SD модуле от шарпа есть бага, которая вешает устройство при большой нагрузке в асинхронном режиме. Так что если это наблюдается, то надо сделать так: /dev/mmcda1 /usr/mnt.rom/card ext2 rw,noatime,sync,noauto 0 0 Таким образом мы сможем пожертвовать скоростью в пользу стабильности. Paolo Sarpi предлагает так же поправить /etc/sdcontrol: --------BEGIN SNIP-------- FSTYPE="-t ext2" FATOPTS="-o noatime,quiet,umask=000,iocharset=utf8" EXT2OPTS="-o noatime" --------ENDOF SNIP-------- --------BEGIN SNIP-------- case "$ACTION" in 'insert') # mount $FSTYPE $FATOPTS $DEVICE $MOUNT_POINT mount $FSTYPE $EXT2OPTS $DEVICE $MOUNT_POINT MOUNT_RES = `mount | grep $DEVICE` if [ "$MOUNT_RES" = "" ]; then mount $FSTYPE $DEVICE $MOUNT_POINT fi --------ENDOF SNIP-------- Подготовка карточки Если имеется в наличии кардридер, то лучше всё это делать с настольной машинки. Нам надо отформатировать карточку в ext2. # mke2fs /dev/mmcda1 И после этого распаковать на неё образ системы. (большой или маленький). Распаковывать можно в поддиректорию, однако мне больше нравится когда корень карточки есть корень системы. Ибо есть надежда на монтирование его как / :) Настройка системы Прежде чем двигаться дальше обратимся к памяти, которой всегда не хватает. Мы можем обойти эту проблему создав swap файл нанашей SD. Создавать мы его будем на 64 мегабайта. Пропишем активацию свопа в rc.local. swapon /mnt/card/.swap exit 0 И теперь добавляем его на 5 runlevel. # dd if=/dev/zero of=.swap bs=1024 count=65535 # ln -s /etc/rc.d/rc.local /etc/rc.d/rc5.d/S80local Что бы добавить скрипты запуска Debian в chroot и сделать последние штрихи в нашем окружении, надо запустить INSTALL.d/postinst.sh. В моём случае: /mnt/card/NSTALL.d/postinst.sh. На все вопросы, кроме предложения запуска Xvnc и fbvnc (последние два вопроса) отвечаем утвердительно. Теперь пришло время подменить умолчанные Xvnc и fbvnc на более продвинутые. Брать из http://pocketworkstation.org/files/ Качаем Xvnc-xf4vnc-4.3.0.104-kw1-arm.gz и fbvnc-arm-experimental-2004-08-03.gz, распаковываем, переименовываем. Xf4vnc кладём в /mnt/card/usr/bin , делаем там же на неё симлинк Xvnc. fbvnc отправляется в /mnt/card/usr/local/bin Далее идём подгонять под себя скрипты. Новая версия fbvnc (мы её уже установили) поддерживает обмен с Xvnc через shared memory, что значительно быстрее, чем гонять данные через loopback. Если хочется это использовать, то: --------BEGIN SNIP-------- if [ -z "$1" ]; then fbvnc -shared 127.0.0.1:1 else fbvnc -shared "$@" fi --------ENDOF SNIP-------- Правим /etc/debroot.conf по своему вкусу. DEBROOT=/usr/mnt.rom/card DEB_RUN_VNCSERVER=1 DEB_RUN_FBVNC=1 DEB_ZAPM_PROXY=1 DEB_RUN_ZAPMD=1 Осталось поправить разрешение будущего десктопа. Идём в /mnt/card/usr/local/bin/zvncserver и правим Xvnc -geometry 480x640 -depth 16 -pixelformat RGB565 Там же убираем ненужное нам при открытии новой сессии. Например кучку терминалов. И добавляем смену фона на более приличный. # autohide mouse pointer unclutter & # wait for icewm to finish initializing - FIXME sleep 10 # set background color xsetroot -solid 'black' Настройка Debian Внимательно посмотрев на нашу свежеустановленную систему мы заметим несколько интересных моментов, которые то же надо исправить. Для начала обратим внимание что у нас нету /etc/mtab # ln -s /proc/mounts /etc/mtab Так же надо заметить что у мы понятия не имеем о том, что такое модули ядра и что с ними делать. Нам надо скопировать модули из базовой системы в наше окружение. Делать мы это будем через cru - скрипт, позволяющий выполнять команды вне chroot. # cru cp -R /lib/modules.rom/2.4.18-rmk7-pxa3-embedix /mnt/card/lib/modules/ И теперь установим то,чем модулями манипулировать. # apt-get install modutils module-init-tools В первом приближении это всё. У нас получилась вполне рабочая Debian GNU/Linux система, которая помещается в кармане (кто сказал что карман должен быть маленьким?):)

<< Предыдущая ИНДЕКС Правка src Установить закладку Перейти на закладку Следующая >>

Обсуждение [ RSS ]
  • 1, t (?), 20:48, 13/07/2005 [ответить]  
  • +/
    а на ц860 такой метод пойдет?
     
  • 2, arruah (??), 05:33, 05/08/2005 [ответить]  
  • +/
    вот где бы его взять такого зверя ?
    В Казахстане его не продают :(
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру