wuch + automateusz

Michal Moskal malekith w pld.org.pl
Pon, 29 Sty 2001, 15:03:15 CET


Witam,

przez łikend grzbałem troche w automatołku i wuchu. Znalazłem
paskudny bug w rpm-4.0. On keszuje gdzies (w którejś bazie)
zależności, tj przy wyszukiwaniu ich zapisuje wyniki. Ale ma
to jedna niewielką wadę - nie ustawia pola suggests. Ludzie
od rh się na tym nie przejechali bo ICH instalator nie otwiera
bazy danych przy instalacji (patrz komentarze w 
rpm-4.0/lib/depends.c). Ale wuch się wywala na tym.
Zrobiłem odpowiedni patch do rpm'a żeby wyłączyć to keszowanie
jeśli sugessts jest potrzebne. Jeśli ktoś czyta rpm-list
to można ich uświadomić w tej kwestii.

Poza tym zauważyłem kilka rzeczy (co do wucha). 
1. plik w którym zapisuje się liste rpm'ów to rpm.list, a
   nie mpm.list (typo jak rozumiem, poprawiłem).
2. update przy wywoływaniu instalacji jest zawsze 0. miało
   być chyba zawsze 1. (tzn. jest tam coś w rodzaju 
   	/* pk->flags */ 1 & SOME_FLAGS
   ale w tych flagach nie ma 1. rozumiem że intencją było
   -1 a nie 1). poprawione.
   ***Note*** Paweł był szybszy :)
3. pakiet po wybaraniu z pliku był zawsze instalowany,
   niezależnie od tego czy był zaznaczony. pewnie powinna
   być jakaś flaga zabezpieczająca przed odznaczeniem,
   ale chyba jeśli już odzanczyłem to nie ma być instalowane.
   zmienione, dopisane do TODO.
(Pisze tu o tym, żeby się upewnić, że czegoś nie spieprzyłem
przypadkiem... tzn. to _tak właśnie_ miało być).

Co do automatołka. Udało mi się zainstalować nim system!!! 
W jednym miejscu instalacji wykonałem radosne rm -rf / :(
co dało mi niepowtarzalną możliwość sprawdzenia instalacji
od zera, a nie tak jak chciałem na innej partycji tylko :(
Ale don't be afraid, już wywaliłem ten kawałek, który
był za to odpowiedzialny :)

Poprawiłem kilkanaście byków. Przydałyby się jakieś dodatkowe
listy pakietów pre-selected (dodałem support, teraz
jest base, server, router z bootkietki).
Pozatym ciąglę szukam chętnego do tłumaczenia tego na
polski :)) i ew. inne języki. Ja sam nie odczuwam potrzeby
lokalizacji at all ... 

Przy instalcji pakietu dev kernel wyrzuca "grow_inodes:
allocation failed". Problem występuje tylko na reiserze (hashe
both r5 i tea). Dev ma chyba najwięcej plików ze wszystkiego
co instalowałem (>5000).  RPM wywala tekst, że cpio: filesystem
full.  O ile się orientuje w źródłach kernela to grow_inodes (w
fs/inode.c) może się wyłożyć przy małej ilości fizycznego ramu
(tzn. max możliwa liczba zallokowanych inodów jest uzleżniona
od ilości fizycznych stron).  Ja mam 32m, może ktoś z mniejsza
ilością doświadczył czegoś podobnego? To może lepiej na
liste devel wyślę...

Co do instalacji samych pakietów: chkconfig się wywala, potem
przestaje. Problem jest chyba znany (service X doesn't support
chkconfig, potem z palca wszystko jest ok). To chyba też....

Pozatym kernel nie generuje initrd, bo nie ma rc-scripts,
czy czegoś tam jeszcze. To nie ma większego znaczenia, bo
nie ma też /etc/fstab oraz /etc/lilo.conf. Obszedłem to
uruchamiając po konfiguracji lilo geninitrd (tzn. żeby
nie było niejasności: robi to automateusz, a nie ja z palca :>
w ogóle nie ruszłem /bin/lash i zainstalowałem).

W tym miejscu wklejam kawałek skryptu do generowania
obrazka z automatołkiem. Co o tym sądzicie? Tzn.
o podziale na dyskietki. Do instalacji potrzeba jest
bootkietka i jedna z automatołko-dyskietek. Trzeba by
jeszcze pomyśleć o obrazie 2.88 na iso.

#
# i think this is logical. imho 99% of users won't be forced
# to make any additional disks.
#
# if you're installing from network choose net_preload,
# then get any required pkgs from the net.
# if you are using ide-cdrom or non-scsi/non-ide cdrom - 
# use cdrom_preload. same if installing from ide, possible
# dosish partition.
# if you are using scsi-cdrom to install - use scsi_preload.
#
# in any case reiserfs is also included.
#

net_preload="		arcnet-mod.tar.gz
			dhcp-pkg.tar.gz
			eth-mod.tar.gz
			net-pkg.tar.gz 
			nfs-pkg.tar.gz 
			tr-mod.tar.gz 
			parport-mod.tar.gz"
			
cdrom_preload="		md-mod.tar.gz
			cdrom-mod.tar.gz
			msdos-pkg.tar.gz
			fat-mod.tar.gz
			pci-pkg.tar.gz
			pcmcia-pkg.tar.gz
			pnp-pkg.tar.gz
			umsdos-pkg.tar.gz"

scsi_preload="		scsi-low-mod.tar.gz
			scsi-mod.tar.gz
			md-mod.tar.gz"

general_preload="	reiser-pkg.tar.gz"


teraz przepis jak zrobić sobie obrazki żeby testować
(jakby ktoś chciał). Ja robiłem tak:

mkdir bootdisk
cp ...PLD/inst/*.tar.gz bootdisk
cd bootdisk
mkdir am
cp ..automateusz/scripts/mk-am-img
./mk-am-img
--- CZEKAMY --
i powinny być obrazki z automatołkiem.

teraz jeszcze bootdisk.img wymaga pewnych modyfikacji

mount bootdisk.img mnt -o loop
zcat mnt/initrd.gz > initrd
mount initrd root -o loop
cd root/etc
cp ...automateusz/scripts/etc-inittab inittab
cp ...automateusz/scripts/etc-rc rc
cp ...automateusz/scripts/etc-automateusz automateusz
cd ../..
umount root
gzip -9nf initrd > mnt/initrd.gz
umount bootdisk.img

sory, ale nie moge udostępnić gotowych obrazków, bo
nie mam pakietów 386 w chrootcie.

aha. jest jeszcze jeden dorbny problem, trzeba użyć najnowszej 
wersje rpm'a do budowania wucha. albo samemu z cvsa zbudowac.
rpm-4.0-13 required.

pozdrówka
-- 
                        Michał Moskal <malekith w pld.org.pl>

Only wimps use tape backup: _real_ men just upload their
important stuff on ftp, and let the rest of the world
mirror it ;)
	-- Linus Torvalds, about his failing hard drive on
          linux.cs.helsinki.fi

[Hello to all my fans in domestic surveillance] North Korea 
explosion Marxist CIA nuclear fissionable jihad plutonium 
World Trade Center Semtex spy Saddam Hussein Uzi Ortega FBI 
Waco, Texas Uzi domestic disruption Ft. Bragg 
--



Więcej informacji o liście dyskusyjnej pld-installer