기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.
안녕하세요
S5PV210 에 2.6.32 커널 , yaff2 를 쓰고 있습니다.
현재 모든 동작을 다 정상 적으로 하고 있습니다.
그런데 파티션과 업데이트 관련 해서 몇가지 궁금 한 것이 있어서 이렇게 올려 봅니다.
//s3c_nand.c 에서
struct mtd_partition s3c_partition_info[] = {
{
.name = "bootloader",
.offset = 0, /* for bootloader */
.size = (512*SZ_1K),
.mask_flags = MTD_CAP_NANDFLASH,
},
{
.name = "kernel",
.offset = (512*SZ_1K),
.size = (4*SZ_1M) - (512*SZ_1K),
},
{
.name = "rootfs",
.offset = MTDPART_OFS_APPEND,
.size = MTDPART_SIZ_FULL,
},
};
이렇게 되어 있습니다.
커널 부팅 완료 후 df 를 실행해 보면
/dev/mtdblock2 508.0M 95.2M 412.8M 19% /
tmpfs 50.0M 28.0k 50.0M 0% /tmp
위처럼 보이구요.
그리고
cat /proc/mtd
를 실행 시켜 보면
mtd0: 00080000 00020000 "bootloader"
mtd1: 00380000 00020000 "kernel"
mtd2: 1fc00000 00020000 "rootfs"
이렇게 나옵니다.
이때 전 항상 DNW 를 사용 해서 부트로더 에서 업데이트를 했는데 커널 정상 부팅 후에 쉘에서 zImage 와 yaffs.gz 를
업데이트 해보려고 하였는데 수행이 되지 않아 문의 글을 올려봅니다.
flash_eraseall /dev/mtd1
을 수행 하면 flash_eraseall: applet not found 이렇게 나오고
cat zImage > /dev/mtd1
을 수행 하면 cat: write error: Invalid argument 이렇게 나옵니다.
어떻게 확인을 하고 수정을 해야 할까요?
flash_eraseall 명령은 /dev/mtd인 character device로 하는 것이 맞고
cat zImage 는
cat zImage > /dev/mtdblock1 의 형태가 맞습니다.
다만 block device의 경우는 dd 명령어가 정상적일 거라고 보여집니다.