buildroot (5) 썸네일형 리스트형 NEOGEO 메탈슬러그 gngeo 포팅 SNK에서 만든 오락실 고전 게임의 명작 Metal Slug를 해보자. NEOGEO라는 게임 플랫폼 기판을 emulation하는 gngeo라는 프로그램을 포팅해야 한다. 아래는 gngeo 소스코드를 다운로드 받고 buildroot에서 만들어진 SDL 라이브러리를 이용하도록 설정해서 빌드하는 과정이다. 그리고 빌드 후에 만들어진 실행파일을 buildroot에서 사용하는 overlay-rootfs로 복사를 한다. # mkdir gngeo # cd gngeo/ # wget -O gngeo-pi-0.85.tar.gz https://github.com/ymartel06/GnGeo-Pi/blob/master/releases/sources/gngeo-pi-0.85.tar.gz?raw=true # tar xvfz gn.. SD-card 메모리 맵 SD 카드의 sector map을 정리해 보자. Buildroot 기준으로 표를 만들었으나 Ubuntu 및 Debian의 경우에도 거의 동일하다. u-boot에 LCD 디스플레이 이미지를 1024x600 LCD 해상도에 꽉 차게 비트맵을 추가하니 u-boot의 binary 크기가 1MB에 육박한다. 1024 x 600 x 1 Byte로 계산하면 딱 600KB이고 기존 u-boot의 크기가 400KB가 조금 안되는 크기였다. Items Size Sector # (From) Sector# (To) File name Partition name (size) MBR 512Byte 0 0 u-boot (2MB) Reserved 7.5KB 1 15 SPL 32KB 16 79 u-boot-spl.bin U-boot 1.. 쾌속 부팅 3차 도전 오늘의 부팅속도 목표는 5.5초에서 4.9초 미만으로 줄이는 것이다. 시리얼 콘솔로만 분석할때에는 init에서 ffmpeg 어플리케이션이 시작할때까지 약 1.3초가 걸리는 것으로 보인다. 5.49 - 4.14 = 1.3초 [4.141249 0.009120] [ 2.243069] Run /sbin/bootchartd as init process [4.282580 0.141331] [ 2.384207] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null) [4.341134 0.058554] App Starting.. [4.365064 0.023930] App Started.. [4.407797 0.042733] [ 2.509193] usb 1-1: new high-speed US.. 쾌속 부팅 2차 도전 BootChart를 설치하여 "init" 직후에 일어나는 일들을 분석해 보았다. Buildroot 작업 디렉토리에서 make busybox-menuconfig 실행하고 "Init Utilities" 메뉴에서 "bootchartd"를 선택하면 된다. Pinchzoom이라는 Qt 어플리케이션은 init 시작 후 약 2.5초 후에 구동을 시작하는것으로 파악되었다. 그러나 화면이 보일때까지 추가로 2초 정도 더 기다려야 한다. 즉 4.5초 정도의 구동시간이 필요한 것이다. 무엇을 하느라 2.5초씩이나 기다리고 있는것일까? SD 카드 EXT4 파티션 마운팅 시간이 이렇게나 오래걸리나? Qt5와 방대한 과련 라이브러리, 어플리케이션 로딩도 2초 이상 시간이 걸리는 것으로 파악되었다. RNG(Random Number.. Buildroot 테스트 최신 stable version인 buildroot-2019.11 다운로드 후 압축을 푼다. 아래 절차대로 FoxNux용 BSP(Board Support Package)를 만들어 보았다. board/foxnuxone/ 폴더 만들기 board/foxnuxone/boot.cmd 파일 만들기 (u-boot이 자동실행하는 스크립트) setenv bootargs console=ttyS0,115200 panic=5 console=tty0 rootwait root=/dev/mmcblk0p2 earlyprintk rw load mmc 0:1 0x41000000 zImage load mmc 0:1 0x41800000 sun8i-s3-foxnux-one.dtb bootz 0x41000000 - 0x41800000 boar.. 이전 1 다음