Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Также весьма удобно наличие busybox. В папке /lib должны быть по крайней мере 3 библиотеки:
n /lib/libc.so.6 – стандартная библиотека СИ;
n /lib/ld-linux.so.2 – библиотека димамического компоновщика ld;
n /lib/libnss_files.so.2 – библиотека выбора сетевых служб (используется libc для выбора способа аутентификации, без этой библиотеки вы не сможете пройти этап логина);
n /lib/libdl.so.2 – библиотека загрузки DLL (нужна для login);
n /lib/libpam.so.0 – библиотека pam;
n /lib/libpam_misc.so.0 – библиотека pam, нужная для login;
n /lib/libcrypt.so.1 – библиотека шифрования (также нужна для login);
n /lib/security/pam_permit.so – PAM-модуль, всегда подтверждающий права доступа.
При выборе busybox лучше отановиться на динамически скомпонованной версии (использующей библиотеку СИ), т.к. библиотеку СИ (более 1 Мб) все равно придется копировать на ramdisk. При копировании библиотек учтите, что большинство отображаемых библиотек являются сивмолическими ссылками, поэтому не забывайте скопировать и ссылку, и файл, на который эта библиотека ссылается (копировать ссылку в этом случае надо с флагом -d). Если ваше ядро содержит модули, то не забудьте их скопировать на ram-диск (лучше весь каталог /lib/modules/$KERNELVERSION/), также не забудьте скопировать исполняемые файлы insmod, modprobe, rmmod, lsmod и depmod в каталог /sbin на ram-диске. После всей этой мороки делаем заключительные действия:
# mkdir -p /mnt/tmp/var/{log,run}
# touch /mnt/tmp/var/run/utmp
кроме этого, настриваем динамический компоновщик:
# ldconfig -r /mnt/tmp
После этого отмонтируем образ:
# umount /mnt/tmp
сжимаем его при помощи gzip (bzip2 не подходит) и записываем в какой-нибудь каталог:
# gzip -c9 /tmp/initrd.img > ~/initrd.gz
# rm -f /tmp/initrd.img
и приступаем к записи дискеты, имея ядро и подготовленный образ...
Существует несколько способов записи автономной дискеты, из них я расскажу о двух: использование загрузчика ядра (наиболее компактный метод) и использование загрузчика syslinux (загрузка с дискеты ms-dos).
При использовании kernel-loader значительно усложняется процесс настройки параметров ядра и изменение чего-либо на дискете. Преимущества kernel-loader – компактность и отсутствие необходимости наличия файловой системы на дискете. Создание дискеты такого типа тоже не представляет особых проблем: для начала копируем ядро на дискету, начиная с 0-го сектора:
# dd if=/usr/src/linux/arch/i386/boot/bzImage of=/dev/fd0 bs=1k
384+1 прочитано блоков