Questo Howto ha lo scopo di creare una minidistro basata su gentoo ...
per pirma cosa veddiamo di capire cosa succede all boot che è la parte piu delicata..........
l bios come sappiamo legge tutti i dati dentro il CMOS .
e all'interno dei primi 512 bytes sia dell disco rigido che dell floppy ....................
cerchera il loaders per passare il controllo dei passi successivi ....... ..
( quello che forse non tutti sanno ... eche se L'MBR e vuoto ... eil discho e partizionato il BIOS cercha di caricare in memoria ed eseguire il primo settore della prima partizione del discho di BOOT .....)
ok ... adesso dobiamo decidere come avviare gentoo...
lnoi abbiamo la possiblilità di avviare in 2 modi la nostra MINIDISTRO...
possiamo avviarlo da :
init
oppure possiamo avviarlo da :
/bin/sh
ok ... non è mio compito spiegarvi il processo di init ecc. perche non ne sarrei in grado..faccio faticha anchio ..a capirlo ..pensate se lo spiego ...
ok ....adesso dobbimo prendere il floppy e formattiamolo
Code: Select all
mkfs.msdos /dev/fd0adesso e giunto il momento di instllare un BOOT LOADER.......
siccome che quasi tutti mettono SYSLINUX ......
eseguiamo questo comando ....:
syslinux -s /dev/fd0
mi raccomando eseguite questo comando ..senzza montare il floppy ....
una volta instllato il boot lodear montare il floppy e controlare che ci sia il file :
Code: Select all
syslinux.cfgè al suo interno ci scrivete ....
Code: Select all
default odegentoo
dysplay avvio.msg
label gento
kernel mlinuz
append initrd=initrd.gz ( potete anche metterci initrd=roott.img ....) root=/dev/ram0 (potete anche metterci ... root=/devfd0 .....) rw load_ramdisk=1 promp_ramdisk=0 ramdisk_start=0se volete che tutto funzzioni come devve ...questa riga
"
Code: Select all
append initrd=initrd.gz ( potete anche metterci initrd=roott.img ....) root=/dev/ram0 (potete anche metterci ... root=/devfd0 .....) rw load_ramdisk=1 promp_ramdisk=0 ramdisk_start=0
"U'altra cosa come avrete notato io cio messo root=/dev/ram0 perche se invece di usare il floppy voleste provare da cd ....
se invece volete provare da floppy la cosa è piu semplice ....
Code: Select all
default odegentoo
dysplay avvio.msg
label gento
kernel mlinuz
append initrd=initrd.gz root=/dev/fd0
PS ... il file syslinux.cfg createlo dentro una cartella gli scrivete tutto quello che vo detto ...e poi lo salvate nell floppy senno non vi salvera niente di quello che scriverete ....
ok adesso cregliamoce una cartella dove faremo le nostre provve ..........
mi raccomando primadi fare qualsiasi cosa...rimediateve . is sorgenti dell kenrnel ....http://www.kernel.org/ e configuratelo in modo che abbia i supporti per il device loop........per i ram disk e initrd che servono per caricare il FILESYSTEM da un'imagine in un file....e vera visto come un device .......
ok .... dovremo creare un filesystem di 3mb
useremo questocomando ....
Code: Select all
dd if=/dev/zero of=initrd bs=1k count=3000percio andiamo a dare uno spazzio maggiore all fylesystem ..
Code: Select all
dd if=/dev/zero of=initrd bs=1k count=3000piccola nota su COUNT= potete metterci quanto ve pare ... io di soloti ci metto COUNT=4000 che è piu che sufficiente
Adesso dobbiamo metterci all suo interno ....il FYLESYSTEM ....
Code: Select all
mke2fs -m o -i 2000 initrdperio provate ad aumentare le sue dimensioni ... pero ricordatevi che dovra andare su un floppy ...
io posso sugerirvvi un massiono ..che è di 9000
ok....
adesso cregliamo unn'altra cartella dove monteremmo il nostro fylesystem
mkdir gentoo
Code: Select all
mount -t ext2 -o loop initrd gentooper essere sicuri che sia montato il fylesystem avete 2 modi ...
usando DF oppure vedere se nella cartella GENTOO cè la cartella lost+found
adesso andremmo a crearre le cartelle dove poi metteremo l'indispensabbile per far partirre il sistema è qualche comando per aiutarci nell muoverci dentro la DISTRO...
ok .. le cartelle sono le solite
Code: Select all
home bin sbin var e tutte le altre ...a noi ci interessano poche cartella la cartella DEV
qui siete voi che deciderete cosa mettere è cosa non metterci nella vostra DISTRO .. io visuggerisco solo di copiare file in questo modo
Code: Select all
cp -dpR /dev/file_da_copiarel?altra cartella che ci interessa è la cartella LIB
siccome non sempre possiamo sapere che librerria ci servve per usare un determinata applicazzione useremo il conado ldd
Code: Select all
ldd /sbin/dump
libext2fs.so.2 => /lib/libext2fs.so.2 (0xb7fc3000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0xb7fbf000)
libblkid.so.1 => /lib/libblkid.so.1 (0xb7fb8000)
libuuid.so.1 => /lib/libuuid.so.1 (0xb7fb5000)
libc.so.6 => /lib/tls/libc.so.6 (0xb7e7a000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0xb7fea000)
mi racconado non copiate il link simbolico
perci useremo il comando
Code: Select all
cp -dpok unn'altra cartella da crearre è la cartella /etc
dovve all suo interno ci mettiamo ci copieremo il file delle passwd e dell group
mi raccomando toglieteci le passwd ..
Code: Select all
poi andrete a crearvvi un script chiamo PROFILE per rendervvi conto di come è fatto un file profile leggevi il file /dev/profile
senno copiate quello che sta nell CD di gentoo
mi racconado di non dimenticarvvi di crearre il file FSTAB
dovve all suo interno ci scrivveremo ...
Code: Select all
/dev/ramdisk / ext2 default 1 1
none /proc proc default 0 0 copiamo poi i file /etc/termacp /etc/dhells
ediamo il comando :
ldconfig -r gentoo ( ricordate gentoo è la cartelladovve abbiamo montato il FYLESYSTM ..........)
con questo comando abbiamo creato file ld.so.cache
pero a me non funzziona questo comando ... non sempre ...io persoalmente devvo creami i file /etc/termacp /etc/shells e poi dare il comando
Code: Select all
ldconfig -r gentoo poi fatemi sapere se vi funzziona che sono curisoso
poi nadremmo a crearre le cartelle /bin /sbin dovve ci metteremo i file che ci sevvono per muovverci nella DISTRO
io consigio di metterci :
bash
cp
chmod
gzip
tar
mkfs.cramfs
mkfs.ext3
mkfs.minix
mkfs.reiserfs
mkfs.xfs
mkfs.ext2
mkfs.jfs
mkfs.msdos
mkfs.vfat
mount
umount
naturalmente non sono tutti siete voi che dovete decidere cosa metterci ..solo ricordatevi dello spazzio....
mi racconado di metterci anche questo
/sbin/poweroff
senno come lo spegente il sistema ???
mi racconado di metterci anche questo
/etc/initrd
se volete risparmiarvvi il KERNEL PANIC...
ok
usciamo dalla cartella è smontiamo la cartella GENTOO.......
comprimao il file initrd con la massima compressione ..
Code: Select all
gzip -9 initrdCode: Select all
initrd.gz adesso gli cambienremo nnome in questo modo ...
Code: Select all
mv intrd.tz initrd.imgse fate cosi non vi parte ...
dovete usare questo comando per copiarlo nell floppy ( mi raccomado il floppy non montatelo ... e ricordatevvi che devve essere foramattaco msdos )
Code: Select all
dd if=initrd.img of=/dev/fd0 bs=1k count=4096 syslinux.cfg
dobbiamo cambiare la voce :
Code: Select all
initrd=initrd.gzin questo modo
Code: Select all
initrd=initrd.imgo se volete dire la vostra sono tutto orecchie ....




