Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
16 years ago

u-boot

I am trying to boot a kernel with u-boot, but don't seem to be getting anywhere. I've built u-boot from the nios2-generic branch according to http://nioswiki.com/dasuboot

It runs and things seem to basically work, including jffs2, but not ethernet.

What I am trying to do to test is:

1) program the kernel into flash with nios2-flash-programmer

2) load u-boot using nios2-download

3) boot the kernel image from flash

I've tried a few variations on this with the various images that are generated by the build. The last iteration went like this:

$ mkimage -A nios2 -O linux -T kernel -C none -a 0xc0000000 -e 0xc0000000 -n "linux" -d /data/nios/nios2-linux/uClinux-dist/linux-2.6.x/arch/nios2/boot/vmlinux.gz vmlinux.img
Image Name:   linux
Created:      Tue Mar 30 11:32:16 2010
Image Type:   NIOS II Linux Kernel Image (uncompressed)
Data Size:    4423821 Bytes = 4320.14 kB = 4.22 MB
Load Address: 0xC0000000
Entry Point:  0xC0000000
$ bin2flash --base=0xc4000000 --end=0xc4ffffff --location=0x200000 --input=vmlinux.img --output=vmlinux.img.flash
$ nios2-flash-programmer --mmu --base=0x4000000 vmlinux.img.flash --instance 1
$ nios2-download -g u-boot --instance 1 && nios2-terminal
Using cable "USB-Blaster ", device 1, instance 0x01
Processor is already paused
Initializing CPU cache (if present)
OK
Downloaded 153KB in 1.3s (117.6KB/s)
Verified OK
Starting processor at address 0xC1F80000
nios2-terminal: connected to hardware target using JTAG UART on cable
nios2-terminal: "USB-Blaster ", device 1, instance 0
nios2-terminal: (Use the IDE stop button or Ctrl-C to terminate)
U-Boot
==> iminfo 0xc4200000
# # Checking Image at c4200000 ...
   Legacy image found
   Image Name:   linux
   Image Type:   NIOS II Linux Kernel Image (uncompressed)
   Data Size:    4423821 Bytes =  4.2 MB
   Load Address: c0000000
   Entry Point:  c0000000
   Verifying Checksum ... OK
==> bootm 0xc4200000
# # Booting kernel from Legacy Image at c4200000 ...
   Image Name:   linux
   Image Type:   NIOS II Linux Kernel Image (uncompressed)
   Data Size:    4423821 Bytes =  4.2 MB
   Load Address: c0000000
   Entry Point:  c0000000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK
bootargs=<NULL> @ 0xc1f3fd94
initrd=0x0-0x0

It doesn't do anything else after that. With this image I would expect it to start booting, then complain about a missing, like it does if I download the image directly ("Kernel panic - not syncing: No init found. Try passing init= option to kernel.").

With some other things I've tried, for example by using zImage, u-boot gives an error like this:

  Loading Kernel Image ... OK
OK
bootargs=<NULL> @ 0xc1f3fd94
initrd=0x0-0x0
*** ERROR: unimplemented instruction @ c1700000
# ## ERROR# ## Please reset board# ##