Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Icone Gentoo nel bootlogo di linux-2.6.0
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

Goto page 1, 2  Next  
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian)
View previous topic :: View next topic  
Author Message
DuDe
Guru
Guru


Joined: 04 Dec 2002
Posts: 314
Location: Roma Italy

PostPosted: Mon Nov 10, 2003 2:26 pm    Post subject: Icone Gentoo nel bootlogo di linux-2.6.0 Reply with quote

Come topic qualcuno sa' come aggiungere bootlogo al kernel 2.6.0?
_________________
mount -t brain /dev/brain /body/skull
Back to top
View user's profile Send private message
shev
Bodhisattva
Bodhisattva


Joined: 03 Feb 2003
Posts: 4084
Location: Italy

PostPosted: Mon Nov 10, 2003 2:31 pm    Post subject: Reply with quote

Intendi la stessa cosa chiesta in questo topic? :roll:
_________________
Se per vivere ti dicono "siediti e stai zitto" tu alzati e muori combattendo
Back to top
View user's profile Send private message
DuDe
Guru
Guru


Joined: 04 Dec 2002
Posts: 314
Location: Roma Italy

PostPosted: Mon Nov 10, 2003 2:41 pm    Post subject: Reply with quote

Piu' o meno, allora vediamo di chiarire io sono riuscito a ficcare il gentoo-logo dentro al kernel 2.6.0 solo che le procedure non sono proprio a portata di tutti in quanto prevedono di usare un programmillo che si chiama pngtopnm che converte un png in un pnm che e' un formato ascii che e' il solo che il kernel 2.6.0 capisce.

Il primo passo e' convertire un logo gentoo.png in un logo_gentoo_clu224.ppm che e' il nome del file che la parte logo del 2.6 cerca.

Fatto cio' bisogna smanazzare dentro la dir linux/drivers/video/logo ed aggiungere i pezzi dentro ai file logo.c Kconfig e Makefile

se volete provo a scrivere un how-to
_________________
mount -t brain /dev/brain /body/skull
Back to top
View user's profile Send private message
silian87
Advocate
Advocate


Joined: 06 Oct 2003
Posts: 2318
Location: Treviso, Italy

PostPosted: Mon Nov 10, 2003 3:00 pm    Post subject: Reply with quote

8O Io con il mio powerbook e con il 2.6 test 7 ho lasciato tutto come era (per il logo) e il pinguino funziona benissimo, colori compresi.
_________________
Musica che ascolto: http://www.last.fm/user/silian87/

Silian87 FAQs: http://marentax.homelinux.org/~silian87/silian87-faq.txt

GTalk: silian87@gmail.com
Back to top
View user's profile Send private message
DuDe
Guru
Guru


Joined: 04 Dec 2002
Posts: 314
Location: Roma Italy

PostPosted: Mon Nov 10, 2003 3:04 pm    Post subject: Reply with quote

Gia' il pinguino, ma se tu volessi metterci gentoo al posto del pinguino?
_________________
mount -t brain /dev/brain /body/skull
Back to top
View user's profile Send private message
shev
Bodhisattva
Bodhisattva


Joined: 03 Feb 2003
Posts: 4084
Location: Italy

PostPosted: Mon Nov 10, 2003 3:09 pm    Post subject: Reply with quote

DuDe wrote:

se volete provo a scrivere un how-to


Scrivi scrivi :D
_________________
Se per vivere ti dicono "siediti e stai zitto" tu alzati e muori combattendo
Back to top
View user's profile Send private message
silian87
Advocate
Advocate


Joined: 06 Oct 2003
Posts: 2318
Location: Treviso, Italy

PostPosted: Mon Nov 10, 2003 3:12 pm    Post subject: Reply with quote

di gentoo?

Una volta, per curiosità, ho navigato nel kernel e mi sono imbattuto in una sfilza di valori in esadecimale. Credo che sia il logo. E' un po' rischioso, ma prova a sostituirli con quelli del logo che vuoi mettere (se ce gli hai), ed in teoria (molto in teoria :wink: ) dovrebbe andare, credo. :roll:

Oppure il metodo che mi hai descritto mi sembra più veloce, facile e sicuro.
_________________
Musica che ascolto: http://www.last.fm/user/silian87/

Silian87 FAQs: http://marentax.homelinux.org/~silian87/silian87-faq.txt

GTalk: silian87@gmail.com
Back to top
View user's profile Send private message
DuDe
Guru
Guru


Joined: 04 Dec 2002
Posts: 314
Location: Roma Italy

PostPosted: Tue Nov 11, 2003 12:23 am    Post subject: Reply with quote

Guarda era piu' semplice cobn il kernel 2.4 , col 2.6 i file devono essere in formato ppm che puoi ottenere emergendoti netpbm ed usando il programma pngtopnm -plain nomefile.png >nomefile.ppm dopo do che devi passare lìottenuto col pnm2quant per ridurre i colori, poi devi aggiungere questo nome file ai file Kconfig Makefile e logo.c che stanno in /usr/src/linux/drivers/video/logo


Ls difficolta' per me e' fare qualche scripts che sulla base del nome del file .png patcha questi file per il kernel vedo di studiarmi il perl per fare cio'
_________________
mount -t brain /dev/brain /body/skull
Back to top
View user's profile Send private message
cerri
Bodhisattva
Bodhisattva


Joined: 05 Mar 2003
Posts: 2957
Location: # init S

PostPosted: Tue Nov 11, 2003 12:31 pm    Post subject: Reply with quote

Cmq non vorrei dire una stupidata ma su qualche kernel "fatto" da gentoo c'erano gia' dei loghi...
_________________
Enjoy your freedom.
Sex is like hacking. You get in, you get out, and you hope you didnt leave something behind that can be traced back to you.
<----------------------->
Andrea Cerrito
Back to top
View user's profile Send private message
fedeliallalinea
Administrator
Administrator


Joined: 08 Mar 2003
Posts: 31460
Location: here

PostPosted: Tue Nov 11, 2003 12:36 pm    Post subject: Reply with quote

cerri wrote:
Cmq non vorrei dire una stupidata ma su qualche kernel "fatto" da gentoo c'erano gia' dei loghi...

Si infatti si dovrebbero trovare in "Console drivers ---> Frame-buffer support ---> Frame buffer boot logo"
_________________
Questions are guaranteed in life; Answers aren't.
Back to top
View user's profile Send private message
DuDe
Guru
Guru


Joined: 04 Dec 2002
Posts: 314
Location: Roma Italy

PostPosted: Tue Nov 11, 2003 1:14 pm    Post subject: Reply with quote

Si, nella serie 2.4 ci sono, nei 2.6 no, in quanto di test, io sono riuscito a farli apparire ma la procedura e' un po' macchinosa e prevede l'editing dei file Kconfig, Makefile e logo.c nella cartella /usr/src/linux/drivers/video/logo e non e' proprio alla portata di tutti, stavo cercando il modo di inserire cio' che serve nei file in questione, attraverso script, ma aime' le mie conosce di scripting sono un po' scarsine, se qualcuno e' interessato a collaborare, ben venga!

Altra cosa da fare e' cpnvertire il logo da .png a .ppm tramite l'apposita utility poi bisogna abbassare il numero di colri da quello che e' a 224 tramite il programma ppmquant tutti quasti programmi sstanno nel package netpbm

se volete posso scrivere come ho fatto ma faro a manella e' nosioso
_________________
mount -t brain /dev/brain /body/skull
Back to top
View user's profile Send private message
morellik
l33t
l33t


Joined: 03 Feb 2003
Posts: 629
Location: Firenze

PostPosted: Tue Nov 11, 2003 2:05 pm    Post subject: Reply with quote

Se vuoi scrivere un howto, ben venga, lo pubblico volentieri su gentoo.it (cosi' oltre al
logo di gentoo possiamo mettere anche il logo dei gechi :D ).

Per uno script possiamo vedere di farlo non appena c'e' l'howto.

Ciauz
morellik
Back to top
View user's profile Send private message
DuDe
Guru
Guru


Joined: 04 Dec 2002
Posts: 314
Location: Roma Italy

PostPosted: Tue Nov 11, 2003 2:21 pm    Post subject: Reply with quote

Ok butto giu' un'abbozzo poi magari te lo invio cosi'vedi se va' bene
apropos la tua maile?
_________________
mount -t brain /dev/brain /body/skull
Back to top
View user's profile Send private message
shev
Bodhisattva
Bodhisattva


Joined: 03 Feb 2003
Posts: 4084
Location: Italy

PostPosted: Tue Nov 11, 2003 3:04 pm    Post subject: Reply with quote

morellik wrote:
(cosi' oltre al
logo di gentoo possiamo mettere anche il logo dei gechi :D ).


Granderrimo, non ci avevo pensato! Al Linux/Gentoo Day di Venezia si potrebbero mettere tutte le macchine con il logo dei gechi! :D
_________________
Se per vivere ti dicono "siediti e stai zitto" tu alzati e muori combattendo
Back to top
View user's profile Send private message
DuDe
Guru
Guru


Joined: 04 Dec 2002
Posts: 314
Location: Roma Italy

PostPosted: Tue Nov 11, 2003 4:22 pm    Post subject: Reply with quote

Come Aggiungere il logo gentoo all'interno dei kernel 2.6.0

Rev 1.0 11/11/2003 By Antonio Catani dude68@tiscali.it

Abstract:

Questo documento nasce con l'intento, spero, di spiegare come sotituire il bootlogo nei kernel della serie 2.6.x

Dai kernel 2.4 ai 2.6 e' totalmente cambiata le gestione del bootlogo, nel kernel 2.4 il logo altri non era che
un file logo.h contenente i valori esadecimali del file png del logo stesso.

Nella serie 2.6 la gestione del bootlogo consiste nell'usare un file png convertito in un formato ppm ASCII
che e' specificato in http://netpbm.sourceforge.net/ tale file deve avere massimo 224 colori per via di come
il kernel gestira' il bootlogo.


Cosa ci occorre

Prima di tutto occorre emergere il pacchetto netpbm
fatto cio' abbiamo bisogno del file .png da piazzare come bootlogo
ottenuto il file il primo passo e' convertirlo in ppm supponiamo che il logo si chiami
gentoo_logo.png

posizioniamoci nella directory ove abbiamo scaricato il logo e digitiamo
Code:

          netbackup temp # pngtopnm -plain gentoo_logo.png >logo_gentoo_clut.ppm

fatto cio' dobbiamo ridurne il numero di colori
Code:

          netbackup temp # ppmquant -plain 224 logo_gentoo_clut.ppm >logo_gentoo_clut224.ppm
          ppmquant: making histogram...
          ppmquant: 10153 colors found
          ppmquant: choosing 224 colors...
          ppmquant: mapping image to new colors...
          netbackup temp #

E' molto importante l'opzione -plain la quale dice al programma di conversione di usare solo caratteri ASCII stampabili.

Abbiamo cosi' ottenuto il file logo_gentoo_clut224.ppm e' molto importante che vi scriviate il nome del file ottenuto da qualche parte,
in quanto andra' messo in alcuni file del kernel.

Copiamo ora il file ottenuto nella cartella /usr/src/linux/drivers/video/logo e posizioniamoci nella medesima cartella
Code:

          netbackup temp # cp logo_gentoo_clut224.ppm /usr/src/linux/drivers/video/logo
          netbackup temp # cd /usr/src/linux/drivers/video/logo
          netbackup logo #

a questo punto viene la parte piu' "delicata" della cosa

Per prima cosa copiamo il file su cui andremo ad agire cosi' da poter tornare indietro in caso di errori
Code:

          netbackup logo # cp Kconfig Kconfig.orig
          netbackup logo # cp Makefile makefile.orig
          netbackup logo # cp logo.c logo.c.orig

non c'e' un'ordine preciso nell'editare i tre file quindi per comodita' inizieremo dal Kconfig che e' il piu' semplice

NOTA: normalmente uso come editor THE che altri non e' che un port dell'xedit del CMS IBM su linux per comodita' vostra
le schermate si riferiscono al nano che e' presente in qualunque distro gentoo
Code:

# Logo configuration
#

menu "Logo configuration"

config LOGO
        bool "Bootup logo"
        depends on FB || SGI_NEWPORT_CONSOLE

config LOGO_LINUX_MONO
        bool "Standard black and white Linux logo"
        depends on LOGO
        default y

config LOGO_LINUX_VGA16
        bool "Standard 16-color Linux logo"
        depends on LOGO
        default y

config LOGO_LINUX_CLUT224
        bool "Standard 224-color Linux logo"
        depends on LOGO
        default y

config LOGO_GENTOO_CLUT224
        bool "Gentoo 224-color Linux logo"
        depends on LOGO
        default y

config LOGO_DEC_CLUT224
        bool "224-color Digital Equipment Corporation Linux logo"
        depends on LOGO && DECSTATION
        default y

config LOGO_MAC_CLUT224
        bool "224-color Macintosh Linux logo"
        depends on LOGO && MAC
        default y

config LOGO_PARISC_CLUT224
        bool "224-color PA-RISC Linux logo"
        depends on LOGO && PARISC
        default y

config LOGO_SGI_CLUT224
        bool "224-color SGI Linux logo"
        depends on LOGO && (SGI_IP22 || SGI_IP27 || SGI_IP32 || X86_VISWS)
        default y

config LOGO_SUN_CLUT224
        bool "224-color Sun Linux logo"
        depends on LOGO && (SPARC || SPARC64)
        default y

config LOGO_SUPERH_MONO
        bool "Black and white SuperH Linux logo"
        depends on LOGO && SUPERH
        default y

config LOGO_SUPERH_VGA16
        bool "16-color SuperH Linux logo"
        depends on LOGO && SUPERH
        default y

config LOGO_SUPERH_CLUT224
        bool "224-color SuperH Linux logo"
        depends on LOGO && SUPERH
        default y

endmenu

nel file preso in esame, e' gia presente la entry realativa al bootlogo gentoo,
tale entry se notate bene e' uguale a quella che la precede differendo solo nel nome.

la entry e' struttutrata cosi'
config NOME_OPZIONE
bool "testo libero"
depends on ALTRA_OPZIONE_KERNEL
default y|n ossia se nel menuconfig deve apparire di default a y oppure a n

accertiamoci che tutto e' apposto e salviamo.

Ora editiamo il Makefile
Code:

# Makefile for the Linux logos

obj-$(CONFIG_LOGO)                      += logo.o
obj-$(CONFIG_LOGO_LINUX_MONO)           += logo_linux_mono.o
obj-$(CONFIG_LOGO_LINUX_VGA16)          += logo_linux_vga16.o
obj-$(CONFIG_LOGO_LINUX_CLUT224)        += logo_linux_clut224.o
obj-$(CONFIG_LOGO_GENTOO_CLUT224)       += logo_gentoo_clut224.o   <<<<<< eccho dove va' inserita
obj-$(CONFIG_LOGO_DEC_CLUT224)          += logo_dec_clut224.o
obj-$(CONFIG_LOGO_MAC_CLUT224)          += logo_mac_clut224.o
obj-$(CONFIG_LOGO_PARISC_CLUT224)       += logo_parisc_clut224.o
obj-$(CONFIG_LOGO_SGI_CLUT224)          += logo_sgi_clut224.o
obj-$(CONFIG_LOGO_SUN_CLUT224)          += logo_sun_clut224.o
obj-$(CONFIG_LOGO_SUPERH_MONO)          += logo_superh_mono.o
obj-$(CONFIG_LOGO_SUPERH_VGA16)         += logo_superh_vga16.o
obj-$(CONFIG_LOGO_SUPERH_CLUT224)       += logo_superh_clut224.o
obj-$(CONFIG_LOGO_SUPERH_CLUT224)       += logo_superh_clut224.o
# Dependencies on generated files need to be listed explicitly

$(obj)/%_mono.o: $(src)/%_mono.c

$(obj)/%_vga16.o: $(src)/%_vga16.c

$(obj)/%_clut224.o: $(src)/%_clut224.c

$(obj)/%_gray256.o: $(src)/%_gray256.c

# How to generate them

$(obj)/%_mono.c:        $(src)/%_mono.pbm
                $(objtree)/scripts/pnmtologo -t mono -n $*_mono -o $@ $<

$(obj)/%_vga16.c:       $(src)/%_vga16.ppm
                $(objtree)/scripts/pnmtologo -t vga16 -n $*_vga16 -o $@ $<

$(obj)/%_clut224.c:     $(src)/%_clut224.ppm
                $(objtree)/scripts/pnmtologo -t clut224 -n $*_clut224 -o $@ $<

$(obj)/%_gray256.c:     $(src)/%_gray256.pgm
                $(objtree)/scripts/pnmtologo -t gray256 -n $*_gray256 -o $@ $<


# Files generated that shall be removed upon make clean
clean-files := *_mono.c *_vga16.c *_clut224.c *_gray256.c


Anche qui si tratta di ripetere una riga cambiandone il nome

la riga e' strutturata cosi'

obj-$(CONFIG_OPZIONE_KERNEL) += nome_file_logo.o

cio' dice al makefile che se e' presente nel .config una riga CONFIG_NOME_OPZIONE_KERNEL=y di generare l'object corrispondente

nel nostro caso la riga obj-$(CONFIG_LOGO_GENTOO_CLUT224) += logo_gentoo_clut224.o
dice che se e' presente nel.config una riga CONFIG_GENTOO_LOGO_CLUT224=y di generare un file obj dal nome logo_gentoo_clut224.o

se tutto e' apposto come mostratovi, salviamo anche il Makefile

Ed ora l'ultimo file il logo.c
Code:

/*
 *  Linux logo to be displayed on boot
 *
 *  Copyright (C) 1996 Larry Ewing (lewing@isc.tamu.edu)
 *  Copyright (C) 1996,1998 Jakub Jelinek (jj@sunsite.mff.cuni.cz)
 *  Copyright (C) 2001 Greg Banks <gnb@alphalink.com.au>
 *  Copyright (C) 2001 Jan-Benedict Glaw <jbglaw@lug-owl.de>
 *  Copyright (C) 2003 Geert Uytterhoeven <geert@linux-m68k.org>
 */

#include <linux/config.h>
#include <linux/linux_logo.h>

#ifdef CONFIG_M68K
#include <asm/setup.h>
#endif

#if defined(CONFIG_MIPS) || defined(CONFIG_MIPS64)
#include <asm/bootinfo.h>
#endif

extern const struct linux_logo logo_linux_mono;
extern const struct linux_logo logo_linux_vga16;
extern const struct linux_logo logo_linux_clut224;
extern const struct linux_logo logo_gentoo_clut224; <<<<<<va inserito qui
extern const struct linux_logo logo_dec_clut224;
extern const struct linux_logo logo_mac_clut224;
extern const struct linux_logo logo_parisc_clut224;
extern const struct linux_logo logo_sgi_clut224;
extern const struct linux_logo logo_sun_clut224;
extern const struct linux_logo logo_superh_mono;
extern const struct linux_logo logo_superh_vga16;
extern const struct linux_logo logo_superh_clut224;


const struct linux_logo *fb_find_logo(int depth)
{
        const struct linux_logo *logo = 0;

        if (depth >= 1) {
#ifdef CONFIG_LOGO_LINUX_MONO
                /* Generic Linux logo */
                logo = &logo_linux_mono;
#endif
#ifdef CONFIG_LOGO_SUPERH_MONO
                /* SuperH Linux logo */
                logo = &logo_superh_mono;
#endif
        }

        if (depth >= 4) {
#ifdef CONFIG_LOGO_LINUX_VGA16
                /* Generic Linux logo */
                logo = &logo_linux_vga16;
#endif
#ifdef CONFIG_LOGO_SUPERH_VGA16
                /* SuperH Linux logo */
                logo = &logo_superh_vga16;
#endif
        }

        if (depth >= 8) {
#ifdef CONFIG_LOGO_LINUX_CLUT224
                /* Generic Linux logo */
                logo = &logo_linux_clut224;
#endif
#ifdef CONFIG_LOGO_GENTOO_CLUT224
                /* Gentoo Linux logo */               <<<<<e qui
                logo = &logo_gentoo_clut224;
#endif
#ifdef CONFIG_LOGO_DEC_CLUT224
                /* DEC Linux logo on MIPS/MIPS64 */
                if (mips_machgroup == MACH_GROUP_DEC)
                        logo = &logo_dec_clut224;
#endif
#ifdef CONFIG_LOGO_MAC_CLUT224
                /* Macintosh Linux logo on m68k */
                if (MACH_IS_MAC)
                        logo = &logo_mac_clut224;
#endif
#ifdef CONFIG_LOGO_PARISC_CLUT224
                /* PA-RISC Linux logo */
                logo = &logo_parisc_clut224;
#endif
#ifdef CONFIG_LOGO_SGI_CLUT224
                /* SGI Linux logo on MIPS/MIPS64 and VISWS */
#ifndef CONFIG_X86_VISWS
                if (mips_machgroup == MACH_GROUP_SGI)
#endif
                        logo = &logo_sgi_clut224;
#endif
#ifdef CONFIG_LOGO_SUN_CLUT224
                /* Sun Linux logo */
                logo = &logo_sun_clut224;
#endif
#ifdef CONFIG_LOGO_SUPERH_CLUT224
                /* SuperH Linux logo */
                logo = &logo_superh_clut224;
#endif
        }
        return logo;
}

Come potete vedere bisogna inserire 2 entry, la prima tra le definizioni extern const struct linux_logo

e la seconda come #ifdef #endif

Qui le mie capacita' di spiegazioni si fermano in quanto essendo C non ne capisco molto
ed onde evitare di dire castronerie mi limito a far vedere dove vanno messi i vari pezzi

Salviamo anche lui

Siamo arrivati alla fine posizioniamoci nela cartella usr/src/linux
diamo un make menuconfig e nelle opzioni del bootlogo c'e' anche gentoo, chiudiamo compiliamo installiamo il nuovo kernel.
Code:

[*] Bootup logo                                                                     
       [ ]   Standard black and white
       [ ]   Standard 16-color Linux logo                                                   
       [ ]   Standard 224-color Linux logo                                               
       [*]  Gentoo 224-color Linux logo

e godiamoci il gentoo logo sul kernel 2.6.0

P.S.
Non so' per quale motivo ma nel mio kernel di bootlogo al boot ne vedo 2
quindi se capita anche a voi non e' un mio errore ne un vostro errore
_________________
mount -t brain /dev/brain /body/skull
Back to top
View user's profile Send private message
DuDe
Guru
Guru


Joined: 04 Dec 2002
Posts: 314
Location: Roma Italy

PostPosted: Tue Nov 11, 2003 4:22 pm    Post subject: Reply with quote

Come Aggiungere il logo gentoo all'interno dei kernel 2.6.0

Rev 1.0 11/11/2003 By Antonio Catani dude68@tiscali.it

Abstract:

Questo documento nasce con l'intento, spero, di spiegare come sotituire il bootlogo nei kernel della serie 2.6.x

Dai kernel 2.4 ai 2.6 e' totalmente cambiata le gestione del bootlogo, nel kernel 2.4 il logo altri non era che
un file logo.h contenente i valori esadecimali del file png del logo stesso.

Nella serie 2.6 la gestione del bootlogo consiste nell'usare un file png convertito in un formato ppm ASCII
che e' specificato in http://netpbm.sourceforge.net/ tale file deve avere massimo 224 colori per via di come
il kernel gestira' il bootlogo.


Cosa ci occorre

Prima di tutto occorre emergere il pacchetto netpbm
fatto cio' abbiamo bisogno del file .png da piazzare come bootlogo
ottenuto il file il primo passo e' convertirlo in ppm supponiamo che il logo si chiami
gentoo_logo.png

posizioniamoci nella directory ove abbiamo scaricato il logo e digitiamo
Code:

          netbackup temp # pngtopnm -plain gentoo_logo.png >logo_gentoo_clut.ppm

fatto cio' dobbiamo ridurne il numero di colori
Code:

          netbackup temp # ppmquant -plain 224 logo_gentoo_clut.ppm >logo_gentoo_clut224.ppm
          ppmquant: making histogram...
          ppmquant: 10153 colors found
          ppmquant: choosing 224 colors...
          ppmquant: mapping image to new colors...
          netbackup temp #

E' molto importante l'opzione -plain la quale dice al programma di conversione di usare solo caratteri ASCII stampabili.

Abbiamo cosi' ottenuto il file logo_gentoo_clut224.ppm e' molto importante che vi scriviate il nome del file ottenuto da qualche parte,
in quanto andra' messo in alcuni file del kernel.

Copiamo ora il file ottenuto nella cartella /usr/src/linux/drivers/video/logo e posizioniamoci nella medesima cartella
Code:

          netbackup temp # cp logo_gentoo_clut224.ppm /usr/src/linux/drivers/video/logo
          netbackup temp # cd /usr/src/linux/drivers/video/logo
          netbackup logo #

a questo punto viene la parte piu' "delicata" della cosa

Per prima cosa copiamo il file su cui andremo ad agire cosi' da poter tornare indietro in caso di errori
Code:

          netbackup logo # cp Kconfig Kconfig.orig
          netbackup logo # cp Makefile makefile.orig
          netbackup logo # cp logo.c logo.c.orig

non c'e' un'ordine preciso nell'editare i tre file quindi per comodita' inizieremo dal Kconfig che e' il piu' semplice

NOTA: normalmente uso come editor THE che altri non e' che un port dell'xedit del CMS IBM su linux per comodita' vostra
le schermate si riferiscono al nano che e' presente in qualunque distro gentoo
Code:

# Logo configuration
#

menu "Logo configuration"

config LOGO
        bool "Bootup logo"
        depends on FB || SGI_NEWPORT_CONSOLE

config LOGO_LINUX_MONO
        bool "Standard black and white Linux logo"
        depends on LOGO
        default y

config LOGO_LINUX_VGA16
        bool "Standard 16-color Linux logo"
        depends on LOGO
        default y

config LOGO_LINUX_CLUT224
        bool "Standard 224-color Linux logo"
        depends on LOGO
        default y

config LOGO_GENTOO_CLUT224
        bool "Gentoo 224-color Linux logo"
        depends on LOGO
        default y

config LOGO_DEC_CLUT224
        bool "224-color Digital Equipment Corporation Linux logo"
        depends on LOGO && DECSTATION
        default y

config LOGO_MAC_CLUT224
        bool "224-color Macintosh Linux logo"
        depends on LOGO && MAC
        default y

config LOGO_PARISC_CLUT224
        bool "224-color PA-RISC Linux logo"
        depends on LOGO && PARISC
        default y

config LOGO_SGI_CLUT224
        bool "224-color SGI Linux logo"
        depends on LOGO && (SGI_IP22 || SGI_IP27 || SGI_IP32 || X86_VISWS)
        default y

config LOGO_SUN_CLUT224
        bool "224-color Sun Linux logo"
        depends on LOGO && (SPARC || SPARC64)
        default y

config LOGO_SUPERH_MONO
        bool "Black and white SuperH Linux logo"
        depends on LOGO && SUPERH
        default y

config LOGO_SUPERH_VGA16
        bool "16-color SuperH Linux logo"
        depends on LOGO && SUPERH
        default y

config LOGO_SUPERH_CLUT224
        bool "224-color SuperH Linux logo"
        depends on LOGO && SUPERH
        default y

endmenu

nel file preso in esame, e' gia presente la entry realativa al bootlogo gentoo,
tale entry se notate bene e' uguale a quella che la precede differendo solo nel nome.

la entry e' struttutrata cosi'
config NOME_OPZIONE
bool "testo libero"
depends on ALTRA_OPZIONE_KERNEL
default y|n ossia se nel menuconfig deve apparire di default a y oppure a n

accertiamoci che tutto e' apposto e salviamo.

Ora editiamo il Makefile
Code:

# Makefile for the Linux logos

obj-$(CONFIG_LOGO)                      += logo.o
obj-$(CONFIG_LOGO_LINUX_MONO)           += logo_linux_mono.o
obj-$(CONFIG_LOGO_LINUX_VGA16)          += logo_linux_vga16.o
obj-$(CONFIG_LOGO_LINUX_CLUT224)        += logo_linux_clut224.o
obj-$(CONFIG_LOGO_GENTOO_CLUT224)       += logo_gentoo_clut224.o   <<<<<< eccho dove va' inserita
obj-$(CONFIG_LOGO_DEC_CLUT224)          += logo_dec_clut224.o
obj-$(CONFIG_LOGO_MAC_CLUT224)          += logo_mac_clut224.o
obj-$(CONFIG_LOGO_PARISC_CLUT224)       += logo_parisc_clut224.o
obj-$(CONFIG_LOGO_SGI_CLUT224)          += logo_sgi_clut224.o
obj-$(CONFIG_LOGO_SUN_CLUT224)          += logo_sun_clut224.o
obj-$(CONFIG_LOGO_SUPERH_MONO)          += logo_superh_mono.o
obj-$(CONFIG_LOGO_SUPERH_VGA16)         += logo_superh_vga16.o
obj-$(CONFIG_LOGO_SUPERH_CLUT224)       += logo_superh_clut224.o
obj-$(CONFIG_LOGO_SUPERH_CLUT224)       += logo_superh_clut224.o
# Dependencies on generated files need to be listed explicitly

$(obj)/%_mono.o: $(src)/%_mono.c

$(obj)/%_vga16.o: $(src)/%_vga16.c

$(obj)/%_clut224.o: $(src)/%_clut224.c

$(obj)/%_gray256.o: $(src)/%_gray256.c

# How to generate them

$(obj)/%_mono.c:        $(src)/%_mono.pbm
                $(objtree)/scripts/pnmtologo -t mono -n $*_mono -o $@ $<

$(obj)/%_vga16.c:       $(src)/%_vga16.ppm
                $(objtree)/scripts/pnmtologo -t vga16 -n $*_vga16 -o $@ $<

$(obj)/%_clut224.c:     $(src)/%_clut224.ppm
                $(objtree)/scripts/pnmtologo -t clut224 -n $*_clut224 -o $@ $<

$(obj)/%_gray256.c:     $(src)/%_gray256.pgm
                $(objtree)/scripts/pnmtologo -t gray256 -n $*_gray256 -o $@ $<


# Files generated that shall be removed upon make clean
clean-files := *_mono.c *_vga16.c *_clut224.c *_gray256.c


Anche qui si tratta di ripetere una riga cambiandone il nome

la riga e' strutturata cosi'

obj-$(CONFIG_OPZIONE_KERNEL) += nome_file_logo.o

cio' dice al makefile che se e' presente nel .config una riga CONFIG_NOME_OPZIONE_KERNEL=y di generare l'object corrispondente

nel nostro caso la riga obj-$(CONFIG_LOGO_GENTOO_CLUT224) += logo_gentoo_clut224.o
dice che se e' presente nel.config una riga CONFIG_GENTOO_LOGO_CLUT224=y di generare un file obj dal nome logo_gentoo_clut224.o

se tutto e' apposto come mostratovi, salviamo anche il Makefile

Ed ora l'ultimo file il logo.c
Code:

/*
 *  Linux logo to be displayed on boot
 *
 *  Copyright (C) 1996 Larry Ewing (lewing@isc.tamu.edu)
 *  Copyright (C) 1996,1998 Jakub Jelinek (jj@sunsite.mff.cuni.cz)
 *  Copyright (C) 2001 Greg Banks <gnb@alphalink.com.au>
 *  Copyright (C) 2001 Jan-Benedict Glaw <jbglaw@lug-owl.de>
 *  Copyright (C) 2003 Geert Uytterhoeven <geert@linux-m68k.org>
 */

#include <linux/config.h>
#include <linux/linux_logo.h>

#ifdef CONFIG_M68K
#include <asm/setup.h>
#endif

#if defined(CONFIG_MIPS) || defined(CONFIG_MIPS64)
#include <asm/bootinfo.h>
#endif

extern const struct linux_logo logo_linux_mono;
extern const struct linux_logo logo_linux_vga16;
extern const struct linux_logo logo_linux_clut224;
extern const struct linux_logo logo_gentoo_clut224; <<<<<<va inserito qui
extern const struct linux_logo logo_dec_clut224;
extern const struct linux_logo logo_mac_clut224;
extern const struct linux_logo logo_parisc_clut224;
extern const struct linux_logo logo_sgi_clut224;
extern const struct linux_logo logo_sun_clut224;
extern const struct linux_logo logo_superh_mono;
extern const struct linux_logo logo_superh_vga16;
extern const struct linux_logo logo_superh_clut224;


const struct linux_logo *fb_find_logo(int depth)
{
        const struct linux_logo *logo = 0;

        if (depth >= 1) {
#ifdef CONFIG_LOGO_LINUX_MONO
                /* Generic Linux logo */
                logo = &logo_linux_mono;
#endif
#ifdef CONFIG_LOGO_SUPERH_MONO
                /* SuperH Linux logo */
                logo = &logo_superh_mono;
#endif
        }

        if (depth >= 4) {
#ifdef CONFIG_LOGO_LINUX_VGA16
                /* Generic Linux logo */
                logo = &logo_linux_vga16;
#endif
#ifdef CONFIG_LOGO_SUPERH_VGA16
                /* SuperH Linux logo */
                logo = &logo_superh_vga16;
#endif
        }

        if (depth >= 8) {
#ifdef CONFIG_LOGO_LINUX_CLUT224
                /* Generic Linux logo */
                logo = &logo_linux_clut224;
#endif
#ifdef CONFIG_LOGO_GENTOO_CLUT224
                /* Gentoo Linux logo */               <<<<<e qui
                logo = &logo_gentoo_clut224;
#endif
#ifdef CONFIG_LOGO_DEC_CLUT224
                /* DEC Linux logo on MIPS/MIPS64 */
                if (mips_machgroup == MACH_GROUP_DEC)
                        logo = &logo_dec_clut224;
#endif
#ifdef CONFIG_LOGO_MAC_CLUT224
                /* Macintosh Linux logo on m68k */
                if (MACH_IS_MAC)
                        logo = &logo_mac_clut224;
#endif
#ifdef CONFIG_LOGO_PARISC_CLUT224
                /* PA-RISC Linux logo */
                logo = &logo_parisc_clut224;
#endif
#ifdef CONFIG_LOGO_SGI_CLUT224
                /* SGI Linux logo on MIPS/MIPS64 and VISWS */
#ifndef CONFIG_X86_VISWS
                if (mips_machgroup == MACH_GROUP_SGI)
#endif
                        logo = &logo_sgi_clut224;
#endif
#ifdef CONFIG_LOGO_SUN_CLUT224
                /* Sun Linux logo */
                logo = &logo_sun_clut224;
#endif
#ifdef CONFIG_LOGO_SUPERH_CLUT224
                /* SuperH Linux logo */
                logo = &logo_superh_clut224;
#endif
        }
        return logo;
}

Come potete vedere bisogna inserire 2 entry, la prima tra le definizioni extern const struct linux_logo

e la seconda come #ifdef #endif

Qui le mie capacita' di spiegazioni si fermano in quanto essendo C non ne capisco molto
ed onde evitare di dire castronerie mi limito a far vedere dove vanno messi i vari pezzi

Salviamo anche lui

Siamo arrivati alla fine posizioniamoci nela cartella usr/src/linux
diamo un make menuconfig e nelle opzioni del bootlogo c'e' anche gentoo, chiudiamo compiliamo installiamo il nuovo kernel.
Code:

[*] Bootup logo                                                                     
       [ ]   Standard black and white
       [ ]   Standard 16-color Linux logo                                                   
       [ ]   Standard 224-color Linux logo                                               
       [*]  Gentoo 224-color Linux logo

e godiamoci il gentoo logo sul kernel 2.6.0

P.S.
Non so' per quale motivo ma nel mio kernel di bootlogo al boot ne vedo 2
quindi se capita anche a voi non e' un mio errore ne un vostro errore
_________________
mount -t brain /dev/brain /body/skull
Back to top
View user's profile Send private message
ares
Apprentice
Apprentice


Joined: 13 Oct 2003
Posts: 280
Location: Savigliano (CN)

PostPosted: Tue Nov 11, 2003 4:33 pm    Post subject: Reply with quote

Provate anche linux_logo.....funziona benissimo...oppure date un'occhiata al kernel wolk che ha diversi loghi.....
_________________
My portage and homepage
Back to top
View user's profile Send private message
ares
Apprentice
Apprentice


Joined: 13 Oct 2003
Posts: 280
Location: Savigliano (CN)

PostPosted: Tue Nov 11, 2003 4:37 pm    Post subject: Reply with quote

Ops....fblogo......scusate.....mi sono confuso
_________________
My portage and homepage
Back to top
View user's profile Send private message
DuDe
Guru
Guru


Joined: 04 Dec 2002
Posts: 314
Location: Roma Italy

PostPosted: Tue Nov 11, 2003 4:41 pm    Post subject: Reply with quote

Ares, se hai letto il thread dall'inizio, noterai che si parlava di mettere il logo gentoo dentro ai kernel della serie 2.6.0 come gia' esistono nei kernel 2.4 gentoo-patched siccome ci sono notevoli differenze, ho scritto quel mini howto che vale solo per i kernel 2.6.x
_________________
mount -t brain /dev/brain /body/skull
Back to top
View user's profile Send private message
ares
Apprentice
Apprentice


Joined: 13 Oct 2003
Posts: 280
Location: Savigliano (CN)

PostPosted: Tue Nov 11, 2003 6:58 pm    Post subject: Reply with quote

Ops chiedo venia...mi ero scordato delle differenze tra le 2 v. del kernel
_________________
My portage and homepage
Back to top
View user's profile Send private message
morellik
l33t
l33t


Joined: 03 Feb 2003
Posts: 629
Location: Firenze

PostPosted: Wed Nov 12, 2003 11:12 am    Post subject: Reply with quote

Dude, ho pubblicato il doc e ti ho inviato via mail il file xml che ho generato dai tuoi suggerimenti in caso di prossime release.

Ciauz
morellik
Back to top
View user's profile Send private message
DuDe
Guru
Guru


Joined: 04 Dec 2002
Posts: 314
Location: Roma Italy

PostPosted: Wed Nov 12, 2003 11:16 am    Post subject: Reply with quote

Grazie Morellik questo e' il mio primo HOWTO spero sia scritto in maniera comprensibile
_________________
mount -t brain /dev/brain /body/skull
Back to top
View user's profile Send private message
MoRPh3uSz
n00b
n00b


Joined: 12 Aug 2003
Posts: 69

PostPosted: Wed Nov 12, 2003 8:25 pm    Post subject: Reply with quote

Ho fatto una stupidissima patch che va a modificare il kernel aggiungendo la voce nel menu, esattamente come è stato scritto sopra e anche un semplice script che fa esattamente quello che bisogna fare per creare il logo vero e proprio.

Patch:
Code:

--- linux/drivers/video/logo/Kconfig.orig       2003-11-11 18:26:01.000000000 +0100
+++ linux/drivers/video/logo/Kconfig    2003-11-11 19:02:06.000000000 +0100
@@ -23,6 +23,11 @@
        depends on LOGO
        default y

+config LOGO_GENTOO_CLUT224
+        bool "Modified 224-color Linux logo"
+        depends on LOGO
+        default y
+
 config LOGO_DEC_CLUT224
        bool "224-color Digital Equipment Corporation Linux logo"
        depends on LOGO && DECSTATION
--- linux/drivers/video/logo/Makefile.orig      2003-11-11 18:26:10.000000000 +0100
+++ linux/drivers/video/logo/Makefile   2003-11-11 19:05:58.000000000 +0100
@@ -4,6 +4,7 @@
 obj-$(CONFIG_LOGO_LINUX_MONO)          += logo_linux_mono.o
 obj-$(CONFIG_LOGO_LINUX_VGA16)         += logo_linux_vga16.o
 obj-$(CONFIG_LOGO_LINUX_CLUT224)       += logo_linux_clut224.o
+obj-$(CONFIG_LOGO_GENTOO_CLUT224)      += logo_gentoo_clut224.o
 obj-$(CONFIG_LOGO_DEC_CLUT224)         += logo_dec_clut224.o
 obj-$(CONFIG_LOGO_MAC_CLUT224)         += logo_mac_clut224.o
 obj-$(CONFIG_LOGO_PARISC_CLUT224)      += logo_parisc_clut224.o
--- linux/drivers/video/logo/logo.c.orig        2003-11-11 18:26:18.000000000 +0100
+++ linux/drivers/video/logo/logo.c     2003-11-11 19:03:12.000000000 +0100
@@ -23,6 +23,7 @@
 extern const struct linux_logo logo_linux_mono;
 extern const struct linux_logo logo_linux_vga16;
 extern const struct linux_logo logo_linux_clut224;
+extern const struct linux_logo logo_gentoo_clut224;
 extern const struct linux_logo logo_dec_clut224;
 extern const struct linux_logo logo_mac_clut224;
 extern const struct linux_logo logo_parisc_clut224;
@@ -64,6 +65,10 @@
                /* Generic Linux logo */
                logo = &logo_linux_clut224;
 #endif
+#ifdef CONFIG_LOGO_GENTOO_CLUT224
+                /* Gentoo Linux logo */
+               logo = &logo_gentoo_clut224;
+#endif
 #ifdef CONFIG_LOGO_DEC_CLUT224
                /* DEC Linux logo on MIPS/MIPS64 */
                if (mips_machgroup == MACH_GROUP_DEC)


Scriptino Bash:
Code:

#!/bin/bash
pngtopnm -plain $1 > logo_gentoo_clut.ppm
ppmquant -plain 224 logo_gentoo_clut.ppm > logo_gentoo_clut224.ppm
cp logo_gentoo_clut224.ppm /usr/src/linux/drivers/video/logo


Appena ho un attimo di tempo, ti targizippo e lo uploado da qualche parte.
Back to top
View user's profile Send private message
cerri
Bodhisattva
Bodhisattva


Joined: 05 Mar 2003
Posts: 2957
Location: # init S

PostPosted: Wed Nov 12, 2003 8:31 pm    Post subject: Reply with quote

Post interessante direi....
_________________
Enjoy your freedom.
Sex is like hacking. You get in, you get out, and you hope you didnt leave something behind that can be traced back to you.
<----------------------->
Andrea Cerrito
Back to top
View user's profile Send private message
DuDe
Guru
Guru


Joined: 04 Dec 2002
Posts: 314
Location: Roma Italy

PostPosted: Thu Nov 13, 2003 12:00 am    Post subject: Reply with quote

Morpheus, ciao, e grazie per la patch, quello che pero' volevo fare e' fare uno script un po' piu' furbo, ossia che inserizze il logo nei file direttamente e non usando una patch, anche perche' uno potrebbe volere diversi loghi gentoo insomma volevo rendere la cosa un po' piu' automagica!

Alla patch avevo pensato, ma non avendo spazio web per pubblicarla, voglio intraprendere la strada dello script furbo!
_________________
mount -t brain /dev/brain /body/skull
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum