# Bootup stuck at spinner for over a minute



## balanga (Aug 17, 2019)

One of the great mysteries (to me) of the FreeBSD boot process are the strange *text=1234 data=5678 syms=9876* msgs which come up immediately after the the *Loading kernel ...* msg. I never really take any notice of this as it wizzes past in a few seconds, but what I'm seeing at the moment whilst trying to PXE boot FreeBSD is that the spinner after *text=0x1678a68* takes about 1.5 mins to complete its task. Once past that point it boots up fairly quickly.

Any idea why it takes so long?


----------



## balanga (Aug 17, 2019)

Is this problem related to https://www.freebsd.org/cgi/man.cgi?query=pxeboot&sektion=8 ?



> *pxeboot* defaults to a conservative    1024 byte NFS data packet size.     This
> may be changed by setting the _nfs.read___size_ variable in
> _/boot/loader.conf_.     Valid values range from 1024 to 16384 bytes.


----------



## olli@ (Aug 17, 2019)

balanga said:


> One of the great mysteries (to me) of the FreeBSD boot process are the strange *text=1234 data=5678 syms=9876* msgs which come up immediately after the the *Loading kernel ...* msg.


Those refer to sections of the ELF kernel image being loaded into memory. Basically, “text” refers to the actual code (processor instructions), “data” refers to the data section (constants, static variables, strings, things like that), and “syms” refers to symbolic names that are mostly used for linking and debugging. The numbers refer to the sizes of those sections.


> I never really take any notice of this as it wizzes past in a few seconds, but what I'm seeing at the moment whilst trying to PXE boot FreeBSD is that the spinner after *text=0x1678a68* takes about 1.5 mins to complete its task. Once past that point it boots up fairly quickly.
> 
> Any idea why it takes so long?


Well, the NFS code of the loader is rather simple-minded, compared to the NFS client code of the kernel. In other word's it is not very efficient. As you noted above, you can try to increase the packet size – that'll probably help a bit, but it still won't be as fast as loading from a local device.

Alternatively you can try to load the kernel via TFTP. I'm not sure if that's faster than NFS, but it might be worth a try if booting speed is a concern for you. I did use TFTP for booting a headless machine a long time ago, but I think it's still supported.


----------

