라즈비안 부팅 로고 변경에 대한 질문입니다.



  • 나무꾼님이 올리신 부팅 로고 변경 게시글과 구글링을 통해 얻은 정보로 크로스 컴파일 없이 라즈베리파이3으로 라즈비안 부팅로고를

    변경하는데는 성공했습니다.

    0_1468729194815_IMG_20160715_162731_HDR.jpg image url)

    그런데 첨부이미지와 같이 같은 그림이 4장이 반복되어 출력됩니다. 생각해보면 부팅로고 변경 전에도 산딸기 모양이 4개가

    출력됬던걸로 기억합니다. 여기서 궁금한점이 해당 이미지의 크기가 LCD의 최대 해상도가 되면 나머지 3개는 안보이게 되는것인지

    4개 출력되는것을 1개만 출력하게 하는 커널 설정 부분이 따로 있는지 여부가 궁금합니다. 인터넷을 찾아보면 동작 cpu의 코어의 갯수를

    의미한다고 적혀있는 내용밖에 찾지는 못하겠습니다. 나무꾼님의 강좌에는 1개만 출력되던데 제가 뭔가 빠트린 점이있는건가요?


  • Global Moderator

    @Cider 안녕하세요 나무꾼 입니다.

    주말에 개인적인 일정들이 많아져서 답글이 많이 늦어지게 되었습니다.

    우선 이야기 하신 부분은 진행을 해 보셨다면, 어느 정도 감을 잡으셨겠지만 리눅스 커널 중 logo.c 라는 내용을 수정하셔야 합니다.

    제가 공개할 당시에는 파이 1 모델 이였기에 하나의 코어 로고만을 표현이 되도록 logo.c 가 만들어졌으나, 현재는 코어 갯수가 늘어난 만큼 출력이 되도록 코딩이 되어 있기에 logo.c 라는 파일의 내용을 수정 해 주셔야 합니다.

    관련 참고 사이트는 아래 내용을 참고하시면 되실 듯 합니다.

    [참고 사이트]



  • 답글 감사합니다.

    알려주신 내용중에 logo.c 파일에는 그림파일을 선택하는 기능의 함수만 내장되어 있었습니다. 그래서 관련 해더파일 위주로 검색해본 결과

    /home/pi/linux/drivers/video/fbdev/core/fbmem.c 파일이 로고 관련 실질적 기능을 당담하는 것으로 판단됩니다. 몇군데 수정을 하고

    컴파일을 하고있는데 시간이 좀 걸리는 관계로… 정확한 부분을 찾게 되면 추가적으로 댓글을 달도록 하겠습니다.


  • Global Moderator

    @Cider님이 라즈비안 부팅 로고 변경에 대한 질문입니다.에서 한 말:

    /home/pi/linux/drivers/video/fbdev/core/fbmem.c

    오 너무 기대 됩니다. *.^



  • 문제는 해결했습니다. 사진 한장만 출력시키는데 성공했습니다.

    0_1468823675730_IMG_20160718_153130_HDR.jpg

    컴파일을 하루종일 한 3번정도 한것 같네요. 이상하게 처음 2번은 변경된 내용이 정상적으로 컴파일이 안된게 아닌가 싶습니다.

    첫 게시글을 올렸을때와 총 3가지 변경점이 있습니다.

    /home/pi/linux/drivers/video/fbdev/core/fbmem.c 에서

    첫번째는 FB_LOGO_EX_NUM_MAX 10FB_LOGO_EX_NUM_MAX 1로 변경했습니다. (아마 이부분이 답일거라 생각합니다.)

    두번째는 fb_show_extra_logos 함수 내부를 return 를 제외하고 전부 주석처리 시켰습니다.

    마지막은 로고 이미지를 1024x768(큰 이미지를 쓸 경우를 확인하고자) 변경하였습니다.

    라즈베리로는 컴파일에 시간이 많이 소모되는 관계로 pc로 컴파일할 환경이 갖추어지면 확인 해봐야 겠습니다. (아마 첫번째가…)


  • Global Moderator

    @Cider 소중한 정보공유 감사드립니다.

    정말 쵝오십니다. !!!

    저도 커널 빌드 테스트 한번 다시 시도해 봐야겠네요.



  • 안녕하세요 저도 아이들을 위해 PiSnapwithNailDuino_20150629_v 의 부팅 로고를 피카추로 바꿔보려고 하던중에
    제가 해본 사항입니다.

    우선 제가 가지고 있는 보드가 B+ 인데 라즈베리 2 에서는 kernel image 만드는 방법이 약간 변화가 있었네요 이걸 몰라서 좀 헤맴
    num_online_cpus() 개수도 B+ 에서는 1, 2 에서는 4.
    fb_show_logo 함수에서 fb_show_logo_line 호출시 마지막 arg를 1개로 하면 1개 나옴.
    FB_LOGO_EX_NUM_MAX 10 <-- 이 부분은 CONFIG_FB_LOGO_EXTRA 가 undefined 되어 있어서 로고가 여려개 나오는 것과는 무관함.

    그리고 B+ 에서는 상관없는데 2 에서는 아래와 같이 커널 빌드해서 이미지를 만들어야 함.
    $make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage
    $scripts/mkknlimg arch/arm/boot/zImage ~/kernel7.img
    2에서는
    $ ./imagetool-uncompressed.py …/…/linux/arch/arm/boot/Image
    이렇게 만든 이미지로는 부팅이 안됨(컬러풀한 화면만 나옴)

    이상입니다.


답변을 위해 로그인하기