LINUX.ORG.RU

486 && 6 GB HDD


0

0

Господа, прошу консультации.

Достал из шкафа друга детства — 486DX, 40MHz, 12Mb RAM, MB: 07/21/94-OPTI-802G-2C4UKJ11-00.

Компьютер работает. Проблема только одна — не было винта. Самое малое, что нашел — QUANTUM FIREBALL ST3.2A. Переворачиваю винт, читаю: C/H/S: 1.6: 3128 16 63, 3.2: 6256 16 63. В БИОСе есть автоматическое определение винтов, но оно ничего не находит. Далее, есть 42 предопределенных значения для винта, но все они меньше 300 Mb. Установка User позволяет ввести C/H/S/PRECOMP(кстати, что это?)/LANDZONE. Если указать LBA или LARGE, то значения ввести уже нельзя. Этот компьютер за свою жизнь видел всякие винты до 2 GB.

AFAIK, все пределы для винтов — программные. То есть достаточно создать загрузочный раздел, видимый для БИОСа, а дальше умная ОС сделает всё правильно. AFAIK, предел системы CHS — это 1024,16,63. Таким образом я решил через fdisk установить эти значения CHS, выделить раздел и установить grub. Сделал — в qemu запускается (через usb->ide переходник).

На этом всё. Что бы я ни делал, какие бы значения в БИОСе ни устанавливал — винт не видится и загрузка не происходит. А сейчас fdisk показывает 14 heads, 14 sectors/track, 32173 cylinders. То есть получается, что БИОС при попытке загрузиться с винта сбил данные.

Есть ли у кого опыт работы с большими винтами на старых машинах? Можно ли указать специальные значения CHS, чтобы осуществить загрузку? Количество места, которое можно будет адресовать не имеет значения.

А пока, попробую поставить на него CD-ROM.

//captha:horets

anonymous

ЕМНИП у lilo были параметры, связанные с геометрией HDD - как раз для таких случаев.

marsijanin ★★
()

PRECOMP это очень старый параметр для очень старых дисков, для IDE дисков бессмленен, то есть со времен i386 его держат для совместимости. http://marina.mfarris.com/theref/tech_talk/tech_talk04.html#precompensation

У вас обращение к винту происходит? Загрузчик что-нибудь выводит? Может просто материнка горелая или шлейф, да и винты такого возраста быват капризные, вертикально работает, а горизонтально --- нет.

>А сейчас fdisk показывает 14 heads, 14 sectors/track, 32173 cylinders.

Это как? fdisk вроде сам не читает геометрию винта, если указать ему 1024/16/63, то он "увидит" старую таблицу разделов или нет?

Пока советую загрузиться на этой машине с CD-ROM или дискеты, чтобы понять, видит ли ядро Линукса этот диск.

mky ★★★★★
()
Ответ на: комментарий от mky

>Пока советую загрузиться на этой машине с CD-ROM или дискеты, чтобы понять, видит ли ядро Линукса этот диск.

Мне вообще кажется это будет самым разумным решением :) Грузиться с дискетки и указать ядру что root=/dev/hda1 например. Это можно прямо в ядре прописать в качестве параметра загрузки.

koTuk
()
Ответ на: комментарий от mky

> У вас обращение к винту происходит? Загрузчик что-нибудь выводит? Может просто материнка горелая или шлейф, да и винты такого возраста быват капризные, вертикально работает, а горизонтально --- нет.

Обращается к винту или нет сложно сказать, пару раз отрывочно мигает светодиод. Скорее всего нет. До загрузчика дело не доходит, выводит hard disk(s) fail (80). Шлейфы менял, а материнку проверить не могу, был бы винт другой, не было бы проблем вообще. Сам винт работает на других компьютерах бодро.

> Это как? fdisk вроде сам не читает геометрию винта, если указать ему 1024/16/63, то он "увидит" старую таблицу разделов или нет?

Проверю.

> Пока советую загрузиться на этой машине с CD-ROM или дискеты, чтобы понять, видит ли ядро Линукса этот диск.

С CD-ROM она грузиться не умеет. Сейчас работаю над дискетой.

anonymous
()

Засунул на дискету grub. При любых параметрах CHS в БИОСе он говорит "Hard disk(s) fail (80)". Жму F1, грузит grub с дискеты. Говорю grub: geometry (hd0) 1024 16 63. На это и любое другое действие он отвечает, подумав: "Error 25: Disk read error".

Винт подготовлен при помощи fdisk -b 512 -C 1024 -H 16 -S 63.

Если отключить винт в БИОСе, то его соответственно не видит и grub.

//captcha: faccked

anonymous
()
Ответ на: комментарий от anonymous

Чета я не понял - зачем загручику ядра которое грузится с дискеты вообще что-то знать о дисках кроме этой дискетки ?? Дело загрузчика скопировать ядро в RAM и передать ему управление. Дальше дело ядра разбираться со всеми железяками.

koTuk
()
Ответ на: комментарий от koTuk

Я понял - вы думаете grub такой умный что разберется с вашим диском и контроллером :) Идея в том чтобы загрузчик и ядро разместить на дискетке, в принципе если времени не жалко можно собрать статически готовое ядро под свое железо - но тут возможны пробемы с нехваткой места на дискете. Проще прописать там initrd только с самыми необходимыми модулями - ide контроллера и ФС. Ядро само инициализирует все контроллеры и ему пофик на БИОС- именно за счет этого обходится проблема с кривым биосом и большими дисками. Потом после того как все найдется монтируется root размещение которого нужно указать через параметры загрузки и там запускается init.

koTuk
()

Что-то вспоминается такое, про FreeBSD и Large-диски. То ли нельзя было включать large, то ли наоборот - нужно было.

abraziv_whiskey ★★★★★
()
Ответ на: комментарий от koTuk

>Проще прописать там initrd только с самыми необходимыми модулями - ide контроллера и ФС.

Я думаю еще проще найти один из древних дистрибов Линукса, допустим Slackware 3.3 или какой RedHat, и взять образ дискеты от них, там ядро старое, маленькое и поддержка железа должна быть. Не факт, контроллер материнки поддерживается хотя бы в 2.4.x

mky ★★★★★
()

Ковыряй загрузку своего харда с дискетки через груб. Такие древние компы часто харды больше 1-3 гигов не видят. У меня даже случай был, что нужен был хард в полгига что-ли.

ViTeX ★★★★
()

Возьми флешку Compact Flash на нужный размер и пассивный переходник на IDE

anonymous
()

а CD-ROM вообще на нём работает?

anonymous
()

Всё сделал :)

Оказывается, основная проблема была с ядром. Процессор определился как X86_VENDOR_UMC (может кто-нибудь просветить что за фирма такая?). Но x86_vendor_id забит нулями. Я закомментировал строчку if( c->x86_vendor_id[0] ) в исходниках (x86/kernel/cpu/common.c) и ядро загрузилось.

Нашел я винт поменьше. Linux опеделил не только винт на 270 M, но и на 3228 M (!). Это доказывает, что ограничения на размер винта — программные. Однако BIOS грузиться с 3 G отказывается, плюя на любые C/H/S.

CDROM ставить я поторопился — всё равно ведь BIOS его грузить не умеет :) Хотя, возможно, стоит поэкспериментировать с grub4dos, может быть он сможет передать управление CDROM'у?

При помощи mpg123 удалось послушать mp3 без тормозов. И это на 80486DX 40MHz :) И пусть кто-нибудь попробует поставить на него Vista :)

Для полного счастья осталось только где-нибудь найти нуль-терминальный кабель и настроить сеть.

$ cat /proc/cpuinfo | grep mips

bogomips : 19.66

anonymous
()

Кстати, там стоит видюха 1990 года. Фирма Chips and Technologies. Как бы узнать сколько там Кб памяти? Иксы грузятся с 16 цветами в разрешении 640x480, 256 — 320x200 (почему-то верхняя половина чёрная). Это драйвер vga. С драйвером chips не загружается, говорит, что карточка ему неизвестна.

На 3 G винте стояла xfce. С 16 цветами она не смогла загрузиться, выкидывает опять в xdm. С 256 цветами запустилась.

Возможна ли вообще эксплуатация xorg с менее чем 8 битами глубины цвета? Необходима ли поддержка приложениями или xorg сам преобразовывает глубину цвета?

Почему-то в консоли не работают русские шрифты. Может ли так быть, что на этой видюхе нельзя менять таблицы кодогенератора?

Вот тесты дисковой подсистемы: /dev/hda: Timing buffered disk reads: 4 MB in 3.12 seconds = 1.28 MB/sec Timing cached reads: 2 MB in 3.16 seconds = 647.79 kB/sec Buffer size: 32.0kB bytes avail on r/w long: 11 R/W multiple sector transfer: Max = 8 Current = 8

/dev/hdb: Timing buffered disk reads: 4 MB in 3.65 seconds = 1.10 MB/sec Timing cached reads: 2 MB in 2.00 seconds = 1022.55 kB/sec bytes avail on r/w long: 4 R/W multiple sector transfer: Max = 16 Current = 16

Ужас! Что нас ждёт в будущем? Неужели офис так и будет тормозить несмотря на такой рост вычислительных мощностей?

anonymous
()
Ответ на: комментарий от anonymous

>Как бы узнать сколько там Кб памяти?
Можно гуглить по маркировке микросхем памяти на ней и считать :)

manntes ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.