移植系统时,移到挂载文件系统时总不行,挂载YAFFS时,问题比较大,,可能是NAND FLASH驱动的问题,反正YAFFS文件系统是挂不上,明天再想想怎么弄,后来说挂个NFS吧,NFS也挂不上,这可让我郁闷了,郁闷了两天,
[ 3.888216] dm9000 dm9000: status check fail: 138
[ 307.204828] VFS: Unable to mount root fs via NFS, trying floppy.
[ 307.205106] VFS: Cannot open root device "nfs" or unknown-block(2,0): error -6
[ 307.205165] Please append a correct "root=" boot option; here are the available partitions:
[ 307.205263] 1f00 256 mtdblock0 (driver?)
[ 307.209254] 1f01 5120 mtdblock1 (driver?)
[ 307.214281] 1f02 5120 mtdblock2 (driver?)
[ 307.219306] 1f03 3072 mtdblock3 (driver?)
[ 307.224332] 1f04 4179968 mtdblock4 (driver?)
[ 307.229357] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
[ 307.237616] [<80013b08>] (unwind_backtrace+0x0/0xf0) from [<8036f5e4>] (panic+0x8c/0x1e8)
[ 307.245745] [<8036f5e4>] (panic+0x8c/0x1e8) from [<80481b5c>] (mount_block_root+0x1a4/0x254)
[ 307.254144] [<80481b5c>] (mount_block_root+0x1a4/0x254) from [<80481dd4>] (mount_root+0xd8/0xf4)
[ 307.262896] [<80481dd4>] (mount_root+0xd8/0xf4) from [<80481f50>] (prepare_namespace+0x160/0x1b8)
[ 307.271736] [<80481f50>] (prepare_namespace+0x160/0x1b8) from [<8036db08>] (kernel_init+0x160/0x294)
[ 307.280839] [<8036db08>] (kernel_init+0x160/0x294) from [<8000e458>] (ret_from_fork+0x14/0x3c)
出现了这个毛病,,从百度里搜,很多人都遇到这问题,但是发现也没有适合我的,有人写是因为dm9000的接收数据有问题,,这个还比较接近,,
解决:
后来才找到我的问题所在,在mach-mini210.c的板级配置文件下,修改这一函数
static void __init smdkv210_dm9000_init(void)
{
unsigned int tmp;
gpio_request(S5PV210_MP01(1), "nCS1");
s3c_gpio_cfgpin(S5PV210_MP01(1), S3C_GPIO_SFN(2));
gpio_free(S5PV210_MP01(1));
tmp = (5 << S5P_SROM_BCX__TACC__SHIFT);
__raw_writel(tmp, S5P_SROM_BC1);
tmp = __raw_readl(S5P_SROM_BW);
tmp &= (S5P_SROM_BW__CS_MASK << S5P_SROM_BW__NCS1__SHIFT);
tmp |= (1 << S5P_SROM_BW__NCS1__SHIFT);
__raw_writel(tmp, S5P_SROM_BW);
}
这一段代码是应该是设置DM9000总线格式啦,时序啦的,因为dm9000挂在srom下,nini210是挂在bank1下,