Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
384+1 записано блоков
Цифры означают, сколько блоков заняло ядро. Знак «+» значит, что ядро заняло 384 полных блока и 1 неполный. Root-fs может размещаться с 385 блока соответственно. Эту цифру надо запомнить, а еще лучше – записать, т.к. в дальнейшем она нам еще пригодится. На следующем этапе необходимо чуть-чуть поколдовать с настройками ram-диска:
# rdev /dev/fd0 /dev/fd0
Указываем, что ram-диск будет размещаться на том же устройстве, что и образ ядра (вообще команда rdev используется в случаях, когда ядро и корневая FS находятся на разных дисках).
# rdev -R /dev/fd0
Указание того, что ram-диск должен использоваться в качестве корневой файловой системы (опция -R должна быть написана именно так: с большой буквой R).
Далее мы должны указать маску ram-диска, чтобы ядро знало, где найти этот диск. Маска представляет собой 16-ти разрядное значение, в котором 10 бит представляют собой начальный блок ram-диска, бит 14 означает, должен ли быть загружен ram-диск, а бит 15 говорит о необходимости вывода подсказки перед загрузкой initrd. Чтобы не утомлять читателей расчетами, просто скажу, что если initrd расположен на одной дискете с ядром, то это значение рассчитывается как block_of_kernel + 16384, а если initrd записан на другой дискете, то этот параметр имеет фиксированную величину – 49152 (установка в 1 14 и 15 битов), а сам ram-диск записывается на другую дискету, начиная также с 0-го сектора. Приведу пример для ситуации, когда ядро и ramdisk размещаются на одной дискете:
# rdev -r /dev/fd0 `expr 16384 + 385`
если кто-то умеет складывать такие числа в уме (я не умею), то для него эта команда будет выглядеть так:
# rdev -r /dev/fd0 16769
После того как ядро узнает, где расположен initrd, можно спокойно записывать наш компрессированный образ на дискету (в нашем примере образ записывается сразу же после ядра, ну а если initrd планируется разместить на другой дискете, то образ записывается с 0-го блока соответственно):
# dd if=~/initrd.gz of=/dev/fd0 bs=1k seek=385
Подождем, пока запишется образ, и перезагрузимся с дискеты. Если все прошло нормально, то можете вздохнуть спокойно и гордиться тем, что вы создали свой собственный, пусть маленький, но настоящий дистрибутив Linux!
Если же возникли ошибки, то придется повторять вышеописанные действия, пока эти ошибки не будут исправлены. Если вам необходимо поправить initrd, то учтите, что все изменения, которые вы проделываете в корневом разделе непосредственно при работе нашего floppy-дистрибутива, не сохраняются нигде, и при рестарте будут утрачены, так что единственным способом поправить что-либо является редактирование образа (естественно, для начала образ нужно разжать и примонтировать) с последующей записью его на дискету (новый образ можно писать прямо поверх старого, не меняя при этом параметров ram-диска, единственное условие: чтобы новый образ писался с того же блока, что и старый). Ну что ж, думаю, с этим способом создания boot-дискеты все ясно, настало время рассказать и о другом: о создании msdos-дискеты c Linux.
Для этой цели существует
специальная утилита – syslinux (домашняя страница: