When I wanted to remove the very long time delay from DHCP (because I'm
using a static IP address) I only removed DHCP from the kernel compilation
and not the entire Ethernet. There is also a way I've seen mentioned on this
list on how to not have it check DHCP from the command line arguments to the
kernel but I have forgotten it.

 

I know that doesn't answer your question at hand but it's something you can
try later.

 

Josh

 

From: [email protected]
[mailto:[email protected]] On Behalf Of
James T Long
Sent: Thursday, December 18, 2008 11:44 AM
To: [email protected]
Subject: Trying to boot with a RAMDISK

 



Morning all, 

I am having trouble getting Linux (MonteVista 2.6.10) to boot.  It's failing
to create a file-system. 
My target board is a stand-alone DaVinci 6446, with only RS-232, NAND-Flash,
DDR-2 and Ethernet. 
I can get Ethernet running while in U-Boot so I can load the kernel, but
Ethernet won't work 
while Linux is trying to boot.  (I had to disable the ethernet in Linux,
because DHCP would 
timeout and fail.) 

I'm trying to create a RAMDISK, but Linux is rejecting it.  See end of page
for the error message. 
Please help on what I'm doing wrong.  If there is a better strategy, please
let me know. 

Thank you for your help. 
James Long 


I've done the following, based mostly on Wiki pages. 

On my Linux PC, I modified menuconfig, like so, and then did a clean build: 

     CONFIG_MTD=y 
     CONFIG_MTD_PARTITIONS=y 
      
     CONFIG_MTD_CHAR=y 
     CONFIG_MTD_BLKDEVS=y 
     CONFIG_MTD_BLOCK=y 
      
     CONFIG_MTD_NAND=y 
     CONFIG_MTD_NAND_VERIFY_WRITE=y 
     CONFIG_MTD_NAND_IDS=y 
     CONFIG_MTD_NAND_DAVINCI=y 
      
     CONFIG_YAFFS_FS=y 
     CONFIG_YAFFS_YAFFS1=y 
     CONFIG_YAFFS_YAFFS2=y 
     CONFIG_YAFFS_AUTO_YAFFS2=y 
     CONFIG_YAFFS_SHORT_NAMES_IN_RAM=y 

On my Linux PC, logged in as superuser, I created a 8Meg RAMDISK, like so: 

     host > cd /tftpboot 
     host > dd if=/dev/zero of=/dev/ram0 bs=1k count=8192 
     host > mke2fs -vm0 /dev/ram0 8192 
     host > tune2fs -c 0 /dev/ram0 
     host > dd if=/dev/ram0 bs=1k count=8192 | gzip -v9 > ramdisk.gz 
     host > mkdir mnt 
     host > gunzip ramdisk.gz 
     host > mount -o loop ramdisk mnt/ 
     host > mkdir mnt/usr ; mkdir mnt/home ; mkdir mnt/home/jlong ; mkdir
mnt/dev ; mkdir mnt/etc 
     host > umount mnt 
     host > gzip -v9 ramdisk 

Then, from U-Boot, I load and burn the kernel and ramdisk.gz. 

     UBOOT # dhcp 0x80700000 192.186.0.100:/tftpboot/uImage 
     UBOOT # nand erase 0x100000   0x150000 
     UBOOT # nand write 0x80700000 0x100000 0x150000 

     UBOOT # tftp 0x87000000 ramdisk.gz 
     UBOOT # nand erase 0x280000   0x20000 
     UBOOT # nand write 0x87000000 0x280000 0x20000 

     UBOOT # setenv bootcmd 'nand read 0x87000000 0x280000 0x20000; nboot
80700000 0 100000; bootm' 
     UBOOT # setenv bootargs  console=ttyS0,115200n8 root=/dev/ram0 rw
initrd=0x87000000,8M
ip=192.168.0.103:255.255.255.0:192.168.0.1:192.168.0.1:192.168.0.100:off
mem=120M 
     UBOOT # saveenv 

When I power-cycle, I get the following (On the second line, I added a
printf of the two magic numbers being compared): 

RAMDISK: Compressed image found at block 0 
EXT3-fs: Magic mismatch, very weird !   <00000000   0000ef53> 
yaffs: dev is 1048576 name is "ram0" 
yaffs: Attempting MTD mount on 1.0, "ram0" 
yaffs: dev is 1048576 name is "ram0" 
yaffs: Attempting MTD mount on 1.0, "ram0" 
Kernel panic - not syncing: VFS: Unable to mount root fs on
unknown-block(1,0) 

_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to