소스을 더 들여다 봤습니다.
ramdisk image는 이미 램에 복사한 상태여야 합니다.
CONFIG_HAS_DATAFLASH 가 선언되어 있다면
dataflash로 부터 CFG_LOAD_ADDR(램주소)로 복사를 수행합니다.
그리고 나서 start주소를 CFG_LOAD_ADDR로 바꾸는 군요..
그렇지 않은 경우는 그냥 그 주소의 램 혹은 flash에서 CRC만 check합니다.
그리고 나서 그 램 주소를 커널에게 전달하는 것으로 보입니다.
bootm 100000 200000만 한다면 램으로 복사를 하지 않고
flash에서 읽어서 CRC check만 하고 커널에는 0x200000이란 주소를 주는군요..
/*
* ghcstop: ramdisk가 현재 어느 위치에 있던간에 mkimage시
* -a option으로 지정한 위치로 점프하게 만든 것
*/
#else
initrd_start = ntohl(hdr->ih_load);
initrd_end = initrd_start + len;
memmove ((void *)initrd_start, (void *)data, len);
printf("Ramdisk load address change from 0x%08x to 0x%08x with %u bytesn", data, initrd_start, len);
#endif
ext2로 되어 있고, 8M짜리입니다. 2.4.20때 쓰던거라
테스트용도 외엔 별루....유용하지 않을 듯....^^