도와주세요!!
글 수 15,339
2017.03.14 13:56:08 (*.230.102.244)
19919
저는 임베디드를 공부하는 학생입니다.
제가 N200-S5PV210 보드에 리눅스 커널 4.4.52 를 올리려고 하는데, 아래와 같은 메시지가 떠서, 부트로더에서 머신ID를 -1로 바꿔서 부팅했더니 "Uncompressing Linux... done, booting the kernel." 이후로 넘어가질 않네요..
Copy Kernel Image [filename=zImage.ez-s5pv210,size=1523712,address=20008000]
Copy ramdisk [filename=ramdisk-1.15-24M.gz,size=7684096,address=21000000]
Starting kernel [MARCH 4001]...
kernel command [EZBOOT mem=128M initrd=0x21000000,8M root=/dev/ram0 ramdisk=24576 console=ttySAC2,115200 ip0=]
Uncompressing Linux... done, booting the kernel.
Error: unrecognized/unsupported machine ID (r1 = 0x00000fa1).
Available machine support:
ID (hex) NAME
ffffffff Generic DT based system
ffffffff Samsung S5PC110/S5PV210-based board
Please check your kernel config and/or bootloader.
================================================================
Copy Kernel Image [filename=zImage.ez-s5pv210,size=1523712,address=20008000]
Copy ramdisk [filename=ramdisk-1.15-24M.gz,size=7684096,address=21000000]
Starting kernel [MARCH -1]...
kernel command [EZBOOT mem=128M initrd=0x21000000,8M root=/dev/ram0 ramdisk=24576 console=ttySAC2,115200 ip0=]
Uncompressing Linux... done, booting the kernel.
커널 이미지는 바닐라 커널 4.4.52 다운받아서 $ make s5pv210_defconfig 하고, ramdisk 사이즈만 바꿔서 zImage를 생성합니다.
low-debugging으로 추적해보면 start_kernel()에서 local_irq_enable()부터 진행이 안됩니다.
제가 혹시 머신ID를 잘못 쓴건지, 아니면 다른 방법으로 해야 하는건지 알려주세요ㅜㅜ
개발환경은 우분투 16 LTS에서 arm-linux-gnueabi-gcc 5.4 사용 중입니다.
사용하신 커널은 빌드를 DT를 사용해서 부팅하도록 설정하셨습니다만...
부트로더에서 적절한 DT를 사용하신 것 같지 않네요
배포 버전의 경우 DT를 사용하지 않는 버전으로 알고 있습니다.
그 상태에서 커널만 최신 버전으로 바꿀 경우 보시는 것처럼 그런 에러를 보입니다