alsa-driver-0.9.0beta12.tar.bz2 + jsem zkopíroval System.map a linux to kupodivu nepřežil

n_petr na seznam.cz n_petr na seznam.cz
Pátek Březen 15 18:08:39 CET 2002


Pokud spustíte "make install" u "alsa-driver-0.9.0beta12" až na samém konci
vám to vyhodí chybu něco jako Error255: Nemohu číst System.map - no such
file or a directory - někde (přesně si již nepamatuji, ale nahrál jsem to do
té kýžené adresy) v /usr/src/~linux/include.

Podíval jsem se do Makefile v "alsa-driver-0.9.0beta12" a tohle tam našel:

.PHONY: install-modules
install-modules: compile
 rm -f $(DESTDIR)$(moddir)/snd*.o $(DESTDIR)$(moddir)/persist.o
$(DESTDIR)$(moddir)/isapnp.o
 @for d in $(SUBDIRS); do if ! $(MAKE) -C $$d modules_install; then exit 1;
fi; done
ifeq ($(DESTDIR),)
 /sbin/depmod -a -F $(CONFIG_SND_KERNELDIR)/System.map $(kaversion)
else
 /sbin/depmod -a -b $(DESTDIR)/ -F $(CONFIG_SND_KERNELDIR)/System.map
$(kaversion)
endif

Protože jsem nechtěl upravovat tento zdroják, protože jsem přesně nerozumněl
tomuto "-F $(CONFIG_SND_KERNELDIR)/System.map $(kaversion)" ani tomuto "-b
$(DESTDIR)/ -F $(CONFIG_SND_KERNELDIR)/System.map $(kaversion)" napadlo mě
nahrát onen System.map na tu kýženou adresu. System.map jsem našel schovaný
na radu Michala Špačka v adresář /boot/, avšak pod jménem
"System.map-2.4.4-4GB", nahrál tam, kde si ho žádal ten "make install" a
přejmenoval na System.map. Ten původní "System.map-2.4.4-4GB" jsem v /boot/
samozřejmě nechal. Spustil jsem "make instal" v "alsa-driver-0.9.0beta12" a
tam, kde to hodilo předtím ten Error255, to nyní žádnou hlášku nehodilo, ale
celý systém se zasekl. Čekal jsem asi 10 minut a pak jsem zmáčkl tlačítko
reset ;-). Po té jsem už SuSE 7.2 marně křísil nesčetněkrát k životu pomocí
fsck, e2fsck i četných rebootů. Nic nepomohlo, až instalace od nuly a nyní
chodí kupodivu v /usrc/src/~linux/ "make dep" viz. příspěvek "Re:
modversions.h v SuSE - povinné zlo téměř vyřešeno ?".

Otázky:
1) Jakto, že vytvoření kopie System.map způsobil smrt linuxu ? Co je ten
soubor vlastně zač ?
2) Co znamená tato podmínka ?
ifeq ($(DESTDIR),)
 /sbin/depmod -a -F $(CONFIG_SND_KERNELDIR)/System.map $(kaversion)
else
 /sbin/depmod -a -b $(DESTDIR)/ -F $(CONFIG_SND_KERNELDIR)/System.map
$(kaversion)
endif
3) Jak musím tuto podmínku pozměnit, aby mi ukázala na
"/boot/System.map-2.4.4-4GB" ?
4) Pokud krokem 3) linux opět umře, jak odstraním Error255 - nemohu číst
System.map viz. popsáno nahoře.

Děkuji mockrát, Petr Novák



Další informace o konferenci Linux