FREEDOM. FRIENDS. FEATURES. FIRST.
페도라 한국 사용자 모임

FrameBuffer용 Linux Logo 제작방법

게시판 Tech/Tip FrameBuffer용 Linux Logo 제작방법

  • This topic has 2개 답변, 2명 참여, and was last updated 11 years 전에 by 인베인. This post has been viewed 27 times
  • 만든이
    게시글
  • #12098
    인베인
    참가자
    • 게시글141
    • 댓글379
    • 총합520
    • ★★
    @leemgs


    2.4리눅스커널에서는 fblogo명령어로 png 이미지 파일을 *.h로 변환하고
    fbcon.c에서 LOGO의 높이및 폭의크기를 지정해줘야 했다.

    2.6리눅스커널에서는 이미지 변환과정이 필요없어졌다.
    2.6.X-linux/drivers/video/logo/디렉토리 ppm이란 이미지파일을 넣고
    logo.c와 Makefile에서 정의해 주면 된다.
    ppm이란 파일 자체는 Gimp등에서 쉽게 변환할수 있다.

    리눅스의 Logo는 커널 컴파일을 실행하게 되면 자동으로 /drivers/video/logo의 logo_*.ppm 이미지를
    logo*.c로 변경하여서 컴파일하여 부팅시에 화면에 출력되게 된다.. 따라서 /drivers/video/logo 디렉토리의
    logo_*.ppm 파일만 수정하면 자동으로 컴파일시에 logo*.c파일이 변경되어서 리눅스 logo가 바뀌게 된다. *.ppm
    파일을 변경할 때는 원하는 그림을 아래의 그래픽 변환 프로그램을 이용하면 된다.

    *방법1.  InfanView (추천-http://www.irfanview.net/)그래픽 프로그램
     2.1 [Image]->[Decrease color depth] 메뉴에서 color depth을 조정한다.

     2.2 224/16 Color는 PPM(Portable Pixelmap)형식으로 저장하면 된다.
          Mono  Color는 PBM(Portable Bitmap)형식으로 저장하면 된다.
          저장시에는 반드시  Save Option을 꼭 Ascii enconding 으로 줘야 한다.

     2.3 또한 컴파일 과정에서 ppm파일의 color의 수가 많다고 에러가 발생할 경우
          아래와 같은 방법으로 컬러수를 줄이도록 한다.
         ex) ppmquant -fs 16 ./logo_linux_vga16.ppm >  ./logo_linux_vga16.new.ppm

    *방법2. gimp패키지의 pngtopnm/ppmquant 명령을 이용한다.
    fc6#> make menuconfig - Device Drivers

    Device Drivers ->
       Graphics Support ->
           [*] Support for frame buffer devices
           [*] VESA VGA graphics support
               VESA driver type ->

           Console display driver support ->
               [*] Video mode selection support
               <*> Framebuffer Console support

          Logo configuration -> Bootup Logo
          [*] Standard black and white Linux logo
          [*] Standard 16-color Linux logo
          [*] Standard 224-color Linux Logo

    fc6#> cp /usr/share/pixmaps/redhat-main-menu1.png ./logo.png
    fc6#> pngtopnm logo.png | ppmquant -fs223| pnmtoplainpnm > logo_linux_clut224.ppm
    cp logo_linux_clut224.ppm /usr/src/linux/drivers/video/logo/

    또는

    fc6#> pngtopnm logo.png | ppmquant -fs 223 | pnmtoplainpnm > logo_linux_clut224.ppm
    ( logo_linux_vga16.ppm 와 logo_linux_mono.pbm 파일은 LinuxKernelLogoAutoConvert.exe 또는 infanView 프로그램 사용해야함.)

    fc6#> cp logo_linux_*.ppm  ./2.6.18.kernel/drivers/video/logo/

    칼라 해상도가 너무 높아서 커널 컴파일에 문제가 발생시에는. (-fs: Colors) 옵션으로
    해당도를 조절해주어야 한다.

    방법3)
    fc6#> pngtopnm xieyan.png > linuxlogo.pnm
    fc6#> pnmquant 224 linuxlogo.pnm > linuxlogo224.pnm
    fc6#> pnmtoplainpnm linuxlogo224.pnm > linuxlogo224.ppm

    fc6#> rm $KERNEL_SOURCE/drivers/video/logo/logo_linux_clut224.ppm
    fc6#> rm $KERNEL_SOURCE/drivers/video/logo/logo_linux_clut224.c
    fc6#> cp linuxlogo224.ppm $KERNEL_SOURCE/drivers/video/logo/logo_linux_clut224.ppm

    * 오픈소스는 Open Innovationa & 윈윈전략을 도모할 지언정 절대 공짜(무료)임을 뜻하지 않는다.치

1 답변 글타래를 보이고 있습니다
  • 글쓴이
    답변
    • #12692
      ELem
      참가자
      • 게시글67
      • 댓글672
      • 총합739
      • ★★
      @Bardisch

      나의 한계...;;
      이쪽은 몰라요 ㅠㅠ

    • #12693
      인베인
      참가자
      참가자
      • 게시글141
      • 댓글379
      • 총합520
      • ★★
      @leemgs

      임베디드 개발자에게는 디폴트이죠...^^

       

      * 오픈소스는 Open Innovationa & 윈윈전략을 도모할 지언정 절대 공짜(무료)임을 뜻하지 않는다.치

1 답변 글타래를 보이고 있습니다
  • 답변은 로그인 후 가능합니다.