squash filesystem 에서 initramfs 로 변경시 root filesystem 을 마운트 할 수 없어 질문 드립니다.
squash filesystem 에서 initramfs 로 변경시 root filesystem 을 마운트 할 수 없어 질문 드립니다.
컴파일까지되고 이미지도 만들어졌습니다.
여기서 첫 번째 의문점
squash FS의 root 파일시스템 이미지 크기와 initramfs 의 root 파일시스템 이미지 크기가 틀립니다. 단지 옵션만 변경했을 뿐인데..
[squash FS]
-rw-r--r-- 1 asdf asdf 724K 2009-07-20 17:43 linux.bin
-rw-rw-rw- 1 asdf asdf 921K 2009-07-20 17:43 root.bin
[initramfs]
-rw-r--r-- 1 asdf asdf 1.7M 2009-07-20 17:49 linux.bin
-rw-rw-rw- 1 asdf asdf 1.2M 2009-07-20 17:49 root.bin
커널 버젼은 2.6.19 입니다.
make menuconfig 들어가서
- General setup -> Initramfs source file(s) 설정 : 이것은 root 파일 시스템이 될 디렉토리를 써준다.
- Device Drivers -> Block devices 에 있는 모든 옵션 체크 해제
- Filesystems -> Miscellaneous filesystems -> SquashFS 2.2 - Squashed file system support 체크 해제
업로드 후 에러는 다음과 같습니다. 커널패닉도 안나고..이 메세지 후에 진행도 안되고 멈춰버리네요
No filesystem could mount root, tried:
다음과 같이 플래쉬 파티셔닝도 해줬습니다.
115 #if 0 // 기존 116 static struct mtd_partition rtl8186_partitions[ ] = { 117 { 118 name: "boot+cfg+linux", 119 size: 0x000F0000, 120 offset: 0x00000000, 121 }, 122 { 123 name: "root fs", 124 size: 0x00110000, 125 offset: 0x000F0000, 126 } 127 }; 128 #endif 130 #if 1 //dice 131 static struct mtd_partition rtl8186_partitions[ ] = { 132 { 133 name: "boot+cfg+web", 134 size: 0x000F0000, //0x30000 135 offset: 0x00000000, //0x0 136 }, 137 { 138 name: "kernel+root", 139 size: 0x00110000, //0x1d0000 140 offset: 0x000F0000, //0x30000 141 } 142 }; 143 #endif
다음은 커널 로그입니다.
mfid=c2 devid=2249 Found 1 x 2M flash memory ---RealTek(RTL8196B)at 2009.07.16-11:18+0900 version v1.4 [16bit](330MHz) no sys signature at 10000! no sys signature at 20000! Jump to image start=0x80500000... Dentry cache hash table entries: 2048 (order: 1, 8192 bytes) Inode-cache hash table entries: 1024 (order: 0, 4096 bytes) Memory: 8144k/16384k available (2554k kernel code, 8240k reserved, 305k data, 11 16k init, 0k highmem) Mount-cache hash table entries: 512 Checking for 'wait' instruction... available. NET: Registered protocol family 16 NET: Registered protocol family 2 IP route cache hash table entries: 128 (order: -3, 512 bytes) TCP established hash table entries: 512 (order: -1, 2048 bytes) TCP bind hash table entries: 256 (order: -2, 1024 bytes) TCP: Hash tables configured (established 512 bind 256) TCP reno registered io scheduler noop registered io scheduler anticipatory registered (default) Realtek GPIO Driver for Flash Reload Default Serial: 8250/16550 driver $Revision: 1.1.1.1 $ 1 ports, IRQ sharing disabled serial8250: ttyS0 at MMIO 0x0 (irq = 12) is a 16550A Probing RTL8186 10/100 NIC... chip name: 8196B, chip revid: 0 NOT YET Set threshould idx 0 eth0 added. vid=9 Member port 0x11e... eth1 added. vid=8 Member port 0x1... Configuration LINUX to process port 0 ~ port 4 for Spanning tree process => [stp pseudo port0] done => [stp pseudo port1] done => [stp pseudo port2] done => [stp pseudo port3] done => [stp pseudo port4] done =======stp port dev mapping init======= mapping: lan phycisal [port1] <====>pseudo [port0] mapping: lan phycisal [port2] <====>pseudo [port1] mapping: lan phycisal [port3] <====>pseudo [port2] mapping: lan phycisal [port4] <====>pseudo [port3] mapping table is 1 2 3 4 -1 PPP generic driver version 2.4.2 PPP_sync: error -22 registering line disc. MPPE/MPPC encryption/compression module registered NET: Registered protocol family 24 RTL8192SE driver version 1.13 (2009-03-25) init wlan pseudo dev =====> port5 RealTek E-Flash System Driver. (C) 2002 RealTek Corp. Found 1 x 2M Byte MXIC MX29LV160AB at 0xbd000000 Creating 2 MTD partitions on "DiskOnChip Millennium": 0x00000000-0x00030000 : "boot+cfg+web" 0x00030000-0x00200000 : "kernel+root" Netfilter messages via NETLINK v0.30. ip_conntrack version 2.4 (128 buckets, 1024 max) - 240 bytes per conntrack ip_conntrack_pptp version 3.1 loaded ip_nat_pptp version 3.0 loaded ip_tables: (C) 2000-2006 Netfilter Core Team TCP cubic registered NET: Registered protocol family 1 NET: Registered protocol family 17 Realtek FastPath v1.02 No filesystem could mount root, tried:
댓글 달기