Вход в Зоопарк ручных компьютеров
gps мониторинг, транспортная логистика, gps слежение
Если вы видите баннеры при просмотре с КПК, то вам - СЮДА
Linux на эмулятор PocketDOS
Форумы Поиск Вход Для ПК
Прочие мобильные платформы на Linux
На страницу Пред.  1, 2, 3, 4  След.
Пт Май 13, 2005 0:14
longshadow (Гуру, Москва (Объедково))
Mike Kudritsky писал(а):
А вопрос у меня к тутошнему бомонду один:
на Заурусах карточки SD (CF) можно отформатировать под Ext2? Или только под FAT?


Под любую файловую систему, которая поддерживается установленным ядром. Ext2 поддерживалась без вопросов даже стандартным Шарповским билдом. Ext3 включили позднее в "специальные" ядра.

Цитата:
но вот файлы директории dev отказываются жить на файловых системах, отличных от ext2 (ext3).


Не только ext2/ext3. На миниксе могут. На xfs, jfs могут. На "фатовой" системе можно поступить двумя способами:
- создавать /dev в ramfs (общепринятый путь, так делает, к примеру Open Zaurus);
- положить на fat-устройстве файл для loopback-устройства, содержащее фс, на которой могут быть спецфайлы (то есть /dev). Ту же ext2. И его подмонтировать как /dev.

Второй путь мне только сейчас в голову пришел. Smile Но вроде бы не видно причин, по которым это не должно получиться.

Цитата:
Да потому, что история знает только один пример - iPAQ 39*. Это произошло только потому, что Compaq (Вендор) сама все сделала.


Почему же? Есть "главный пример всех времен и народов" - Sharp Zaurus. Smile

Цитата:
Как говорится, Linux запускается в окошке Windows. До сих пор ИМХО история знала только обратные примеры


Почему? Есть же вариант vmware, где хостовой системой является виндовс, а гостевой - Linux.

Цитата:
(Wine).


Как раз таки Wine не является "эмулятороом" в общепринятом смысле термина. Wine - не что иное как реализация виндовс-API в виде набора библиотек стандартных для нативной системы. Естественно с ухищрениями для обслуживания точек переходов в виндовых бинарниках. Проще говоря, нельзя иметь Wine на Solaris/SPARC или Linux/SPARC и пускать под ним виндовые бинарники для x86. Так что, Wine - скорее симулятор типа пальмосевого симулятора для виндовс (не POSE, а именно симулятора).

Цитата:
Вот и вознгикает вопрос: как это сделать, имея загрузочную дискету Linux?
Я хочу получить такую же загрузку, что и с этой дискеты, но стартом с FAT16 при помощи утилиты loadlin.exe. Как это сделать?
Какие параметры при этом надо передавать ядру?


ИМХО:
initrd=<где лежит образ>
root=<имя устройства, которое содержит rootfs>

Для того, чтобы узнать, что писать в root=, надо глянуть протокол загрузки использованного ядра. Загрузиться на родной системе, сделать dmesg и поискать там строчку (например):
Код:

Kernel command line: auto BOOT_IMAGE=new ro root=305 BOOT_FILE=/boot/bzImage-2.4.28


Дальше справляемся в devices.txt, какое устройство имеет мажор 3 и минор 5. И вписываем root=/dev/этоустройство при запуске loadlin.exe. Только не надо из этого примера брать мажор/минор. Smile 3/5 - это /dev/hda5. Вряд ли это так для дискетной загрузки. Smile
____________
ШарпоЗавр SL-C3K
SD-Консорциум, выпей йаду: у меня теперь два CF-слота.
Пт Май 13, 2005 1:44
longshadow (Гуру, Москва (Объедково))
longshadow писал(а):

Для того, чтобы узнать, что писать в root=, надо глянуть протокол загрузки использованного ядра.


Затмение нашло. Из серии "мы легких путей не ищем". Smile

Ткнуть дискету в линуксовый хост, замонтировать и сказать:
Код:

rdev /mnt/floppy/linux


Где /mnt/floppy/linux - путь к бинарнику ядра, которое мы собираемся грузить.
____________
ШарпоЗавр SL-C3K
SD-Консорциум, выпей йаду: у меня теперь два CF-слота.
Пн Май 16, 2005 19:21
Mike Kudritsky (Гуру, Москва)
All

Вчера попробовал начать устанавливать на эмулятор Win NT 4.0 Ws.
Установщик стартует бодренько, но сразу пишет: "У Вас нет флоппи-дисковода". И Linux-ядро сообщало об аналогичном.
Так что с флоппи-дисководом у эмулятора есть проблемы.
Но старт установщика NT-шки командой
winnt.exe /B
тоже не удается. Установщик пишет, что не может найти достаточно места для хранения временных файлов.
Странно все это читать, ибо карточка SD у меня на 1Гб. Правда, эмулятор видит всего 512Мб... (Ждем-с следующих версий).
Так что с установкой Win NT 4.0 - облом-с.

Возвращаемся к сабжу.
ИМХО шансы на установку Linux существенно выше. Ибо есть дистрибутивы, для работы которых достаточно только процессора, шины и RAM. Сейчас я пробую комплект
ZipSlack
из популярнейшего дистрибутива www.slackware.com

Это пакет, предназначенный в том числе для старта с FAT16 (FAT32) и могущий целиком расположиться в RAM (даже если ее всего 10Мб).
Пока качаю этот софт (49Мб, а выделенки у меня нет...).
Но может кто опередит меня и проведет эксперименты раньше?
____________
Qtek S100, 2Gb SanDisk
Вт Май 17, 2005 7:18
Alex Muratov (Гуру, Оттуда)
есть конечно UNIXы которым диск не нужен, например PicoBSD, как-то имел дело с таким. Но стартовал он с флопика тоже. В любом случае какой то стартовый носитель операционке нужен. Не помню точно, но флорик был кажется не FAT Rolling Eyes
____________
Cingular 8525 (alive!) + 2Gb microSD, и на полочке кучка пыльных PDA
Чт Май 19, 2005 8:59
Mike Kudritsky (Гуру, Москва)
All

Попробовал zipslack (www.slackware.com).
Проблема все та же - некуда файловую систему root монтировать. Таким образом, у эмулятора кривая не только эмуляция FDD, но и IDE HDD. Ядро при загрузке говорит, что оно игнорирует установки HDD в BIOS.

Шанс один - установить файловую систему root в RAM. Поколдую над zipslack - дело в том, что его каталог /dev нормально живет на FAT16 и при загрузке надо просто смонтировать RamDrive и передать ядру параметры, что FS root надо именно там монтировать...
____________
Qtek S100, 2Gb SanDisk
Вс Май 22, 2005 6:38
Michael Shestero (Новый писатель)
Прогружается Linux! :-)
Машина NEC MobilePro 780, тормозной MIPS. Т.е. очень древняя.
Windows CE 3.0 ( но core version 2.11 Wink )
PocketPC 1.10 -нет-лекарства Sad с плагином Bosch CPU emulation и русскими шрифтом.
Память EMS увеличина до 4 Mb.
HIMEM.SYS от MS Windows 3.10 russian
loadlin.exe со всем остальным с http://melkor.dnp.fmph.uniba.sk/~garabik/tomukas/

После тягосных раздумий вот что выдает Smile :

Код:

CPU: Intel 486 DX-50 stepping 03                                       
Checking 386/387 coupling... OK, FPU using exception 16 error reporting.
Checking 'hlt' instruction... OK.                                       
POSIX conformance testing by UNIFIX                                     
Linux NET4.0 for Linux 2.2                                             
Based upon Swansea University Computer Society NET3.039               
NET4: Unix domain sockets 1.0 for Linux NET4.0.                         
NET4: Linux TCP/IP 1.0 for NET4.0                                       
IP Protocols: ICMP, UDP, TCP                                           
TCP: Hash tables configured (ehash 8192 bhash 8192)                     
Starting kswapd v 1.5                                                   
Serial driver version 4.27 with no serial options enabled               
Keyboard timeout[2]                                                     
Keyboard timeout[2]                                                     
ttyS00 at 0x03f8 (irq = 4) is a 16550A                                 
ttyS01 at 0x02f8 (irq = 3) is a 16550A                                 
pty: 256 Unix98 ptys configured                                         
hd1: C/H/S=0/0/0 from BIOS ignored                                     
hda: no response (status = 0xff)                                       
hda: non-IDE drive, CHS=695/15/17                                       
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14                                     
Partition check:                                                       
 hda:hda: status timeout: status=0xff { Busy }                         
hda: drive not ready for command                           
ide0: reset timed-out, status=0xff                         
hda: status timeout: status=0xff { Busy }                 
hda: drive not ready for command                           
ide0: reset timed-out, status=0xff                         
hda: status timeout: status=0xff { Busy }                 
end_request: I/O error, dev 03:00 (hda), sector 0         
hda: drive not ready for command                           
 unable to read partition table                           
attempt to access beyond end of device                     
03:02: rw=0, want=2, limit=0                               
dev 03:02 blksize=1024 blocknr=1 sector=2 size=1024 count=1
EXT2-fs: unable to read superblock                         
Kernel panic: VFS: Unable to mount root fs on 03:02       


Флешку HITACHI 256Mb пришлось подключить в режиме direct disk access. Естественно на ней нет ext2.
Не удается задействовать образ диска в .hdd-файле - при перезагрузке PocketDOS диск C: слетает на folder redirection Sad Может это из-за того что PocketDOS не регисрен? Чем вообще делать-править-смотреть эти образы, кроме самого PocketDOS??

Как можно еще подмонтировать root fs? Хочется что бы он отображался в файл, не хочется переформатировать флешку. Можно ли подмонтировать FAT? Может имеет смысл сделать два раздела на флешке? Как это сделать? Может можно как-то еще? по псевдосети подмонтировать из host-os?? Было бы удобнее держать весь образ диска в файле, а не в разделе...

Mi6
Пн Май 23, 2005 3:59
Mike Kudritsky (Гуру, Москва)
Re: Прогружается Linux! :-)
Почаще сюда заглядывай.
У меня дело движется потихоньку. До конструктива по Linux пока далековато, но вот промежуточные данные.
1. Удалось стартануть с образа дискеты!!! Диск А:
Загрузил Win-98 (загрузочная) и Win NT 4.0 (первая загрузочная дискета, но просит вторую Smile ).
2. Я понял, что эмулятор "железно" может увидеть ТОЛЬКО карточки CF. Увы, карточки SD не могут видиться эмулятором напрямую...
Так что для получения в системе HDD (для КПК с SD картами) надо при помощи www.winimage.com сделать образ диска *.HDD на пару сотен мегабайт и смонтировать его в BIOS эмулятора.
Попробую отформатировать этот образ под FAT32 и NTFS. Ну а если повезет, то - под Ext3.
При создания образов диска HDD надо не переборщить - эмулятор видит не более 512Мб жесткие диски. Думаю, тоже самое касается смонтированных железных CF карт.
3. Загрузка с диска А: осуществляется при помощи танцев с бубонами (опишу позднее).
____________
Qtek S100, 2Gb SanDisk
Пн Май 30, 2005 5:55
juno106 (Новый писатель, СПб)
Mike, не забивай ты голову с rootfs. Запусти ядро, если не упадёт и скажет что can't find init и что нет rootfs - считай работает. Ещё попробуй поставь linux на человеческий PC и собери там ядро под generic ide controller, в slackware да и во всех остальных современных дистрах ядра скорее всего собраны под PIIX4/VIA/NVidia. И выкинь из этого своего ядра поддержку всего что можно. Далее - забей на ext2/ext3/... - пользуйся UMSDOS - это unix-filesystem поверх FAT. Почитай в документациях от slackware есть такой umsdos-howto.
Чт Июн 02, 2005 4:32
Mike Kudritsky (Гуру, Москва)
juno106 писал(а):
...ядра скорее всего собраны под PIIX4/VIA/NVidia. И выкинь из этого своего ядра поддержку всего что можно. Далее - забей на ext2/ext3/... - пользуйся UMSDOS - это unix-filesystem поверх FAT. Почитай в документациях от slackware есть такой umsdos-howto.


Это я уже понял. Smile
Только времени пока нет всем этим заниматься. Может быть только в июле, когда отпуск надоест...
____________
Qtek S100, 2Gb SanDisk
Чт Июн 02, 2005 19:47
Mike Kudritsky (Гуру, Москва)
Я, кстати, забыл добавить (в свете компиляции нового ядра для PocketDOS). Меня не так испугал факт неопределения ядром Linux HDD контроллеров, как отказ опознать FDD контроллер, который ИМХО стандартен со времен царя-гороха.

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

Вообще все это удивительно еще и потому, что такая сложная система, как Win NT 4.0 WorkStation ставится на эмулятор. Я, правда, лично ее не устанавливал (страшно подумать, сколько будет грузиться и устанавливаться эта ОС на i486DX-33 c 10Mb RAM!), но другие ставили...
И даже говорят, что ПОЧТИ все работает!
А меня пугает слово "почти" - у мужика на iPAQ 2210 NT-шка (полностью установившись) отказалась при первой загрузке опознать VGA-видеокарточку эмулятора. Так мы договоримся, что и Linux почти ставится - осталось ядру найти FDD и HDD Smile
Между прочим, есть еще одна 32-разрядная система с не такими высокими требованиями к оборудованию - Win NT 3.5... Может она установится без разговоров?

Лично я прошел при установке Win NT 4.0 такой шаг - первая загрузочная дискета отработала нормально, без сбоев и установщик запросил вторую дискету, образа которой у меня не было.
Но в любом случае проверить с NT-шкой все просто:
1. Создаем и подмонтируем в PocketDOS образ HDD (они, кстати, почему-то больше 260Мб не создаются в версии v1.09.0).
2. Копируем на него на десктопе папку i386 от дистрибутива Win NT 4.0.
3. Грузимся с образа дискеты Win-98 на PocketDOS, переходим в каталог i386 и там даем команду:
winnt.exe

И поехали!
____________
Qtek S100, 2Gb SanDisk
Пт Июн 03, 2005 5:20
Michael Shestero (Новый писатель)
мысли по-поводу запуска Linux из-под PocketDOS
У меня тут есть кое-какие мысли по-поводу запуска Линукса. Во-первых ядро нормально стартует, это очень хорошо. Во-вторых по-видимому эмулятор обеспечивает эмуляцию дисковых устройств (как FDD так HDD) только на уровне BIOS int 13h, причем в самой первом варианте, т.е. без LBA. Этим объясняется ограничение на размер - 512Mb. Этого достаточно для DOS, Линукс же пытается достучаться до дисков через ATA (IDE) контроллер, который отсутствует. То есть проблема совсем не в файловой системе на диске. Надо пересобрать ядро с такими опциями, что бы работа с дисками шла только через int 13h, скорее всего это возможно. Можно посмотреть также как это сделано в ELKS и , [скорее всего], в Minix. Хотелось бы также получить развернутую информацию по эксперементальной опции ядра CONFIG_EDD.
В-третьих, возможно проще вообще забить на PocketDOS и портировать Bochs. Я смотрел его исходники - они хорошие, там нет множественного наследования, исключений, почти нет STL (чуть-чуть в двух местах). Так что возможно его можно даже довести напильником до MS EVC++ 3.0 (идеально). К сожалению gcc для mips wince не нашел - его давно все выкинули. Я связывался с Mamaich-ом (человек, который портировал Bochs под ARM PocketPC) по этому вопросу, он меня уверил что все это возможно сделать достаточно быстро. Другое дело - какое же будет быстродействие? У меня этот Bochs на P-IV 3Ghz тормозит. Да и надежность...
В-четвертых. Существуют loadlin под Windows CE. Т.е. есть возможность запустить native code kernel. Огромным плюсом такого подхода является выйгрыш в скорости, да и отсутствие всяких PocketDOS. Огромным минусом что после каждого такого старта после выключения будет самый глубокий hard reset. Может есть версии loadlin для wince которые позволяют сохранить содержимое паяти устройства, например на флешку, а потом восстановить (что бы избежать HR?).

Что касается экспериментов с NT всех версий, то мне они не интересны и кажутся совершенно не методичными на данном этапе: даже в случае, если скажем, NT 3.5 вдруг идеальо заработает это нам ровным счетом ничего не даст, т.е. ни полезных знаний в области NT, ни в области особенностей эмулятора, ни практической пользы.

Пока же энтузиазма у меня немного поубавилось, потому что:
1. Лекарства PocketDOS для MIPS HPC на горизонте не видно
2. Мой HPC тормозит дико. Sad Вообще я его думаю продать.
Пт Июн 03, 2005 20:13
Mike Kudritsky (Гуру, Москва)
Re: мысли по-поводу запуска Linux из-под PocketDOS
Michael Shestero писал(а):
Во-вторых по-видимому эмулятор обеспечивает эмуляцию дисковых устройств (как FDD так HDD) только на уровне BIOS int 13h, причем в самой первом варианте, т.е. без LBA. Этим объясняется ограничение на размер - 512Mb. Этого достаточно для DOS, Линукс же пытается достучаться до дисков через ATA (IDE) контроллер, который отсутствует. То есть проблема совсем не в файловой системе на диске. Надо пересобрать ядро с такими опциями, что бы работа с дисками шла только через int 13h, скорее всего это возможно.


Именно! Не в бровь, а в глаз.
Все в эмуляторе работает через int13h. Так что действительно ядро надо пересобирать на десктопе. Осталось найти время для всего этого занятия.

Дистрибутив искать не надо. Он уже найден - это SlackZip. Располагается и стартует с FAT16. Требует примерно 100Мб на карточке. Сразу информация - работать надо с образа *.HDD на карточке...

Проблем много - надо устанавливать SlackWare достаточно полный дистрибутив, ибо SlackZip однозначно исходников ядра в себе не содержит.
Для меня это все трудно, ибо я изначально ориентировался на RH Fedora Core и ядра 2.6. Лень ковыряться с SlackWare.
____________
Qtek S100, 2Gb SanDisk
Сб Июн 04, 2005 3:53
Michael Shestero (Новый писатель)
Re: мысли по-поводу запуска Linux из-под PocketDOS
Mike Kudritsky писал(а):

Все в эмуляторе работает через int 13h. Так что действительно ядро надо пересобирать на десктопе. Осталось найти время для всего этого занятия.


А ты уверен что это в принципе возможно?
Я тут провел очередные поиски в И-нете и пришел к выводу, что скорее всего Линукс не может так работать. По крайней мере 4 года назад точно не мог.
Принципиальная проблема заключается в том, что int 13h расчитан на вызов из real mode, и его не так-то просто вызвать из мультизадачного protected-mode. (Windows когда не использует 32-битовый доступ организует специальный механизм для создания очередей обращений к int 13h (?) ). Кроме того логика работы с int 13h не совпадает с логикой асинхронного доступа, принятого в Линукс.
Вообще разработчики Линукса питали явное отвращение к вызовам BIOSa в особенности к таким как int 13h, т.к. справедливо считали это фундаментом заложенным специально под системы MS.
Так что есть подозрение что под PocketDOS может заработать только системы типа ELKS и Minix.

Правда где то я наткнулся на упоминание вскользь, что вроде какиая-то BSD система "в отличие от Линукса" способна работать с дисками через BIOS int 13h.

Mi6
Пн Июн 06, 2005 7:07
Mike Kudritsky (Гуру, Москва)
Re: мысли по-поводу запуска Linux из-под PocketDOS
Michael Shestero писал(а):
А ты уверен что это в принципе возможно?
Я тут провел очередные поиски в И-нете и пришел к выводу, что скорее всего Линукс не может так работать. По крайней мере 4 года назад точно не мог.
Принципиальная проблема заключается в том, что int 13h расчитан на вызов из real mode, и его не так-то просто вызвать из мультизадачного protected-mode. (Windows когда не использует 32-битовый доступ организует специальный механизм для создания очередей обращений к int 13h (?) ). Кроме того логика работы с int 13h не совпадает с логикой асинхронного доступа, принятого в Линукс.
Вообще разработчики Линукса питали явное отвращение к вызовам BIOSa в особенности к таким как int 13h, т.к. справедливо считали это фундаментом заложенным специально под системы MS.
Так что есть подозрение что под PocketDOS может заработать только системы типа ELKS и Minix.


Спасибо за ценную информацию.
Прежде, чем перейти к Linux, надо попробовать установить на эмулятор Win NT 4.0.
А она не ставится! DOS-режим копирования файлов проходит нормально. И после перезагрузки, когда начинает работать чисто 32-разрядный загрузчик, сначала все нормально ставится.
Но все как-то странно подвисает перед этапом, когда NT-подобная система спрашивает нажатие на F6 для установки спецдров (если они нужны).

Более того, когда загружаешься с простой загрузочной дискеты Win-98, то система грузится
в защищенном режиме командной строки (F5 в меню);
без поддержки CDROM (пункт 2 меню).

А вот с поддержкой CDROM (основной пункт 1 меню) не грузится! А виснет на этапе тестирования какого-то контроллера (то ли IDE, то ли SCSI).
Между тем при нормальной эмуляции все должно грузиться, естественно с руганью, что CDROM в системе не найден. Но ничего подвисать не должно.

Здесь есть еще следующий шанс: попробовать установить ДЕМО-версию PocketDOS v1.10. Она, как говорят, совершенно не обрезана по функциональности, только частенько напоминает о регистрации.
Ну а проверка нормальности эмуляции должна быть следующей:
1. Успешная загрузка с загрузочной дискеты Win-98 с поддержкой CDROM.
2. Успешная установка Win NT 4.0.
3. Только после этого имеет смысл ковыряться в Linux.

P.S. Ну а вообще Win NT 4.0 удавалось запустить на эмуляторе, но не путем честной установки. Делали так: ставили Win NT 4.0 на подходящий четверочный DX десктоп, делали образ HDD этого десктопа, копировали этот образ на SD PocketPC и цепляли его в эмуляторе. Все работало!
Но потом был сбой (через неделю юзания) и система рухнула. Так что эмулируемое железо однозначно с гнильцой. Пока с гнильцой.
Почему я хочу проверить в бою демо-версию? Да потому, что есть подозрение - все краки гнилые для PocketDOS...
____________
Qtek S100, 2Gb SanDisk
Пн Июн 06, 2005 7:28
Mike Kudritsky (Гуру, Москва)
Да, ребята, забыл сказать.
Я все-таки увидел две буквы от Linux в эмуляторе!
Зашел вот сюда:
http://mulinux.sunsite.dk/lepton.html
и взял образ дискеточного lepton-linux. Там дискета 1.44 размечена на 1722Кб под Ext2.
Я просто взял образ этой дискеты и сказал эмулятору, чтобы он с этого образа загрузился.

Экран показал две буквы загрузчика:
LI
и далее посыпал абракадабру.

Но ведь и аналоговые модемы начинались с передачи 2-х букв Laughing

Это, конечно, шутка. Smile Проблема lepton-linux состоит в том, что эмулятор не позволяет Linux увидеть не только HDD, но и FDD...
____________
Qtek S100, 2Gb SanDisk
На страницу Пред.  1, 2, 3, 4  След.

Если вы видите баннеры при просмотре с КПК, то вам - СЮДА



Форумы Handy.ru 


Powered by phpBB © 2001 phpBB Group