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!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam!
no i stało się; moja instalacja którą słodko bawiłem się przez 4miesiące diabli wzieli. Jakieś 2h temu po restarcie systemu zero reakcji na myszkę, klawiaturę, nawet ping (nie podłączył internetu).
zrestartowałem na zimno i przy uruchomieniu wyszło, że to udev - taki komunikat
udevd[239]: error creating queue file ... (warning)
później
Waiting 15 seconds and trying to continue anyway ...
wiem mniej więcej, co to udev, wiem też, gdzie można grzebać a gdzie nie, by nie rozwalić systemu, ale nie mam pojęcia jak to naprawić. dziwie się też trochę, bo jedyna akcja którą zrobiłem na roocie w tamtej sesji to bodajże stworzenie pliku /etc/ld.so.preload
teraz, gdyby nie jakieś stare livecd Ubuntu nie wiem co by było. (mam tylko jeszcze Archa na pentium2).
Pozdrawiam, proszę o pomoc
system to aktualny Debian Wheezy
Ostatnio edytowany przez dominbik (2011-12-26 18:55:46)
Offline
przeinstalowałem udev przez chroot - nic nie dało
usunięcie katalogu /run - nic nie dało
Ostatnio edytowany przez dominbik (2011-12-27 09:05:31)
Offline
Nie żebym wiedział w czym problem, bo pojawienie się czegoś takiego ot tak po prostu nie jest dla mnie logiczne… Ale co masz na statycznym /dev (podmontuj „/” z livecd i zobacz co jest wtedy w /dev)? Przeinstalowałeś udeva czyli tylko pakiet udev, czy wszystkie z „udev” w nazwie? Próbowałeś wygenerować potem nowe initrd w chroocie, ewentualnie zainstalować jakiś inny kernel i na nim sprawdzić?
Offline
chodzi Ci by na livecd najpierw pod montować;
mount -t ext4 /dev/sda1 /mnt/chroot
a potem pod montować?
mount -o bind /dev /mnt/chroot/dev
czy jak?
przeinstalowałem tylko jeden pakiet udev. nie próbowałem generować nowego initrd (chodź nie wiem czy nie jest on z automatu generowany przy reinstalacji udev) w chroocie czy instalować innego kernela
jbc dysponuje logami ale nie przypominam sobie bym gdzieś niebezpiecznie grzebał na roocie wtedy ;/
sam nie wiem jak to się stało. jak uda mi się tą instalację przywrócić do życia to będę robił codziennie backupy
co jeszcze może mieć jakieś znaczenie - bawiłem się wtedy z biblioteką libtrash (stąd ten plik /etc/ld.so.preload) używam prelink ale wtedy chyba nie wklepywałem
prelink -amR
; edytowałem dwie linijki w ~./bashrc ale potem przywróciłem tak jak były
Ostatnio edytowany przez dominbik (2011-12-27 12:26:05)
Offline
dominbik napisał(-a):
chodzi Ci by na livecd najpierw pod montować;
mount -t ext4 /dev/sda1 /mnt/chroot
I tyle, zobacz co jest wtedy w /mnt/chroot/dev/.
dominbik napisał(-a):
przeinstalowałem tylko jeden pakiet udev. nie próbowałem generować nowego initrd (chodź nie wiem czy nie jest on z automatu generowany przy reinstalacji udev) w chroocie czy instalować innego kernela
To spróbuj te rzeczy po kolei, zaczynając od przeinstalowania wszystkich pakietów udeva, u mnie:
$ aptitude search udev~i i A libgudev-1.0-0 175-3 — GObject-based wrapper library for libudev i A libudev0 175-3 — libudev shared library i A udev 175-3 — /dev/ and hotplug management daemon
Offline
mount -t ext4 /dev/sda1 /mnt/chroot ls /mnt/chroot/dev
console kmem loop3 mem ptmx ram10 ram15 ram5 random tty core log loop4 null pts ram11 ram16 ram6 shm tty0 fd loop0 loop5 nvidia0 ram ram12 ram2 ram7 stderr urandom full loop1 loop6 nvidiactl ram0 ram13 ram3 ram8 stdin xconsole initctl loop2 loop7 port ram1 ram14 ram4 ram9 stdout zero
zaraz przeinstaluje te udevy. przy reinstalacji to rzuciło mi się w oczy
update-initramfs: Generating /boot/initrd.img-3.0.0-1-686-pae df: Uwaga: nie można przeczytać tablicy zamontowanych systemów plików
ale nie wiem czy to nie przez to że robię to przez chroota
Ostatnio edytowany przez dominbik (2011-12-27 12:35:44)
Offline
Możesz spróbować usunąć całą zawartość statycznego /dev (albo usunąć cały katalog i utworzyć go ponownie), choć w sumie wątpię żeby to coś dało, nie widać tam nic szczególnego. Obecnie statyczny /dev może być pusty jeśli używa się initrd lub devtmpfs.
dominbik napisał(-a):
ale nie wiem czy to nie przez to że robię to przez chroota
Pewnie nie zamontowałeś /dev i /proc przed chrootem.
Offline
zamontowałem tj;
mount -t proc none /mnt/chroot mount -o bind /dev /mnt/chroot/dev
i jest ten sam komunikat
Przetwarzanie wyzwalaczy dla initramfs-tools... update-initramfs: Generating /boot/initrd.img-3.0.0-1-686-pae df: Uwaga: nie można przeczytać tablicy zamontowanych systemów plików Failed to open connection to "system" message bus: Failed to connect to socket /var/run/dbus/system_bus_socket: Connection refused
przeinstalowanie tych pakietów (u mnie również 3) nic nie pomogło. jak usunąłem/przeniosłem /dev to przy bootowaniu kernel panic był
Ostatnio edytowany przez dominbik (2011-12-27 12:47:31)
Offline
dominbik napisał(-a):
mount -t proc none /mnt/chroot
Powinno być:
mount -t proc none /mnt/chroot/proc
dominbik napisał(-a):
jak usunąłem/przeniosłem /dev to przy bootowaniu kernel panic był
Chodziło o to, żeby /dev był, ale pusty.
Offline
aha zaraz to zrobię.
z tym proc oczywiście wklepałem
mount -t proc none /mnt/chroot/proc
tylko tutaj się pomyliłem
Offline
Aha, OK. U mnie idzie generowanie initrd w chroocie, tylko /sys trzeba jeszcze zbindować.
Offline
tylko nie wiem czy mogę gdyż teraz ogarnąłem że na /mnt/chroot a systemie z którego się chrootuje są dwa różne jądra
na /mnt/chroot 3.0.0-1-686-pae a ten z którego chrootuje 3.1.0-1-686-pae
i mimo
mount -t ext4 /dev/sda1 /mnt/chroot/ mount -t proc none /mnt/chroot/proc mount -o bind /dev /mnt/chroot/dev mount -o bind /sys /mnt/chroot/sys
później chroot /mnt/chroot
init nie idzie
Offline
Wersja kernela w obu systemach nie ma raczej znaczenia. Spróbuj przed generowaniem initrd usunąć/przenieść katalog /var/run/dbus (odtworzy się przy bootowaniu) systemu do którego się chrootujesz, albo i jego jeszcze zbindować z odpalonego systemu.
Offline
Pospamuję tu troszkę :D
13:32:08 /root root # mount | grep Debian /dev/sda7 on /Debian type ext4 (rw,noatime,acl,commit=0) /dev on /Debian/dev type none (rw,bind) /proc on /Debian/proc type proc (rw) tmpfs on /Debian/var/tmp type tmpfs (rw,mand,noatime,mode=1777) tmpfs on /Debian/tmp type tmpfs (rw,mand,noatime,mode=1777) tmpfs on /Debian/var/run type tmpfs (rw,mand,noatime,mode=1777) /sys on /Debian/sys type none (rw,bind)
chroot /Debian Squeeze 13:31:08 / root # update-initramfs -u update-initramfs: Generating /boot/initrd.img-2.6.39-bpo.2-686-pae Squeeze 13:31:44 / root # exit
Squeeze - uruchamiany raz na .... - trzymany na wypadek sepuku Gentoo.
Initramfs wygenerowany bezbłędnie... przez chroota.
Jajo w Gentoo (na nim aktualnie chodzi system) nie ma initramfs w ogóle:
13:39:04 /root root #ls -l /boot/*$(uname -r) -rw-r--r--. 1 root root 95507 11-28 12:58 /boot/config-3.1.3-gl1 -rw-r--r--. 1 root root 2423166 11-28 12:58 /boot/System.map-3.1.3-gl1 -rw-r--r--. 1 root root 3988848 11-28 12:58 /boot/vmlinuz-3.1.3-gl1
Pozdro
;-)
Ostatnio edytowany przez Jacekalex (2011-12-27 13:41:36)
Offline
to wziąłem na końcu dodatkowo jeszcze (pierwotną zawartość /var/run/dbus usunąłem)
mount -o bind /var/run/dbus /mnt/chroot/var/run/dbus
i mam tak:
# mount | grep /mnt/chroot /dev/sda1 on /mnt/chroot type ext4 (rw) /dev on /mnt/chroot/dev type none (rw,bind) /sys on /mnt/chroot/sys type none (rw,bind)
potem
chroot /mnt/chroot
i
root@debian:/# update-initramfs -u update-initramfs: Generating /boot/initrd.img-3.0.0-1-686-pae df: Uwaga: nie można przeczytać tablicy zamontowanych systemów plików
czy to może tutaj leżeć problem?
to co dodatkowo mnie zastanawia to fakt że kiedy przeniosłem katalog /run czy on czasem nie jest winowajcą był on pusty
Ostatnio edytowany przez dominbik (2011-12-27 14:05:30)
Offline
dominbik napisał(-a):
czy to może tutaj leżeć problem?
Pusty /etc/mtab na chrootowanym systemie?
dominbik napisał(-a):
to co dodatkowo mnie zastanawia to fakt że kiedy przeniosłem katalog /run czy on czasem nie jest winowajcą był on pusty
Jego zawartość tworzona jest dynamicznie w tmpfs podczas uruchamiania systemu, to normalne, że na nieodpalonym jest pusty.
Offline
Wszystkie zamontowane systemy plików są wymienione w pliku /proc/mounts uruchomionego systemu.
Jeśli df nie może się do niego dostać, znaczy - proc nie zamontowane w chroot.
Edyta:
Rzeczywiście woła o /etc/mtab, możesz zrobić tak:
w chroocie:
grep -v 'rootfs' /proc/mounts >/etc/mtab
A potem update-initramfs.
Pozdro
;-)
Ostatnio edytowany przez Jacekalex (2011-12-27 14:21:02)
Offline
Jacekalex: O /proc już było kilka postów wyżej. :)
Offline
mount -t proc none /mnt/chroot/proc
tak montuje a mimo to w mount | grep /mnt/chroot (dałem wyżej wynik) nie pokazuje go
/etc/mtab jest pusty
Offline
Ja wiem, że było, ale tutaj proc nie widziałem.
dominbik napisał(-a):
Kod:
mount -t proc none /mnt/chroot/proctak montuje a mimo to w mount | grep /mnt/chroot (dałem wyżej wynik) nie pokazuje go....
mount -t proc /proc /mnt/chroot/proc
Montuj w chroocie folder /proc a nie żaden none.
dominbik napisał(-a):
...
/etc/mtab jest pusty
to spróbuj go napełnić.
Jacekalex napisał(-a):
.... możesz zrobić tak:
w chroocie:Kod:
grep -v 'rootfs' /proc/mounts >/etc/mtabA potem update-initramfs.
Pozdro
;-)
Ostatnio edytowany przez Jacekalex (2011-12-27 14:20:23)
Offline
Jacekalex napisał(-a):
Montuj w chroocie folder /proc a nie żaden none.
W przypadku montowania proc w ten sposób (można też zbindować), fragment „none” to tylko zwyczajowa etykietka.
http://forums.gentoo.org/viewtopic-t-881517-start-0.html
Offline
Wiem, ale jeśli Twój sposób jest prawidłowy zawsze, to czemu u dominbika nie montował w ten sposób?
Bo ja np stawiając postfixa czy apacha w chroot na 100% użyłbym Twojego sposobu, ale do naprawy systemu zawsze wziąłbym mój.
Ostatnio edytowany przez Jacekalex (2011-12-27 14:41:45)
Offline
dobra uczyniłem to wszystko i update-initramfs -u wydaje się działać ok (nie ma żadnego komunikatu). przy przeinstalowywaniu tych udevów pod koniec mam tylko;
Przetwarzanie wyzwalaczy dla initramfs-tools... update-initramfs: Generating /boot/initrd.img-3.0.0-1-686-pae Failed to open connection to "system" message bus: Failed to connect to socket /var/run/dbus/system_bus_socket: Connection refused
mimo że dałem bind tego /var/run/dbus/
idę teraz zobaczyć czy wystartuje
ale
Offline
Montował, tylko nie pokazywał proc w wyniku mount. Przy „none” nie pokazuje, ale proc jest jak najbardziej zamontowany i bangla.
Offline
tak był zamontowany ale nie pokazywał - bo gdy chciałem zamontować to wyskakiwał że /proc już zamontowany
pomogło chyba to;
grep -v 'rootfs' /proc/mounts >/etc/mtab
niestety przeinstalowałem te udevy jeszcze raz; dałem
update-initramfs -u
i dalej nie startuje :C już nie wiem co robić próbowałem wszystkiego napisałem nawet na IRC #gentoo-pl i żadna solucja nie przynosi rezultatu
jedyne co mi jeszcze świeci to, że gdy usunąłem katalog /run komunikat lekko się zmienił (na jeszcze gorszy) więc to może coś z tym katalogiem lecz nie mam pomysłu
Ostatnio edytowany przez dominbik (2011-12-27 14:48:22)
Offline