Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2008-04-20 00:17:09

  Fo - Użytkownik

Fo
Użytkownik
Zarejestrowany: 2005-05-29

problem z własnym live cd

witam,

pracowałem w oparciu o:
http://vmlinux.org/twiki/bin/view/Bazaar/BootstrapDebian
a następnie:
http://vmlinux.org/twiki/bin/view/Bazaar/MakeABootableDebianCD

wszystko fajnie, iso mam zrobione podobnie do tych procedurek ktore tam sa rozpisane.

podczas ładowania się mojego live cd występuje taki błąd:

vfs: mounted root (ext2 filesystem)
freeing unused kernel memory: 256k freed
attempt to access beyond end of device
ram0: rw=0, want=425992, limit=128000
ext2-fs error (device ram0): ext2_get_inode: unable to read inode block - inode=52625, block=212995
attempt to access beyond end of device
ram0: rw=0, want=147980, limit=128000
ext2-fs error (device ram0): ext2_get_inode: unable to read inode block - inode=18217, block=73989
kernel panic - not syncing: no init found. try passing init= option to kernel.

jezeli chodzi o moj isolinux.cfg to wyglada on tak:

Kod:

default 2.4.18
prompt 0
timeout 200
display boot.msg

label 2.4.18
  kernel vmlinuz
  append initrd=initrd.img ramdisk_size=128000 prompt_ramdisk=0 rw root=/dev/ram0 vga=normal

etc/fstab (oczywiscie wirtualny)

Kod:

/dev/ram0    /          ext2    defaults        1 1
none         /dev/pts   devpts  gid=5,mode=620  0 0
none         /proc      proc    defaults        0 0

no i cos tu nie styka - to jest jeden problem, chcialem zobaczyc czy jestem sobie w stanie takie live distro zrobic - takie podstawowe wg. jakiegos tutoriala nawet bez tego co chce tam faktycznie miec ale zeby zobaczyc czy to po prostu zadziala.

teraz to co chcialbym osiagnac docelowo to jest:
mam na vmware postawionego debiana etch, skonfigurowany caly soft na nim i doszedlem z tym wszystkim co tam mam (postgres, apache i rozne inne szmery bajery) do wielkosci ~650 mb - czyli na cd sie zmiesci - wypas.

tylko teraz jak sie ma to ramdisk_size= do wlasnie wielkosci obrazu rozpakowanego iso ? z tego co gdzies wyczytalem (chyba w jednym z tych linkow) to ramdisk_size powinien byc wielkosci rozpakowanego iso - czyli bylo by to 650 mb ? makabra za duzo i zaden komp w domu mi na pewno tego nie chwyci.

pozatym, jak juz mam takie distro zaciagniete z debootstrapa to czy wystarczy ze z normalnego debiana po prostu przekopiuje sobie do tego vroot'a te pliki bilbioteki itp ktore chce i pozniej to tak zjarac czy cos jeszcze trzeba zrobic ? a moze w ogole zchrootowac na vroot'a i dopiero wtedy montowac jakikolwiek soft ? (chociaz tego ostatniego wolalbym jednak uniknac).

no to chyba tyle. z gory bardzo dziekuje za wskazowki itp itd.
ps. tak chce by to moje livecd to byl debian.

aha ps2. jadra nie kompilowalem sam, wzialem to ktore bylo w /boot/vmlinuz-xyz i skopiowalem je w odpowiednie miejsce tak jak tutorial mowil.

Ostatnio edytowany przez Fo (2008-04-20 00:29:40)


Klasyfikator wódki w świecie IT: 0.1 l - demo,0.25 l - trial version,0.5 l - personal edition,0.7 l - professional edition,1.0 l - network edition,1.75 l - enterprise,3 l - for small business,5 l - corporate edition,"klin" - Service pack

Offline

 

#2  2008-04-20 23:05:15

  Fo - Użytkownik

Fo
Użytkownik
Zarejestrowany: 2005-05-29

Re: problem z własnym live cd

dobra powyższy problem rozwiązałem - az wstyd sie przyznac o co chodzilo wiec moze przemilcze...

teraz tylko mam inny.

mianowicie,

moje iso po rozpakowaniu czyli to jaki sobie zrobilem vroot.img - wazy 650 mb

w isolinux.cfg mam tak:

Kod:

default 2.6.18
prompt 0
timeout 200
display boot.msg

label 2.6.18
  kernel vmlinuz
  append initrd=initrd.img ramdisk_size=250000 prompt_ramdisk=0 rw root=/dev/ram0 vga=normal

a w fstab na spakowanym juz systemie -

Kod:

/dev/ram0    /          ext2    defaults        1 1
none         /dev/pts   devpts  gid=5,mode=620  0 0
none         /proc      proc    defaults        0 0

i wyrzuca mi podczas bootowania ze nie moze poprawnie zamontowac root filesystemu na ext2 z niewiadomego powodu i powod chyba kumam - za malo dostepnej pamieci do zaalokowania pod rozpakowane distro o wielkosci 650 mb - no nie wrzuci tego do ramu bo jest fizycznie go w kompie 512 mb.

tylko jak to w inny sposob rozwiazac ?

oj bylbym goraco wdzieczny za pomoc, bo slecze juz nad tym chyba z trzeci dzien :/


Klasyfikator wódki w świecie IT: 0.1 l - demo,0.25 l - trial version,0.5 l - personal edition,0.7 l - professional edition,1.0 l - network edition,1.75 l - enterprise,3 l - for small business,5 l - corporate edition,"klin" - Service pack

Offline

 

#3  2008-04-21 00:52:43

  milyges - inż.

milyges
inż.
Skąd: Gorlice/Kraków
Zarejestrowany: 2006-04-09
Serwis

Re: problem z własnym live cd

Chyba logiczne że nie może zamontować ramdysku jako ext2 jak nie jest on sformatowany w EXT2? ;>
Jak to rozwiązać?
Mój pomysł jest taki:
/ montujesz jako tmpfs
na / robisz katalog: /mnt/cdrom
montujesz tam plyte CD
na CD masz obraz systemu plikow np w ext2 (np. /mnt/cdrom/root.img), mountujesz go używając użądzeń loop (mount -o loop /mnt/cdrom/root.img /mnt/realroot)
robisz dowiazania symboliczne do plikow readonly do tego obrazu (np. ln -s /mnt/realroot/bin /bin)
I gotowe ;)
Druga metoda: montujesz jako / poprzez loop plik obrazu systemu plików, a pliki kóre mogą się zmieniać (np. /etc/passwd) linkujesz na tmpfs (ln -s /mnt/ramdrv/etc/passwd /etc/passwd).
Przydało by Ci się napisać do tego wlasnego init'a czy coś takiego.
Sry ze mętnie pisze ale nie jestem w stanie się zmusić do sensowniejszego myslenia.

Offline

 

#4  2008-04-21 01:33:40

  Fo - Użytkownik

Fo
Użytkownik
Zarejestrowany: 2005-05-29

Re: problem z własnym live cd

hmm czyli jezeli dobrze kumam, to pierwszym sposobem chcialbys tak jakby zrobic ze:

to bedzie live cd, ktore bedzie w sobie mialo tak jakby CD, linki beda w rootsystemie szly do tego zamontowane wewnatrz cd i dzieki temu to bedzie dzialac a przestrzeni bedzie niby wiecej - bo wtedy moge sobie zjarac np. taka 650tke a sam realny base system powiedzmy do max 250mb i wtedy jak on bedzie miec 250 mb to bede se go mogl zaladowac do ram0 a cala reszta ktorej potrzebuje bedzie sie co... ew. dogrywac z tej reszty przestrzeni powyzej base systemu ?

hmm no jakos tak to rozumiem.

drugiej metody siakos nie lapie, ale wlasnie zjadlem wiaderko jogurtu i spalilem pol paczki fajek wiec moze to tego wina - ps. kto powiedzial ze tylko kobiety w stresowych sytuacjach duzo jedza ? :P


Klasyfikator wódki w świecie IT: 0.1 l - demo,0.25 l - trial version,0.5 l - personal edition,0.7 l - professional edition,1.0 l - network edition,1.75 l - enterprise,3 l - for small business,5 l - corporate edition,"klin" - Service pack

Offline

 

#5  2008-04-21 10:36:36

  milyges - inż.

milyges
inż.
Skąd: Gorlice/Kraków
Zarejestrowany: 2006-04-09
Serwis

Re: problem z własnym live cd

Chodzi o to żeby ramdysk był jak najmniejszy. Teraz już mogę coś konkretniej napisać:
Na płycie CD masz gdzies spakowany obraz systemu powiedzmy jako root.img (niech bedzie ze w ext2 robiony)
i teraz przy bootowaniu:
1. Katalog / musisz mieć podmontowany jako ramdysk przez initrd (żeby mieć /proc /dev etc.)
2. Tworzysz katalog /mnt/cdrom
3. Montujesz plyte cd jako /mnt/cdrom
4. Tworzysz katalog /mnt/root
5. Montujesz spakowany system (/mnt/cdrom/root.img) jako /mnt/root w trybie read-only
6. Teraz do każdego pliku który jest w /mnt/root i nie musi mieć praw do zapisu (jak np aplikacje w /bin) robisz dowiązanie symboliczne w /

wg. powinno zadzialać może jest jakaś prostsza metoda ;)

Offline

 

#6  2008-04-21 23:49:50

  Fo - Użytkownik

Fo
Użytkownik
Zarejestrowany: 2005-05-29

Re: problem z własnym live cd

ok czyli z tego co rozumiem i to co zamierzam zrobić to będzie wyglądać tak:

fstab w wypalonym systemie,

Kod:

/dev/ram0    /          ext2    defaults        1 1
none         /dev/pts   devpts  gid=5,mode=620  0 0
none         /proc      proc    defaults        0 0
/dev/cdrom  /mnt/cdrom   iso9660  ro            0 0
/mnt/cdrom/root.img     /mnt/root       ro 0 0

+ dowiazania symboliczne do /mnt/root/bin/bash np. od /bin/bash - tak ?
tylko tak troche nie za bardzo to jednak kumam - czyli wszystko z /bin/ mam sobie zsymlinkowac, tak samo wszystko z etc, var i tak dalej ?

pozatym, ja sobie tam wg. tego manuala - robie z root.img -> initrd.img i to sie laduje pozniej jak system bootuje - czy mam ten krok jakos obejsc czy cos ?

jezeli chodzi o robienie wlasnego iso to laik ze mnie kompletny i jak widac nie bardzo jarze, ale jakbys jeszcze cos dopowiedzial - to GRATZ duzy.


Klasyfikator wódki w świecie IT: 0.1 l - demo,0.25 l - trial version,0.5 l - personal edition,0.7 l - professional edition,1.0 l - network edition,1.75 l - enterprise,3 l - for small business,5 l - corporate edition,"klin" - Service pack

Offline

 

#7  2008-04-22 15:22:25

  milyges - inż.

milyges
inż.
Skąd: Gorlice/Kraków
Zarejestrowany: 2006-04-09
Serwis

Re: problem z własnym live cd

fstab:

Kod:

none    /          tmpfs    defaults        1 1
none         /dev/pts   devpts  gid=5,mode=620  0 0
none         /proc      proc    defaults        0 0
/dev/cdrom  /mnt/cdrom   iso9660  ro            0 0
/mnt/cdrom/root.img     /mnt/root       ro,loop 0 0

Ale na http://eko.one.pl/index.php?page=LiveCD masz wszystko opisane ładnie, nawet lepszym sposobem niż ja kombinowałem.
Pozdrawiam.

Offline

 

#8  2008-04-23 17:16:41

  Fo - Użytkownik

Fo
Użytkownik
Zarejestrowany: 2005-05-29

Re: problem z własnym live cd

zrobiłem według tego opisu na eko.one.pl - ale niestety podczas ładowania systemu dostaje błąd (mniej więcej takiej treści):

modprobe fatal could not load modules.dep

dziwne bo, moduły są umieszczone tam gdzie powinny wg. opisu - w /initrd_fs/lib/modules/2.6.15-livecd/kernel i tu mam cdrom.ko ide-cd.ko squashfs.ko zlib_inflate.ko - i je przegrałem z katalogu gdzie kompilowałem jądro - z drivers a niektore z lib/

linijka od ładowania modułów w linuxrc wygląda tak:
insmod /lib/modules/`uname -r`/kernel/$MOD.ko

a fizycznie mam na płycie coś takiego jak:
lib/modules/2.6.15-livecd/kernel/ - i tutaj moduły.

no i tak czy inaczej dostaje błąd że nie ma modules.dep - ale mam wrażenie, że to coś ten insmod nie może załadować modułów tak jak powinien i przez to dochodzi do konfliktu. zastanawia mnie też opcja, gdzieś czytałem na jakimś forum, że initrd był skonstruowany bez "tagu" czy jakkolwiek to nazwać wskazującego na wersję kernela - ja korzystam z tego 2.6.15 który autor opisu zamieścił na sajcie.

macie może na to jakiś pomysł ?
z góry dzięki wielkie.


Klasyfikator wódki w świecie IT: 0.1 l - demo,0.25 l - trial version,0.5 l - personal edition,0.7 l - professional edition,1.0 l - network edition,1.75 l - enterprise,3 l - for small business,5 l - corporate edition,"klin" - Service pack

Offline

 

#9  2008-04-23 20:57:07

  Fo - Użytkownik

Fo
Użytkownik
Zarejestrowany: 2005-05-29

Re: problem z własnym live cd

dobra jest tak, poradziłem sobie a rozwiązaniem problemu była kompilacja module-init-tools z prefixem prefix=/ , wytranslateowanie listy modułów do /etc/modprobe.conf i utworzenie symlinka o którego krzyczał w /lib/modules/

dzięki bardzo za pomoc wszystkim :)
pozdrówka,
Fo


Klasyfikator wódki w świecie IT: 0.1 l - demo,0.25 l - trial version,0.5 l - personal edition,0.7 l - professional edition,1.0 l - network edition,1.75 l - enterprise,3 l - for small business,5 l - corporate edition,"klin" - Service pack

Offline

 

#10  2008-04-27 03:17:55

  Fo - Użytkownik

Fo
Użytkownik
Zarejestrowany: 2005-05-29

Re: problem z własnym live cd

dobra to teraz jeszcze mam jeden problem, proboje uruchomic uslugi takie jak apache2, postgres itd. to wszystko zakladam powinno miec jakies swoje odniesienie w fstabie. ciekawi mnie np. w jaki sposob apache moze ? zapisac jakas informacje w swoich logach w momencie kiedy to ... bootuje z cd w trybie read-only ? czyli reasumujac w jaki sposob pozwolic na dokonanie jakiegos tymaczasowego zapisu w tymczasowym pliku log czy tez analogicznie rozumujac mozna by to powiazac z utworzeniem pid'u ?


Klasyfikator wódki w świecie IT: 0.1 l - demo,0.25 l - trial version,0.5 l - personal edition,0.7 l - professional edition,1.0 l - network edition,1.75 l - enterprise,3 l - for small business,5 l - corporate edition,"klin" - Service pack

Offline

 

#11  2008-04-27 13:14:10

  milyges - inż.

milyges
inż.
Skąd: Gorlice/Kraków
Zarejestrowany: 2006-04-09
Serwis

Re: problem z własnym live cd

tmpfs to ramdysk.
Wiec zamontuj sobie np /var/log jako tmpfs i po problemie

Offline

 

#12  2008-04-28 03:05:04

  Fo - Użytkownik

Fo
Użytkownik
Zarejestrowany: 2005-05-29

Re: problem z własnym live cd

no wlasnie nie do konca nie wiem np. dlaczego nie jestem w stanie utworzyc socketa przez jakas aplikacje.

przykladowo django uruchamiam z parametrem socket=/var/run/project.sock a w fstabie mam /var/run jako tmpfs - wiec niby nie powinno byc problemu a jednak aplikacja nie chce wystartowac - pojawia sie w logach od apache blad ktory mowi ze nie mozna utworzyc unix socketa. podobnie xfce4 - error in locking authority file //.Xauthority


Klasyfikator wódki w świecie IT: 0.1 l - demo,0.25 l - trial version,0.5 l - personal edition,0.7 l - professional edition,1.0 l - network edition,1.75 l - enterprise,3 l - for small business,5 l - corporate edition,"klin" - Service pack

Offline

 

#13  2008-04-28 21:53:44

  Fo - Użytkownik

Fo
Użytkownik
Zarejestrowany: 2005-05-29

Re: problem z własnym live cd

no namierzylem problem i za cholere jeszcze nie wiem jak sie z nim rozprawic - nawet apache2 nie jest w stanie utworzyc swojego socketa (dokladniej fastcgi mimo iz w fcgi zdefiniowalem odpowiednia sciezke w ktorej mozna wykonac taka operacje, wczesniej tworze katalogi skryptem ktory sie uruchamia w trakcie bootowania i je odpowiednio chownuje - wiec apache powienien moc utworzyc sobie socket ale tego nie robi)

netstat -a pokazuje jedynie ze po tcp chodzi usluga www na porcie 80, caly czas wali do logow ze daemon fastcgi nie jest w stanie utworzyc unix domain socketa i ze jest restartowany - i tak w kolko.... czegos gdzies zapomnialem tylko w ktorym miejscu ?


Klasyfikator wódki w świecie IT: 0.1 l - demo,0.25 l - trial version,0.5 l - personal edition,0.7 l - professional edition,1.0 l - network edition,1.75 l - enterprise,3 l - for small business,5 l - corporate edition,"klin" - Service pack

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)