When I create a bootnode, I am not getting the enode. So I used this link for reference to derive it. However, the below is happening. It seems that the bootnode address is 128 bits whereas it is expecting 256.
You are doing it right but the third command you are running is useless.
bootnode -nodekey boot.key -writeaddress
will print your bootnode enode, and you can then get the enode url using :
-nodekeyhex as to be used instead of
-nodekey if you generated a hexadecimal boot key.