bootsplash probléma

 ( andrewfx | 2006. november 11., szombat - 17:00 )

Sziasztok.

Szeretnék bootsplasht, de

catv-d5de838e:/home/andrew# usplash_write STATUS
chdir: No such file or directory
catv-d5de838e:/home/andrew#

és már nem tudom mit csináljak.

a: chdir: No such file or directory -sor a bootolás közben is kiiródik minden sor után és előtt.

http://hup.hu/node/5736

-szerint csináltam mindent, sőt még egy két olyan is közbejátszott ami nem volt megemlítve, de nem akar működni. A probléma az, hogy mi és mit nem talál. Mert ha tudnám hogy az usplash mit keres ami nincs akkor valószínűleg meg tudnám oldani. Nem járt már valaki így? És sikerült megoldania.
Légyszi segítsetek, ha tudtok, mert már kitéptem az összes hajam.

Skat szenvedtem mire sikerült egyáltalán lefordítani a bootsplash-t de látszólag sikerült.

catv-d5de838e:/usr/src/bootsplash-3.0.7/Utilities# make
gcc -Os -Wall -I/usr/include/freetype2 -L/usr/lib splash.c -o splash
splash.c: In function 'setsplash':
splash.c:416: warning: pointer targets in passing argument 1 of 'strcpy' differ in signedness
splash.c:434: warning: pointer targets in passing argument 1 of 'strcpy' differ in signedness
splash.c:469: warning: pointer targets in passing argument 1 of 'strcpy' differ in signedness
splash.c: In function 'main':
splash.c:590: warning: pointer targets in passing argument 1 of 'strncmp' differ in signedness
gcc -Os -Wall -I/usr/include/freetype2 -L/usr/lib fbresolution.c -o fbresolution
gcc -Os -Wall -I/usr/include/freetype2 -c -o fbtruetype.o fbtruetype.c
fbtruetype.c:39: warning: pointer targets in initialization differ in signedness
fbtruetype.c: In function 'main':
fbtruetype.c:106: warning: pointer targets in assignment differ in signedness
fbtruetype.c:141: warning: pointer targets in passing argument 2 of 'rendertext' differ in signedness
gcc -Os -Wall -I/usr/include/freetype2 -c -o fbtruetype-messages.o fbtruetype-messages.c
gcc -Os -Wall -I/usr/include/freetype2 -c -o console.o console.c
gcc -Os -Wall -I/usr/include/freetype2 -c -o ttf.o ttf.c
ttf.c: In function 'rendertext':
ttf.c:802: warning: pointer targets in assignment differ in signedness
gcc -Os -Wall -I/usr/include/freetype2 -c -o luxisri.o luxisri.c
gcc -Os -Wall -I/usr/include/freetype2 -L/usr/lib -o fbtruetype -L/usr/lib fbtruetype.o fbtruetype-messages.o console.o ttf.o luxisri.o -lfreetype -lm
gcc -Os -Wall -I/usr/include/freetype2 -c -o fbmngplay.o fbmngplay.c
gcc -Os -Wall -I/usr/include/freetype2 -c -o fbmngplay-messages.o fbmngplay-messages.c
gcc -Os -Wall -I/usr/include/freetype2 -c -o mng.o mng.c
gcc -Os -Wall -I/usr/include/freetype2 -L/usr/lib -o fbmngplay -L/usr/lib fbmngplay.o fbmngplay-messages.o mng.o console.o -lmng -lz -lm
strip -s splash fbresolution fbtruetype fbmngplay
catv-d5de838e:/usr/src/bootsplash-3.0.7/Utilities#

A fordításnál volt nagy hiba az mng-nek a copyline függvényén belül.Azt átírtam.

static inline void copyline(unsigned char *dest, unsigned char *src, unsigned, *background, mngstuff * mymng){
...
// általam modosított sor: (ezt modosítottam)
// input = * ((unsigned short *) background)++;
//erre
input = * ((unsigned char *) background)++;
...
//és ezt:
// * ((unsigned short *) dest)++ = output;
//erre
* ((unsigned char *) dest)++ = output;

elötte nem volt hajlandó lefordúlni. mindig ezt adta:
> gcc -Os -Wall -I/usr/include/freetype2 -c -o mng.o mng.c
> mng.c: In function 'copyline':
> mng.c:231: error: invalid lvalue in increment
> mng.c:282: error: invalid lvalue in increment
> make[1]: *** [mng.o] Error 1
> make[1]: Leaving directory
> `/usr/local/src/bootsplash/bootsplash-3.1/Utilities'
> make: *** [build-stamp] Error 2

javítás után simán lefordúlt hibaüzi nélkül.

a #make install:

catv-d5de838e:/usr/src/bootsplash-3.0.7/Utilities# make install
make: *** No rule to make target `install'. Stop.
catv-d5de838e:/usr/src/bootsplash-3.0.7/Utilities#

mégsem működik. Lehet, hogy ez a baj. De akkor ez meg miért nem megy.

találtam neten:
INSTALLING

make install
mkdir /var/lib/usplash
mkfifo /var/lib/usplash/usplash_fifo

a könyvtárat és a filét is létrehoztam manuálisan de az install is kéne. Ha lefordult rendesen miért nem működik?

Ami kimaradt.

Debian etch, (sargerol dist-upgradelt) 2.6.18-as vanilla kernel-el forgatva.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

tulképp miért nem a splashy vagy az usplash _csomagot_ használod?

főleg az alábbi link utolsó találatai érdekesek:

http://packages.debian.org/cgi-bin/search_packages.pl?keywords=splash&searchon=names&subword=1&version=all

Kipucoltam amit eddig csináltam...

és ezt kaptam:

catv-d5de838e:/home/andrew# apti usplash debian-edu-artwork-usplash
Csomaglisták olvasása... Kész
Függőségi fa építése... Kész
usplash már a legújabb verzió.
Az alábbi ÚJ csomagok lesznek telepítve:
debian-edu-artwork-usplash
0 frissített, 1 újonnan telepített, 0 eltávolítandó és 8 nem frissített.
Letöltés az archívumokból: 13,4kB
Kicsomagolás után 106kB lemezterületet használok fel
Letöltés:1 ftp://ftp.hu.debian.org etch/main debian-edu-artwork-usplash 0.0.15 [13,4kB]
Letöltve 13,4kB 5s alatt (2501B/s)
Új csomag kiválasztása: debian-edu-artwork-usplash.
(Adatbázis olvasása ... Most 119869 fájl és könyvtár telepített.)
Kicsomagolás: debian-edu-artwork-usplash innen: .../debian-edu-artwork-usplash_0.0.15_i386.deb ...
Beállítás: debian-edu-artwork-usplash (0.0.15) ...
/boot/initrd.img-2.6.8-3-386 has been altered. Cannot update.

catv-d5de838e:/home/andrew# usplash
chdir: No such file or directory
catv-d5de838e:/home/andrew#

Nincs grafikus beálítóközpont ehez véletlenül? Vagy most akkor mi van?

'Nincs grafikus beálítóközpont ehez véletlenül?'

Dehogynincs. A Debian rendszerben mindenhez van grafikus beállító felület, a debconf gtk-s felülete.

Mindenesetre dpkg-reconfigure debconf, a kérdéseket vedd alacsonyra.

Aztán: a kernel nagyon öregnek tűnik: apt-get install linux-image-2.6-686

én amúgy etch-re a splashy csomagokat raktam fel és az kicsit döcögősen, de ment. (asszem vesa és nv fb-vel is). A rendszeren már udev van? Mindenesetre nem vagyok róla meggyőződve, hogy nem újabb kernel kell.

Aztán: a kernel nagyon öregnek tűnik: apt-get install linux-image-2.6-686

Hát az igazság az, hogy nem öreg és nem tudom, hogy miért a gyári kernelhez akar hozzányúlni amikor nem azt használom.

2.6.18-as vanilla kernel van forgatva, mert a "gyári" krnelekhez nem fordul le a webcamera drivere, mert nem ugyanaz a gcc fordíto verziószáma mint amivel a kernelt forgatják.

2.6.8-as kernelt írtal, pedig az Etch-ben, 2.6.17 van (1-2 hét múlva jön a .18), még1x kérdem, miért nem azt használod?

Nem a 2.6.8-as gyári kernelt használom. van saját forgatva 2.6.18-as.

ez a gyári azért van mert sarge-rol lett dist upgradelve. de azt hiszem már anyira kicsináltam szegényt, és mivel nem értek hozzá, fogom és újrarakom az egészet. csak most egyből az etchet. amúgy is kíváncsi vagyok az uj linuxgui-s telepítésre :D

nem kell újraraknod, de ha újrarakod, akkor várj egy pár órát, mindjárt megjelenik az rc1 telepítő.

Egyelőre még nem az installgui az alapértelmezett, pár fícsör hiányzik belőle.

Van egy ismert probléma, amire még vissza fogok térni:

Az Etch már alapban utf-8 kódolást használ, ellenben konzolon nem alapban nem vihetők be (olvashatók) a kritikus betűk. Nem tudom még az okát, de azt nagyon-nagyon fontos lenne megoldani!

Először is debian csomagokkal próbáltam megoldani, de úgy sem ment.

Szóval tudja valaki, hogy milyen könyvtárat kereshet ez a szerencsétlen usplash, vagy hová logolhat?

strace és kiderül

munmap(0xb7fc6000, 73934) = 0
chdir("/dev/.initramfs") = -1 ENOENT (No such file or directory)
dup(2) = 3

köszi. megvan, hogy mit nem talált, de ezek szerint valmit nagyon elrontottam, hogy ez nincs.

Találtam félmegoldást a problémára.
Ugyanis a következő sor létrehozza a megfelelő könyvtárat és filét ami kell az usplashnak, de csak leállításkor van értelme, mert újraindulás után a könyvtár eltünik. Miért?

mkdir /dev/.initramfs && touch /dev/.initramfs/usplash_fifo

De ez sem elég mert épp csak egy pillanatra jelenik meg a kép utána átvált és folytatla tovább a leállást bootsplash nélkül. de legalább már nincs ott a könyvtárathiányoló sor.

Megoldás született.

Fentebb említett splashy tökéletes és működő megoldást nyújt. Igaz még be kell állítani, mert elég lassan töltődik be, de már alakul :D

Splashy

Van vele némi gond. Késve indul és addig látszanak a kernelüzenetek. Túl korán lövi le magát és egész sokáig csak a nagy feketeség van mire betöltödik a GDM. A leállítás az egész jól működik.

Tud valaki valami megoldást hogy rendszerbetöltődéskor is jó legyen. Találkozott valaki már a problémával?

Mivel a splashy azt csinálja, hogy az init folyamattal indul el és berak 5 db startscripter, amivel ráírja a fifo-ra, hogy 20% 40% stb. Na mármost a kernelüzik így mindenképpen látszanak, mivel azt az init előtt be kell tölteni. A splashy userspace és nem kernel szintű, mint a bootsplash, vagy az usplash (bár ez utóbbit nem tudom).

Köszi. Akkor nem próbálom kijavítani ezt a hibát. Mert ezek szerint ez a normális müködése.

ja...de használhatod a bootsplasht, ami azért eléggé kiforrot dolog, csak macerás kézimunka a beizzítása.