minidistribuce

zenis na fmph.uniba.sk zenis na fmph.uniba.sk
Středa Duben 2 13:50:58 CEST 2003


Dobry den,
> 
> Zajimalo by me jak bych mohl ony zakladni soubory dostat prave do 
> tohoto souboru a rici jadru jak vytvorit ramdisk...

Ja som kedisi spravil 1-disketovy (5 1/4) telnetovy terminal, pri vyrobe
diskety som postupoval asi podla:
http://docs.linux.cz/skolicky/novejadro/node4.html .
Treba si dat pozor na rdev, niektore veci su na jeho manualovej stranke
zamlcane. Prikazy, ktore som potreboval (echo, sh, cat, telnet, ps,
init, ifconfig, route, nslookup, ping), sa daju prikompilovat do
busyboxu, takze celok je jedna binarka a par symlinkov.
Okrem toho je potrebne mat:
/dev: console, core, fd, fd[01], kmem, loop[0123], mem, null, pts/, ram,
ram[01], random, stderr, stdin, stdout, tty, tty0-tty?? (podla potreby),
urandom, zero.
Toto som potreboval ja, pre hd je tam potreba pridat hda, hda1, ...,
scsi disky, ...
/etc:
  fstab: /proc, /, /dev/pts
  host.allow, host.conf, hosts, resolv.conf (podla potreby)
  inittab:
	::sysinit:/etc/init.d/rcS
	::askfirst:/bin/sh
	tty?::askfirst:/bin/sh		#podla potreby dalsich konzol
	::ctraltdel:/bin/umount -a -r
	::ctraltdel:/sbin/reboot

	Toto plati pre busybox inittab (pre spustene /etc/init.d/rcS pri
	starte a /bin/sh nie je nutny, viac busybox).

  init.d/rcS:
  	#!/bin/sh
	echo 'mounting'
	mount -a
	#network
	echo 'initializing network....'
	ifconfig lo 127.0.0.1
	route add -net 127.0.0.0
	ifconfig eth0 ....
	route add -net ...
	route add default gw ...

	hostname ....

/proc/
/bin/
/sbin/
Vsetky binarky (busybox a linky) staci dat do /bin/, /sbin/ tam bol len
z nostalgie (/sbin/init).

Toto bezalo z ramdisku na i386 bez i387 s 4 MB pamate, nemodularne 2.2.
jadro, zvladlo to sucasne 12 telnetov.

Postup vyrobi diskety:
dd if=zImage of=/dev/fd0 bs=1k
# zImage je uz pripraveny dopredu pomocou rdev (na pocitaci, kde som
# mal floppy mechaniku som nemal miesto pre zdrojaky jadra (mozno by sa
# naslo, ale aj tak, na 486 by sa mi kompilovat nechcelo, ked mam aj 1.5
# GHz P4), ani rdev)

# priprava image:
rm 1m.img.gz
dd if=/dev/zero of=1m.img bs=1k count=1024
# toto je nutne po kazdej zmene v ramdisku pre efektivnost gzipu
# Ak bude ramdisk na vlastnej diskete, velkost moze byt vacsia (2 MB)
mkfs.ext2 -m 0 1m.img
# minix by bol mozno lepsi
mount 1m.img /mnt -o loop -t ext2
cp -a /kde/je/pripraveny/strom/suborov/pre/ramdisk/. /mnt
umount /mnt
gzip -9 1m.img
dd if=1m.img.gz of=/dev/fd0 bs=1k seek=367

# 367 nastaveny zaciatok ramdisku v jadre pomocou rdev.
# Ak sa zImage a 1m.img.gz nezmestia na 1 disketu, mozu sa pouzit 2
# (pouzit ine parametre pre rdev)

Snad som napisal aj nieco uzitocne.

	Tibor Zenis


-- 
,..,.,..,.,..,.,..,.,..,.,..,
; Tibor Zenis               ;
: zenis @ fmph . uniba . sk :
'``'`'``'`'``'`'``'`'``'`'``'


Další informace o konferenci Linux