О: Смотрите выше секцию Разд. Поиск неисправностей, или Агония Поражения>.
О: Смотрите выше секцию Разд. Как это делают профессионалы>.
В: Как использовать дискеты высокой плотности (> 1440K)? Как я могу узнать, с какой плотностью может работать мой дисковод?
О: Смотрите выше, секцию Разд. Уменьшение размера корневой файловой системы>, и комментарии от Alain Knaff по этой теме. Насколько я знаю, его ответ, наиболее авторитетен.
О: Это вероятно должно быть лучше объяснено в тексте, но со временем, я вставлю ответ здесь.
Во-первых, не пытайтесь использовать для этого команды rdev или ramsize, не имеет значения, что сказано в их документации. Слово ramdisk больше не определяет размер ramdisk.
Во-вторых, запомните, что ramdisk фактически динамический; когда вы устанавливаете размер ramdisk вы не резервируете память, вы просто указываете предел, до которого он может вырасти. Не бойтесь устанавливать относительно большой его размер (например, 8 или даже 16 Мб). Пространство оперативной памяти практически не расходуется пока вы его не используете. Вы можете выставить этот предел несколькими способами.
Используйте параметр командной строки ramdisk_size=NNN. Вы можете либо вводить его вручную, либо использовать команду append="ramdisk_size=NNN" в LILO.
Если вы используете LILO, вы можете использовать такую опцию ядра ramdisk=8192K в файле lilo.conf.
Измените конфигурационную опцию CONFIG_BLK_DEV_RAM_SIZE и перекомпилируйте ядро.
О: Смотри секцию Разд. Создание загрузочных CD-ROM>.
О: Так как у меня нет устройства LS-120, следующая далее информация является обобщением информации предоставленной Dave Cinege с Linux Router Project.
LS-120 это IDE floppy устройство. Оно совместимо как со стандартными 3.5" дискетами, так и с новыми 120MB дисками. Оно полностью поддерживаются, начиная с Linux v2.0.31. Чтобы с него загрузиться, ваш BIOS должен содержать поддержку LS-120 как диска 0 (тогда как устройства IDE обычно начинаются с 80). Если Ваш BIOS так не может, чтобы побороть этот недостаток Вы можете купить небольшую карту IDE FloppyMAX от Promise Technologies.
Загрузчику ядра не нравятся LS-120 диски, и он тотчас умрет. Ему также не нравятся диски 2m, и он не будет загружаться. Диски от 1.44MB до 1.74MB работают правильно. SYSLINUX работает с дисками 120MB, начиная с версии 1.32. Если вам не важна MS-DOS совместимость, то Вам лучше не создавать разделы на диске и вместо SYSLINUX использовать ext2 или minix.
LILO правильно работает с дисками 120MB. Вот пример lilo.conf:
boot=/dev/hda compact disk=/dev/hda bios=0 install=/floppy/boot.b map=/floppy/map image=/floppy/linux label=Linux append="load_ramdisk=1" initrd=/floppy/root.bin ramdisk=8192 |
О: Самый простой способ - получить ядро Slackware с ближайшего зеркала Slackware. Slackware ядра - семейство ядер, в которых пытаются включить драйвера как можно большего количества устройств, так, если у Вас SCSI или IDE контроллер, есть шанс, что драйвер включен в ядро Slackware.
Войдите в каталог a1, и, в зависимости от типа вашего контроллера, выберите либо IDE, либо SCSI ядро. В выбранном ядре просмотрите файл xxxxkern.cfg для просмотра списка включенных в ядро драйверов. Если нужное устройство находится в списке, то ваш компьютер загрузится с соответствующего ядра. Скачайте файл xxxxkern.tgz, и скопируйте его на вашу загрузочную дискету как описано выше в секции создания загрузочных дисков.
Далее Вы должны проверить корневое устройство в ядре, используя команду rdev zImage. Если оно не совпадает с Вашим загрузочным устройством, измените его, используя rdev. Например, я пробовал ядро, настроенное на /dev/sda2, но мой корневой SCSI раздел /dev/sda8. Чтобы использовать корневую дискету, Вы должны использовать команду rdev zImage /dev/fd0.
Если Вы также хотите знать, как установить корневой диск Slackware, это - вне контекста этого HOWTO, так что я предлагаю Вам просмотреть Linux Install Guide или получить дистрибутив Slackware. См. секцию "Ссылки" в этом HOWTO.
О: Самый простой способ - скопировать файловую систему с корневого диска обратно на устройство DEVICE (из секции Разд. Создание файловой системы>, выше). Затем примонтировать файловую систему, и внести изменения. Вы должны помнить, где начинается корневая файловая система и сколько блоков занимает:
dd if=/dev/fd0 bs=1k skip=ROOTBEGIN count=BLOCKS | gunzip > DEVICE mount -t ext2 DEVICE /mnt |
О: Это не касается загрузочных дисков, но часто спрашивается. В Linux, Вы можете выполнить:
/sbin/lilo -u |
Также можно использовать команду dd, для копирования сохраненного LILO сектора начальной загрузки. Обратитесь к документации LILO .
В DOS и Windows можно использовать DOS команду:
FDISK /MBR |
О: Если у Вас нет постоянного загрузочного диска, вероятно, самый простой метод - получить ядро Slackware для вашего типа контроллера диска (IDE или SCSI), как описано выше в пункте ``Как я могу создать загрузочный диск с драйвером XYZ?". Вы можете загрузить ваш компьютер, используя это ядро, и затем исправить любые имеющиеся повреждения.
Корневое устройство в полученном ядре может не быть настроено на необходимый тип диска и раздел. Например, обобщенное SCSI ядро Slackware имеет установку корневого устройства в /dev/sda2, в то время как мой корневой раздел Linux, попал на /dev/sda8. В этом случае корневое устройство в ядре должно быть изменено.
Вы можете изменять корневое устройство и настройки ramdisk в ядре, даже если у Вас есть только ядро, и другая операционная система, такая как DOS.
rdev изменяет настройки ядра, изменяя значение по фиксированному смещению в файле ядра, таким образом, если у Вас есть шестнадцатеричный редактор для любой, установленной у Вас системы, Вы можете сделать то же самое --- например, с помощью Norton Utilities Disk Editor под DOS. Вам следует проверить, а в случае необходимости и изменить, значения в ядре по следующим смещениям:
HEX DEC ОПИСАНИЕ 0x01F8 504 младший байт слова RAMDISK 0x01F9 505 старший байт слова RAMDISK 0x01FC 508 младший номер корневого устройства - см. ниже 0X01FD 509 старший номер корневого устройства - см. ниже |
Интерпретация слова ramdisk была описана выше в секции Разд. Установка слова ramdisk>.
Значения старшего и младшего чисел устройства должны указывать на устройство, на котором Вы хотите монтировать корневую файловую систему. Некоторые полезные значения:
УСТРОЙСТВО МЛАДШ. СТАРШ. /dev/fd0 2 0 первый дисковод /dev/hda1 3 1 раздел 1 на первом IDE устройстве /dev/sda1 8 1 раздел 1 на первом SCSI устройстве /dev/sda8 8 8 раздел 8 на первом SCSI устройстве |
О: Т.к. магнитные носители со временем могут портиться, Вы должны хранить несколько копий вашего спасательного диска, на случай, если оригинал невозможно считать.
Простейший способ копирования любых дискет, включая загрузочные и сервисные дискеты, - используя команду dd скопировать содержимое первоначальной дискеты в файл на жестком диске, а затем той же самой командой, скопировать файл обратно на новую дискету. Заметьте, что Вам не следует, и Вы не должны, монтировать дискеты, так как dd использует непосредственно интерфейс устройства.
Для копирования оригинала, дайте команду:
dd if=DEVICENAME of=FILENAME |
Чтобы скопировать полученный файл обратно на новую дискету, вставьте новую дискету, и дайте обратную команду:
dd if=FILENAME of=DEVICENAME |
Обратите внимание, что выше подразумевается, что у Вас один дисковод. Если у Вас два дисковода одного типа, Вы можете копировать дискеты, используя команду:
dd if=/dev/fd0 of=/dev/fd1 |
О: Там где диск не может быть автоматически обнаружен, необходимо снабдить ядро строкой с параметрами устройства, такой как:
aha152x=0x340,11,3,1 |
Каждый раз при загрузке вводить ее в командной строке LILO. Хотя, это нудно.
Использовать в LILO ключевое слово lock, для помещения строки в командную строку по умолчанию, т.о. каждый раз при загрузке LILO будет использовать эти опции.
Использовать в конфигурационном файле LILO выражение append=. Заметьте, что строка параметров должна быть в кавычках.
Например, типовая командная строка, использующая вышеупомянутую строку параметров, такова:
zImage aha152x=0x340,11,3,1 root=/dev/sda1 lock |
Это должно передать строку параметров устройства, установить корневое устройство на /dev/sda1 и сохранить эту командную строку для использования при последующих загрузках.
Пример для APPEND выглядит так:
APPEND = “aha152x=0x340,11,3,1” |
Заметьте, строка параметров не должна заключаться в кавычки в командной строке, но должна быть заключена в кавычки в выражении APPEND.
Также обратите внимание, для того чтобы строка параметров подействовала, ядро должно содержать драйвер данного типа диска. Если это не так, не кому будет принять строку параметров, и Вы должны пересобрать ядро, чтобы включить требуемый драйвер. Подробнее о сборке ядра смотрите в README в каталоге /usr/src/linux, и читайте Linux FAQ и Installation HOWTO. В качестве альтернативы Вы могли бы получить и установить обобщенное ядро для нужного типа диска.
Перед экспериментами с установкой LILO, настоятельно рекомендуется прочесть документацию LILO. Неосторожное использование выражения BOOT может повредить разделы.
О: Есть несколько программ, имена которых жестко закодированы в различных утилитах. Это не повсеместно, но может объяснить, почему ваша система не находит исполняемый файл, в то время как Вы видите, что он есть. Выяснять, имеет ли данная программа жестко указанное имя другой программы, можно пустив вывод команды strings по каналу через grep.
Известные примеры жесткого указания:
Некоторые версии shutdown жестко привязано к /etc/reboot, поэтому reboot должен быть помещен в каталог /etc.
По крайней мере, у одного человека были проблемы с неспособностью ядра найти init.
Для устранения этих проблем, либо переместите программы в правильный каталог, либо исправьте каталог в конфигурационных файлах (например, inittab). Если сомневаетесь, поместите программы в такие же каталоги, как и на вашем жестком диске, и используйте такие же, как и на вашем жестком диске, файлы inittab и /etc/rc.d .
О: Когда это происходит, во время загрузки должно появляться такое сообщение ядра:
Ramdisk driver initialized : 16 ramdisks of 0K size |
Вероятно, потому что при загрузке в параметрах ядра размер был установлен в 0. Возможно из-за лишнего параметра в конфигурационном файле LILO:
ramdisk= 0 |
Эта строка в некоторых старых дистрибутивах была включена в примеры конфигурационных файлов LILO, и была вставлена для отмены любого предыдущего значения ядра. Если у Вас есть такая строка, удалите ее.
Обратите внимание, если Вы попытаетесь использовать ramdisk, который был установлен в 0K, его поведение непредсказуемо, и может приводить к панике ядра (kernel panics).