MikroTik RBM33G TFTP read request file: looks for vmlinux: not finding firmware.bin

Attempting to get the MikroTik RBM33G to pull firmware binary from tftp server.
https://openwrt.org/toh/mikrotik/mikrotik_rbm33g The bootloader gets an ip from dhcp and recognizes the gateway. The pcap shows that bootp is initiated and replied to, then ARP completes then after this TFTP sends a read request for File: vmlinux. Here are relevant lines from pcap:
No. Time. Source Dest. Protocol Len Info

12 5.596132941 192.168.69.2 192.168.69.1 TFTP 71 Read Request, File: vmlinux, Transfer type: octet, blksize=1452

13 5.597544146 192.168.69.1 192.168.69.2 TFTP 61 Error Code, Code: File not found, Message: File not found

Question is why is the bootloader looking for the vmlinux(kernel image) and not a binary as the guide shows it should?

You tell us, as the instructions state:

dhcp-boot=openwrt-ramips-mt7621-mikrotik_rbm33g-initramfs-kernel.bin

  • Did you follow the instructions on the page?
  • If so, what step do you run into an issue?
  • If everything else is properly configured, just rename the file and see what happens

Ok, that worked, I feel a bit silly. I almost did that but was worried it may cause issues. Well, thank you for giving me the greenlight. Could you possibly explain why it is that it asks for this file which I thought could not be used by a bootloader as it is usually an elf file? I thought that vmlinux was the uncompressed kernel image? I wonder why it is not mentioned in the walkthrough?

Should the walkthrough possibly be edited to make note of this?

1 Like

You never said if you followed the instructions on the page; nor did you clearly state if you renamed the file.

The correct name should have been specified by the line I showed you.

I followed the instructions but used tftp-server and dhcpd instead of dnsmasq due to already having those setup, I renamed the file to firmware.bin instead of the long name. When I changed that to vmlinux as the pcap showed, it went through no problem. I will try doing it with original filename tomorrow and see the results. The pcap seemed to show it was looking for vmlinux specifically.

My apologies for not answering your questions as asked, I will keep this in mind in the future.

The file as given in the walkthrough 'openwrt-ramips-mt7621-mikrotik_rbm33g-initramfs-kernel.bin' DOES NOT TAKE. As the pcap indicates the bootloader is looking specifically for the file 'vmlinux' and will not accept any file of any other name.

So with this done, should the walkthrough possibly be updated to help others not spend too long troubleshooting the issue?

If you've found a different experience from what the Wiki describes, please feel free to update it: https://openwrt.org/start?do=register

Ok, will do. Thanks for taking the time to respond on this one.

1 Like

The DHCP server on the PC in its granting of an IP address, also tells the router which file to load via tftp. If you're using a different DHCP server you would need to configure it differently than dnsmasq.

I used tftp-server and dhcpd separately. dhcpd handed out the network information and tftp-server served up the firmware. Are you of the mind that the bootloader would have taken any file regardless of name as long as it was specified by the dhcp server? If that is the case I will give that a shot as well to see how that effects the outcome.