Why last netinstall can't boot any x86 devices (deep dive)

Just because it full of typos and errors =)

Let’s get some theory of normal boot process

TFTP: /image (FileID: 125, Size: 42097)
TFTP: /ldlinux.c32 (FileID: 142, Size: 115516)
TFTP: /pxelinux.cfg/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (FileID: 126, Size: 88)
TFTP: /linux (FileID: 120, Size: 1094208)
TFTP: /initrd.rgz (FileID: 121, Size: 163616)
UDP Multicast: disk-drivers.npk (FileID: 150, Size: 1287084)

.
Lets try to boot our VM using netinstall.exe (6.48.3)
0-is-too-big.png
.
Woohoo: NBP is too big…
Ok lets capture network packet by wireshark and looks is it really big
1-incorrect-size.png
.
It report size 2138 (x 512 blocks) i.e. 1094656 bytes
Hm… looks like this size not of NBP which is /image (Size: 42097) but size of /linux (Size: 1094208)
hmm lets look inside the code of netinstall.exe, function sub_40954E
2-where-the-error.png
.
Ahh we see typical typo, must be 125 but exist 120
Ok lets go deeper in assembly
3-where-the-error-detailed.png
.
How to fix?
Easy, just replace 78 on 7D

After that we can boot our VM
4-no-harddrives-found.png
.
But now we face: no hard drive found

Why this happen, easy - because of BUG in disk-drivers.npk (FileID: 150, Size: 1287084)
5-Signature-Forgot.png
.
Simply forgot to put signature in corresponding block

Tomorrow i plan to release full fixed netinstall to public

And by the way dear MikroTik are you have BUG bounty program, did i win? =)

nice analysis, well done
hope they fix this in next version

Netinstall with fixes mentioned above: netinstall-6.48.3-fixed.zip
The URL will be available until the official fix is released

BUG bounty program

This will be greate, even if they give a license like on at a MUM.

Imagine the bugs present in RouterOS just because of some typos. But something like this in the most important recovery utility is disappointing.
BUG Bounty program? Yeah.. because everyone has time to analyze closed source programs…
@minks here was just annoyed enough to do that :slight_smile:
MikroTik already has a big list of bugs to fix.. I only think they lack the man power

Thaks you !!! You are BOSS. Your fix worked like charm !!! In win11 i set it to win7 compatibility mode, disable firewall and run as admin. Installed on x86 board with xeon.

minks, thank you it works! Official version 7.8 still have bugs.