tftp

balanga

Son of Beastie

Reaction score: 106
Messages: 2,505

I was looking at instructions for installing OpenWrt on a GoFlex Home unit:-


Among other things it mentions:-

Code:
tftp 0x6400000 openwrt-kirkwood-goflexhome-uImage
Would FreeBSD's tftpd understand such a request?
 

Phishfry

Son of Beastie

Reaction score: 1,175
Messages: 3,399

Looking here:
It looks like they pull from the device side with uboot and tftpboot over the network.

Marvell>> tftpboot 900000 mv5281/kernel.bin

With your command you are trying to push the tftp server to boot it. That might not work.
The devices uboot needs to pull it.
I am really talking out of my competency here.
I only use tftp for router/pdu/switch firmware upgrades, not remote booting.
 

Phishfry

Son of Beastie

Reaction score: 1,175
Messages: 3,399

Among other things it mentions:-
Right above this it explains what it is doing:
download from tftp-server file openwrt-kirkwood-goflexhome-uImage to RAM start offset 0x6400000
So this step is uploading uboot from the tftp server to the device.
Then you would need to run tftpboot to call up your kernel image from the network using the tftp uploaded uboot.
uboot is the loader, so you need to have the proper env settings.

The FreeBSD wiki does not upload a uboot image (like OpenWRT) but uses the stock uboot so the instructions are different.
 

Phishfry

Son of Beastie

Reaction score: 1,175
Messages: 3,399

I see the difference now.
The OpenWRT instructions are more like a "firmware upgrade" by erasing old uboot and kernel and installing new.

With the FreeBSD Wiki instructions you boot off a tftp setup without modifying any of the device files.
 
OP
OP
B

balanga

Son of Beastie

Reaction score: 106
Messages: 2,505

It looks like a useful guide, except I don't see any mention of the device being used, or the origin of the uBoot. It says:-
__ __ _ _
| \/ | __ _ _ __ ___| | |
| |\/| |/ ` | '_\ \ / / _ \ | |
| | | | (| | | \ V / _/ | |
|| ||\,|| \/ \|||
_ _ ____ _
| | | | | __ ) _ _ | |_
| | | |___| _ \ / _ \ / _ \| __|
| || |__| |) | () | () | |
\/ |_/ \/ \/ \__| ** LOADER **
** MARVELL BOARD: DB-88F5X81-DDR2-A/B LE

U-Boot 1.1.4 (Aug 26 2008 - 11:21:17) Marvell version: 2.3.23
but where do I get it or how do I build it?

In the other article - https://kernelnomicon.org/?p=327

It mentions that you need bootelf ..
Now, bootelf or ELF support in general is not always available in boot loaders.
I don't have bootelf capability in my uBoot so am unable to run FreeBSD on it.
 

Phishfry

Son of Beastie

Reaction score: 1,175
Messages: 3,399

But where do I get it or how do I build it?
uBoot is onboard in hardware. Probably in NAND. The memory address shows where it is stashed.
You can use the pre-existing uboot or if that is hosed you need to start by uploading the proper uboot to it.
Because it resides in NAND there may be some different setting needed to compile uboot versus booting from an sd card uboot.
Think of it as the devices bios and bootloader.
 
OP
OP
B

balanga

Son of Beastie

Reaction score: 106
Messages: 2,505

What I meant was where do I get this particular uBoot which is capable of bootelf ?
 
OP
OP
B

balanga

Son of Beastie

Reaction score: 106
Messages: 2,505

Ah yes... Also this uBoot stuff was all very new and even more incomprehensible then than it is now. I think I'll continue in that thread as it will be more appropriate
 
Top