The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Доступен дистрибутив Floppinux, укладывающийся в размер флоп..."
Отправлено ыы, 23-Май-21 21:26 
https://forum.ixbt.com/topic.cgi?id=76:3904

16 лет назад / 01 июня 2005 06:42
MC GLAZ
старый не обязательно я делал на FC3

вот небольшой рассказ:
создаем образ будущего ram диска:
dd if=/dev/zero of=ramdisk.img bs=1М count=4
форматируем
mkfs.ext2 ramdisk.img
монтируем
mkdir rootfs
mount -text2 -oloop ramdisk.img rootfs

скачиваем http://busybox.net/downloads/busybox-1.00.tar.bz2 (1.2Mb)
распаковываем, и командуем make menuconfig

в секции Build Options выбираем:
[*] Build BusyBox as static binary

в секции Init Utilities выбираем:
[ ] init

в секции System Logging Utilities выбираем:
[ ] syslogd
[ ] loggerd

остальное можно оставить по умолчанию, чем меньше утилит выбереш тем меньше будет размер.
make
make PREFIX=../rootfs install

идем в наш будущий rootfs и создаем каталоги
proc
dev

и устройства:
dev/console (c 5 1)
dev/fd0     (b 2 0)
dev/initrd  (b 1 250)
dev/null    (c 1 3)
dev/ram0    (b 1 0)
dev/tty     (c 5 0)
dev/tty0    (c 4 0)
dev/tty1    (c 4 1)
dev/tty2    (c 4 2)
dev/tty3    (c 4 3)
dev/zero    (c 1 5)

если незнаком с командой mknod то можно просто скопировать в mc.
создаем файл rootfs/sbin/init с содержанием:
---
#!/bin/ash

echo Mounting /proc filesystem
mount -t proc /proc /proc
/bin/ash
---
с правами на выполнение chmod +x init

размонтируем и сжимаем
umount rootfs
gzip -9 ramdisk.img

смотрим размер
ls -la ramdisk.img

У меня получилось порядка 420Кб, на дискете 1440 т.е. остается собрать ядро чем меньше тем лучше.
Загружаем ветку 2.4 http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.31.tar... (30Mb)

распаковываем, командуем
make menuconfig
УБИРАЕМ ВСЕ ЧТО ЕСТЬ ПО УМОЛЧАНИЮ ;)
оставляем:
Processor type and features -->
    (386) Processor family
General setup --->
    [*] Networking support
    [*] PCI support
    [*] ISA bus support
    [*] System V IPC
    [*] Kernel support for ELF binaries
Block devices --->
    [*] Normal floppy disk support
    [*] RAM disk support
    (4096) Default RAM disk size
    [*] Initial RAM disk (initrd) support
Networking options --->
    [*] Packet socket
    [*] Unix domain sockets
    [*] TCP/IP networking
Character devices --->
    [*] Virtual terminal
    [*] Support for console on virtual terminal
File systems --->
    [*] /proc file system support
    [*] second extended fs support
Console drivers -->
    [*] VGA text console

командуем:
make dep
make bzImage

Собралось ядро bzImage размером 560Кб, это просто фантастика... места еще куча!!

э... осталось поместить эти два файла bzImage и ramdisk.img.gz на одну дискету.
вставляем дискету в дисковод, командуем
dd if=bzImage of=/dev/fd0 bs=1k
выдало и это важно:
553+1 входных записей
553+1 выходных записей
далее:
dd if=ramdisk.img.gz of=/dev/fd0 bs=1k seek=554
вычисляем число:
echo "2^14 + 554" | bc -l
получаю 16938
осталось скомандовать:
rdev /dev/fd0 /dev/fd0
rdev -r /dev/fd0 16938

все, загрузочная дискета готова.
Имеем новое ядро с утилитами (ash chown dmesg grep ln more ps sh true zcat cp
echo gunzip ls mount pwd sleep umount cat date egrep gzip mkdir mv rm sync uname
chgrp dd false hostname mknod pidof rmdir tar usleep chmod df fgrep kill mktemp ping
sed touch vi halt ifconfig pivot_root poweroff reboot route swapoff swapon clear du
head openvt tail tty wget basename cmp env hexdump readlink tee uniq which bunzip2
cut expr id reset test unzip whoami bzcat deallocvt find install sort time uptime xargs
chvt dirname free killall strings tr wc yes chroot).
В итоге еще свободно порядка 500Кб, сжатого пространства, которое можно добавить на поддержку
утилит busybox или расширить поддержку устройств, сетевых карт в ядре или файловых систем.

Чтобы добавить необходимое устройство для работы, необходимо добавить его в /dev (к примеру hda hda1 hda2 hda3 hda4 разделы HDD)
и поддержку в ядро, и далее все по пунктам.
Надеюсь твой препод forum.ixbt.com не читает
Кому нужен готовый образ могу по почте выслать
[Исправлено: старший брат, 01.06.2005 08:44]

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру