Old Hardware - PXE-E05



  • Hello,

    I'm currently working on old hardware. I have approximately 2000 devices that I have to reinstall.

    My POC with CloneDeploy is really successful (the installation take less that 5 minutes instead 45 with the previous system), but I still have to solve a blocker problem : After booting on the kernels proposed by clonedeploy, the network card seems to be stuck, I got that error from the BIOS : PXE-E05.

    The only way I have is unplug/replug the power cable. Has you understand, I don't want to pass over 2000 devices to unplug/replug 😄

    My questions are :

    Thanks for reply and thanks for clonedeploy 😄
    Kind regards,



  • If I understand you correctly, you can pxe boot the first time and image the machine, but when it reboots and tries to boot from the nic again it gets the pxe-e05 error?



  • Hello,

    Yes. it's the case.

    In my investigation, I tried multiple kernels in clonedeploy (got the kernel from the .deb file from debian and ubuntu communities)

    In the case of the debian kernels, i got a "kernel panic not syncing vfs unable to mount root fs on unknown-block(0 0)"

    In the case of the ubuntu kernels, with the 3.2 kernels binary, I can boot the clonedeploy solution but the diagnostic system says "Network card maybe not compatible" and the keyboard is not working anymore.
    Above 3.4 ubuntu kernels, I got back the pxe-e05 error.

    To reproduce :
    get the deb here : http://packages.ubuntu.com/fr/precise/linux-image-3.2.0-23-generic
    dpkg-deb -x the_deb_file.deb /tmp/extract
    In the extract directory, get the boot/vmlinuz file for clonedeploy

    So I will try 2 ways to solve :

    • Try to understand the VFS trouble and create custom kernel.
    • Try to make the ubuntu kernel working with my network interface (and the keyboard :D)

    Regards,



  • I would try some of these older kernels from my last project
    https://sourceforge.net/projects/cruciblewds/files/Kernels/

    Perhaps 3.3.4, there are two kernels in that folder one called speed and the other compatibility



  • I tried the compatibility one, diagnostic passed with some errors, but everything seems to be fine, but I got back the pxe-e05 error :'-s



  • Are you certain it is the kernel doing this and not the pxe boot loader? Have you tried changing the pxe mode to ipxe?



  • Hello,

    I was sure, but I tried, the result is the same. I can concluded that is really come from the kernel.

    Also, that is very instructif :
    https://thesorcerer.wordpress.com/2011/07/01/guide-intel-82573l-gigabit-ethernet-with-ubuntu-11-04-and-fix-pxe-e05/
    and then
    http://ubuntuforums.org/archive/index.php/t-1276211.html

    I can resume, the problem is related to the driver e1000 for the network cart, which is making a NVM check. That check make trouble on the eeprom. The second link explain how to rebuild kernel with the NVM check disable. So let's try that 😄

    Regards,



  • I may be a little before I can make this change. If you want to try yourself, here is documentation for compiling a kernel from my last project, should be mostly relevant for CloneDeploy.

    http://docs.cruciblewds.org/2.3.3/r1/kernel.html



  • Another thing you could try is the vmware kernel I made a while back.
    https://sourceforge.net/projects/cruciblewds/files/Kernels/VMware/

    I made that specifically for issues I was having with vmware with the e1000e nic. Not sure if it is related.



  • Hello,

    I tested 3.12.39-WDS but not working (no network in clondeploy "maybe not compatible + pxe-0e5)
    I'm currently building a kernel with a modification in the netdev.c from e1000e driver. (link explain on a link in my previous post)

    If it doesn't work, I'll try a custom kernel like you explain.

    Thanks for support!



  • Hello,

    I'm back on that. I tested other tools, but clonedeploy is the most close to my project.

    So I tried to build my own kernel, based on 4.6.2. I have 2 questions

    With the new kernel, the name of the default network interface is enp0s3 instead eth0. The result is that I have no network connection. Is it possible to change that somewhere ?

    The second one is that you mention you had troubles with vmware and the e1000e, can you explain a bit more, because it's exactly the same driver.

    Regards,



  • Hello,

    I'm glad to announce that is working now 😄

    I based my solution on the 3.18.35 linux kernel finally to be fully compatible with clonedeploy.

    About the driver error, here are the lines that I had to comment to make the network working at the reboot :

    linux-3.18.35/drivers/net/ethernet/intel/e1000e/netdev.c

    if ((adapter->flags & FLAG_IS_ICH) &&
    (adapter->flags & FLAG_READ_ONLY_NVM))
    e1000e_write_protect_nvm_ich8lan(&adapter->hw);

    /* if ((adapter->flags & FLAG_IS_ICH) && /
    /
    (adapter->flags & FLAG_READ_ONLY_NVM)) /
    /
    e1000e_write_protect_nvm_ich8lan(&adapter->hw); */

    Thanks for support 😄



  • Thanks for the info, I'll be sure to add that to my process when releasing future kernels.