| 제가 16M ramdisk에 몇 개의 라이브러리를 추가하다보니 용량이 넘쳐서 32M ramdisk를 생성하였습니다.
생성 방법은 이 곳의 Q/A에 있는 한백전자에서 올려주신 '32M ramdisk 만들기'를 따라서 만들었습니다.
제가 한 방법을 다시 쓰면 아래와 같습니다.
1. dd if=/dev/zero of=./linphone.ramdisk count=32768 bs=1024
2. mkfs -t ext2 linphone.ramdisk
이때 나오는 질문에 'y'로 대답하였습니다.
3. mount -t ext2 -o loop linphone.ramdisk /mnt/ramdisk
4. cd /mnt ; cp -dpR ramdisk_sm/* ramdisk (필요 파일 추가)
5. umount /mnt/ramdisk ; gzip linphone.ramdisk
그리고 다음은 Q/A에 있는 한백전자에서 올려주신 내용을 참고하여 실행한 커널 이미지 작성/수정입니다. (ramdisk의 용량을 32M로 확장하였을 때의 커널이미지 작성에 대한 내용)
1. make sm_config
2. setup_ramdisk(1,0,0,16*1024);
=> setup_ramdisk(1,0,0,32*1024);
3. make menuconfig 후 block device 메뉴의 Default Ramdisk size를 '32768'로 수정
4. make dep ; make clean ; make zImage
위와 같은 작업을 실행하고 나서 이를 타겟보드에 포팅한 다음 부팅시 다음과 같은 메시지가 나옵니다.
..
..
RAMDISK driver initialized: 16 RAM disks of 32768K size 1024 blocksize
..
..
RAMDISK: Compressed image fount at block 0
Freeing initrd memory: 6144K
EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended
VFS: Mounted root (ext2 filesystem).
Freeing init memory: 148K
attempt to access beyond end of device
01:00: rw=0, want=841835629, limit=32768
attempt to access beyond end of device
01:00: rw=0, want=841835629, limit=32768
Kernel panic: No init found. Try passing init= option to kernel.
위의 방법외에는 다른 부분은 수정하지도 않았습니다.
그리고 32M ramdisk를 압축했을 때의 크기도 6M를 넘지않았는데 위와 같이 커널 패닉이 일어나는 이유를 잘 알지 못하겠습니다.
밤새도록 이곳저곳을 찾아보고 적용시켜봤는데 결과는 똑같은 커널패닉입니다.
바쁘시겠지만 가능한 빠른 답변을 부탁드리겠습니다. 감사합니다. |