|
Hi every body, We are using ML402 board with Microblaze softcore & we
want to make uClinux kernel run on our board. The steps we followed are : n
We have
compiled the kernel with board support package with auto-config.in file (which
is generated while configuring microblaze in EDK ) placed at
‘linux-2.4.x/arch/microblaze/platform/uclinux-auto/’ . n
Note :
we didn’t make any changes in ‘uClinux-dist/vendor’ folder. n
Then we
write the kernel image (image.srec) on linear flash with “program flash
memory” tool in xilinx platform studio with generate bootloader option
enabled. n
Then
with ‘download’ command of xps we download Microblaze with
bootloader on to the board. This starts reading s-records and starts the
execution of kernel. n
It gets
the root mount point. But fails at init stage. (at get terminal command) I
will provide the output of Hyper Terminal at the end. We
want to ask that whether our file system is not generated properly (at the time
of compilation of kernel, the romfs file system is generated using the
‘vendor/Xilinx/uclinux-auto’ dir. And then the romfs image gets
appended to kernel image.). Do we need to make changes in the files under the
folder “uClinux-dist/vendor/Xilinx/uclinux-auto”. Our file system
has following structure (note : lib folder is empty) : ……………………romfs
file
system………………………………….. bin dev etc home lib mnt proc sbin tmp usr var 'bin': [ agetty basename busybox cat chmod cmp cp date dd dhcpcd echo false flatfsd free ftpd hd hostname ifconfig init insmod kill killall ln login ls lsmod mkdir modprobe mount mv netflash passwd ping ps pwd reboot rm rmmod sh shutdown telnetd test thttpd touch true uname uptime version vi wget 'dev': console fb0 flash kmem mem mtd0 mtd1 mtd2 mtd3 mtd4 mtd5 mtd6 mtd7 mtdblock0 mtdblock1 mtdblock2 mtdblock3 mtdblock4 mtdblock5 mtdblock6 mtdblock7 mtdr0 mtdr1 mtdr2 mtdr3 mtdr4 mtdr5 mtdr6 mtdr7 null nvram ptyp0 ptyp1 ptyp2 ptyp3 ptyp4 ptyp5 ptyp6 ptyp7 ptyp8 ptyp9 ptypa ptypb ptypc ptypd ptype ptypf random rtc tty ttyS0 ttyS1 ttyS2 ttyS3 ttyp0 ttyp1 ttyp2 ttyp3 ttyp4 ttyp5 ttyp6 ttyp7 ttyp8 ttyp9 ttypa ttypb ttypc ttypd ttype ttypf urandom zero 'flash': all boot bootarg config ethmac image jffs2 spare 'etc': config default fstab group inetd.conf init.d inittab mtab passwd rc rc.d resolv.conf 'default': inittab passwd start 'init.d': flatfsd hostname 'rc.d': S02flatfsd S30hostname 'lib': modules Directory data: 3144 bytes 185.71% (+13 bytes) [ 0.39% (+120 bytes) agetty 1.38% (+15 bytes) basename 0.00% (+0 bytes) busybox 0.44% (+16 bytes) cat 0.46% (+63 bytes) chmod 0.42% (+62 bytes) cmp 0.41% (+61 bytes) cp 0.45% (+32 bytes) date 0.38% (+181 bytes) dhcpcd 2.26% (+17 bytes) echo 0.39% (+2 bytes) false 0.39% (+136 bytes) flatfsd 0.40% (+61 bytes) free -0.29% (-185 bytes) ftpd 0.38% (+90 bytes) hd 0.45% (+18 bytes) hostname 0.40% (+153 bytes) ifconfig 0.39% (+75 bytes) init 0.43% (+61 bytes) kill 0.43% (+62 bytes) ln 0.38% (+122 bytes) login 1.21% (+16 bytes) mkdir 0.42% (+62 bytes) mv 0.35% (+215 bytes) netflash 0.40% (+121 bytes) passwd 0.37% (+134 bytes) ping 0.40% (+77 bytes) ps 0.96% (+16 bytes) pwd 0.44% (+78 bytes) reboot 1.32% (+17 bytes) rm 0.42% (+107 bytes) sh 0.43% (+63 bytes) shutdown 0.34% (+97 bytes) telnetd -0.27% (-150 bytes) thttpd 1.54% (+15 bytes) touch 1.16% (+6 bytes) true 1.73% (+17 bytes) uname 0.40% (+62 bytes) version 71.43% (+15 bytes) inittab -21.57% (-22 bytes) passwd -3.45% (-3 bytes) start 100.00% (+12 bytes) fstab 100.00% (+12 bytes) group -22.73% (-20 bytes) inetd.conf -26.11% (-41 bytes) flatfsd -12.00% (-12 bytes) hostname 9.68% (+6 bytes) inittab 118.18% (+13 bytes) mtab 115.38% (+15 bytes) passwd -35.07% (-121 bytes) rc 68.42% (+13 bytes) S02flatfsd 60.00% (+12 bytes) S30hostname 55.56% (+10 bytes) resolv.conf 300.00% (+12 bytes) sbin 150.00% (+12 bytes) tmp Everything: 836 kilobytes Super block: 76 bytes CRC: 2fa74770 ……………………………………………………………………………………………… ……………………………output
of hyper terminal is
as……………………………… Bootloader: Processed (0x)00018a84
S-records
Executing program starting at address:
24000000
Linux version 2.4.32-uc0 (root@localhost)
(gcc version 3.4.1 ( Xilinx EDK 8.1
Bu
ild EDK_I.17 121005 )) #43 Fri Mar 24 On node 0 totalpages:
16384
zone(0): 16384
pages.
zone(1): 0
pages.
zone(2): 0
pages.
CPU:
MICROBLAZE
Kernel command line: rootfstype=romfs
root=/dev/mtd/9
Console: xmbserial on
UARTLite
Calibrating delay loop... 33.07
BogoMIPS
Memory: 64MB = 64MB
total
Memory: 63124KB available (662K
cod
Dentry cache hash table entries: 8192
(order: 4, 65536
bytes)
Inode cache hash table entries: 4096
(order: 3, 32768
bytes)
Mount cache hash table entries: 512
(order: 0, 4096
bytes)
Buffer cache hash table entries: 4096
(order: 2, 16384
bytes)
Page-cache hash table entries: 16384
(order: 4, 65536
bytes)
POSIX conformance testing by
UNIFIX
Linux NET4.0 for Linux
2.4
Based upon Microblaze UARTlite serial driver version
1.00
ttyS0 at 0x40600000 (irq = 8) is a
Microblaze
Starting
kswapd
devfs: v1.12c (20020818) Richard Gooch
(rgooch@xxxxxxxxxxxxx)
devfs: devfs_debug:
0x0
devfs: boot_options:
0x1
RAMDISK driver initialized: 16 RAM disks
of 4096K size 1024
blocksize
uclinux[mtd]: RAM probe address=0x240d7668
size=0xd2000
mtd: Giving out device 0 to
RAM
uclinux[mtd]: root filesystem
index=0
MicroBlaze auto-config flash
probe(0x22000000,8388608,4): 800000 at
22000000
cfi_cmdset_0001: Erase suspend on write
enabled
0:
offset=0x0,size=0x40000,blocks=32
Using buffer write
method
Creating 8 MTD partitions on
"Flash":
0x00000000-0x00004000 :
"Bootloader"
mtd: partition "Bootloader"
doesn't end on an erase block -- force
read-only
mtd: Giving out device 1 to
Bootloader
0x00004000-0x00008000 :
"Bootargs"
mtd: partition "Bootargs"
doesn't start on an erase block boundary -- force
read-only mtd: Giving out device 2 to
Bootargs
0x00008000-0x0000c000 :
"MAC"
mtd: partition "MAC" doesn't
start on an erase block boundary -- force
read-only
mtd: Giving out device 3 to MAC
0x00010000-0x00020000
:
mtd: partition "Config" doesn't
start on an erase block boundary -- force read-only mtd: Giving out device 4 to
Config
0x0000c000-0x00010000 :
"Spare"
mtd: partition "Spare" doesn't
start on an erase block boundary -- force read-only mtd: Giving out device 5 to
Spare
0x00100000-0x00400000 :
"Image"
mtd: Giving out device 6 to
Image
0x00400000-0x00800000 :
"JFFS2"
mtd: Giving out device 7 to JFFS2
0x00000000-0x00800000 :
"Flash"
mtd: Giving out device 8 to
Flash
MicroBlaze auto-config ram
probe(0x240d7668,860160,
Creating 1 MTD partitions on
"RAM":
0x00000000-0x000d2000 :
"Romfs"
mtd: Giving out device 9 to Romfs
*******
debug code written by us (not in the source) ***** VFS: test name =
</dev/root>
VFS: fs_name =
<romfs>
VFS: root name
<1f:09>
VFS: tried fs_name = <romfs> err=
0
************** end of our debug code
******************* VFS: Mounted root (romfs filesystem)
readonly. Mounted devfs on /dev Freeing init memory: 44K Mounting proc: Mounting var: Populating /var: Running local start scripts. Mounting /etc/config: Populating /etc/config: flatfsd: Nonexistent or bad flatfs (-48),
creating new one... flatfsd: Failed to write flatfs (-48): No
such file or directory flatfsd: Created 3 configuration files
(142 bytes) Setting hostname: tuy init: /bin/agetty respawning too fast init: /bin/agetty respawning too fast init: /bin/agetty respawning too fast init: /bin/agetty respawning too fast init: /bin/agetty respawning too fast init: /bin/agetty respawning too fast init: /bin/agetty respawning too fast init: /bin/agetty respawning too fast init: /bin/agetty respawning too fast Waiting for your help. Thanking you. -- Pallav Joshi |