Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
export PATH
Не забудьте сделать этот файл исполняемым:
# chmod +x /mnt/tmp/etc/rc
Необходимо также иметь файлы настройки терминала (termcap или база terminfo). В моей системе (Debian GNU/Linux) используется база terminfo, поэтому можно просто скопировать нужный терминал на ramdisk:
# mkdir -p /mnt/tmp/etc/terminfo/l
# cp /etc/terminfo/l/linux /mnt/tmp/etc/terminfo/l/linux
Если планируется использование /etc/termcap, то просто скопируйте строки, относящиеся к терминалу linux из существующего файла на дискету.
Содержимое каталога /etc может сильно различаться в зависимости от того, для каких целей планируется система, но, в общем, должны обязательно присутствовать вышеприведенные файлы. Далее необходимо заняться также весьма трудоемкой частью работы – созданием каталогов /bin, /sbin и /lib. Из-за небольшого размера дискеты на неё весьма сложно записать полноценную систему, поэтому очень часто приходится пользоваться «куцыми» аналогами системных утилит. Один из самых известных проектов – busybox, содержащий урезанные, но вполне функциональные аналоги стандартных утилит (cd, ls, sh, vi, ifconfig и других). Эти утилиты содержатся в едином выполняемом файле, на который обычно делают символические ссылки примерно таким образом:
# cd /mnt/tmp
# ln -s bin/busybox bin/cd
# ln -s bin/busybox bin/ls
Для создания всех символических ссылок необходимо проинсталлировать собранный из исходников следующим образом:
# make PREFIX=/mnt/tmp install
При добавлении исполняемых файлов на ram-диск, не забывайте проверять зависимости при помощи программы ldd:
(debian:/etc)# ldd /sbin/init
libc.so.6 => /lib/libc.so.6 (0x4001d000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
Эти библиотеки также необходимо скопировать на ram-диск.
Обязательно необходимо наличие следующих файлов:
n /sbin/init (есть в составе busybox, но я бы рекомендовал воспользоваться полноценным init);
n /sbin/getty;
n /bin/mount (busybox);
n /bin/sh (я использовал ash(NetBSD sh) – классический shell);
n /bin/login.