Let’s say your JTAG/UART is on /dev/ttyUSB0, and you have a u-boot.kwb you
want to test.
1. Power off the Kirkwood SoC
2. Make sure any terminal emulator is disconnected
3. Run the program as follows
$ ./kwuartboot /dev/ttyUSB0 uboot.kwb
4. Power on the Kirkwood SoC
5. Start the terminal emulator – u-boot should be running.
Go into the uboot
And change serverip and ipaddr
Setenv serverip (ip of tftp server)
Setenv ipaddr (ip of guruplug)
Make sure you can ping the server
To put the uboot on using tftp the command is
tftpboot 0x6400000 u-boot.kwb
0x6400000 is the address for memory on guruplug.
By running that command it will transfer the uboot into Guruplugs memory.
Now after run command:
nand write.e 0x6400000 0x0 0x100000
this will write the u-boot that we loaded and is sitting in memory at 0x6400000 and write it to 0x100000 where the u boot should be.
you can check the version to see now
type version to check u boot version
now reset and hope it boots into your newly built u boot
type version again to check.
I have done this and I have loaded new kernels using this new u boot.
I was happy I was able to build it without any problems.
Next is loading the kernel 188.8.131.52
To load the kernel now
Make sure your uboot environment has proper variables set up to be able to boot.
Here are the commands
Replace the root dir to your real root directory on your SD card.
In my case I used sdb1
This command will set up the location of root dir and console ttyS0
setenv bootargs console=ttyS0,115200 root=/dev/sdb1 rootdelay=10
run tftpboot just like loading u boot into memory, this will load the kernel image into memory.
tftpboot 0x6400000 uImage
next enter this command:
This will boot the kernel from memory without the need of flashing the kernel to the nand.
You should be now booted in your new kernel.
For me the kernel loaded fine. But it came up with error messages the first time because i had to transfer the modules over. If you get errors about modules its likely because you do not have them on your system in the correct path.
They need to be in /lib/modules/
Using a new kernel feels much better than using that old kernel which was on the guruplug in the beginning.