Here's the deal: I've got a bunch of Surface 3 Pro which I'd like to image over PXE. These only and exclusively work with special USB-network adapters from Microsoft (thankfully that seems to have changed with the newer Surfaces but for now I'm stuck with these) - at least if I want PXE boot. For normal networking everything else works.
I already tried the various included kernels - the Debian ones obviously don't work due to the missing firmwares, the Ubuntu-based ones had a similar problem for some reason. Those usually hung after the "waiting for NIC to get a link" (or whatever the message was).
But since I used Ubuntu 18.04 LTS to install Clonezilla SE and that one demonstrated that it could work with this network adapter, I switched the boot image over to the 18.04 kernel with drblsrv-offline -s 'uname -r'
That one works. But usually only after at least one reboot, here's what I'm seeing:
The Surface boots over PXE
I get the boot menu and choose, say, "Clonezilla multicast restore foo to sda"
Two images are downloaded and begin the boot process
I see about five lines of text, the last one saying: mounting /proc filesystem and that's it.
I then reboot the device, go through it all again and then the NIC gets linked and everything proceeds as it should. Or not. Sometimes I have to reboot twice or thrice.
Last edit: Johannes Hass 2018-11-20
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I see. No one has any ideas. Well, I can at least offer another few clues - however, let me first state that I absolutely love it when software just hangs - no error messages, no proper timeouts, just nothing.
So, here's the thing: When I first configured the whole thing I chose the SSI mode - the server I'm using is a bit underpowered and thus I deemed "less server stress" a good idea.
Because I had some spare time I just setup the system anew from scratch and this time I chose "Full DRBL mode" (i.e. Option 0) and then "Full Clonezilla Mode" (again Option 0).
The result: The system never hung after mounting /proc filesystem instead linking over the USB ethernet adapter immediately.
There was a snag, however:
The script then crashed out because /home/partimag is read-only which is obviously a bit of a problem when you're trying to save an image to it. Due to the (once again) lack of proper error messages I couldn't find out why in the hell it would think that directory was read-only.
However, when I then configured the server to use SSI again (i.e. both times Option 1 in the config tool) it would again often hang but at least boot up after repeated reboots and then properly mount /home/partimag with random r/w access at least.
By the way: Yes, SSI option will at least sometimes boot properly but I tried to use it this way yesterday and it was a pain. I tried it with just 4 devices and it took me 10(ten!) minutes with repeated reboots of hung devices to get the ball rolling.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
And just before anyone asks: If try to use the Ubuntu-based ClonezillaLive kernels (tried both: Stable and testing) then it will hang at: waiting for ethernet card(s) up...
Are you guys really sure that you included the 3rd party firmwares in those kernel images? Because it doesn't look to me like you did...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I Ran into the same issue.
I want to PXE-boot Clonezilla using RTL8152 and RTL8153 USB NICs (r8152 driver), both aren't supported by the initrd in 20190108-cosmic.
While researching this issue I found a similar report from an Ubuntu user about it not being included in the initrd.
Last edit: Siet 2019-03-03
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I extracted initrd.img and verified that the directory .../lib/modules/4.18.0-13-generic/kernel/drivers/net/usb is indeed missing.
So Clonezilla doesn't support PXE-booting from any USB network adapters at all. (iPXE does by the way if you compile it with the USB drivers: make bin/ncm--ecm--acm--axge--ipxe.lkrn)
I solved the problem like this:
- Get current Clonezilla zip, extract it.
- Extract the contents of filesystem.squashfs like this up to step 3.
- Get your driver from there, for me it was .../lib/modules/4.18.0-13-generic/kernel/drivers/net/usb/r8152.ko. You could also compile a module one in Clonezilla Live.
- Extract the contents of initrd.img like this.
- Add the driver in the same location in the .../lib/modules/... directory tree.
- Run depmod -b `pwd` 4.18.0-13-generic (replacing the kernel version if necessary) in the root directory of the initrd, so the kernel will know about the new module.
- Rebuild the initrd like exlained here.
- Replace the old initrd.img on your TFTP-Server with the new one.
Another solution that works is starting an Ubuntu VM using the same release Clonezilla-alternative is based on and compiling a kernel (documentation) with the r8152 driver linked in statically, replacing the Clonezilla kernel with that afterwards. But the initrd method is easier to script, seeing that I will probably have to do this on every release because it's an upstream issue.
Last edit: Siet 2019-03-09
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I have a problem like this. I work with clonezilla normally with notebooks but an All-in-one arrived and this still hang on "Mounting /proc filesystems", after the boot menu,
I'm a noob on this platform so, what I should check?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I concur!!! Please include the net\usb drivers in the next release of DRBL. We've got tons of Surface Pro units that need to be imaged. Clonezilla stand alone boot disk does work the USB adapter. However, we would much rather have PXE boot capability for these units, instead of working with USB disks and USB hubs.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
@Steven Shiau,
I am providing imaged surface pro 5's and am attempting to utilize clonezilla for cloning of a Wim file. I am using the latest amd64 bit stable version of clonezilla live.
The surface can initiate PXE boot and can boot via usb. if I try to multicast PXE boot to a surface, it initiates the program but ends up with error no route to host. If I do a remote to destination clone, the destination steps cannot configure DHCP, and cannot be statically configured as it will also receive no route to host. If I attempt to statically configure the destination clone, it is smart enough to specify the source drive, but then say there is no route to host. I only have this problem with surface's and no other machines. Would anyone have any solutions or tips for me to try? I was told the problem with USB NIC's was resolved in the latest clonezilla update.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
So you meant you started Clonezilla lite service in the server, however, the surface pro client was not able to connect to the host due to no route? If so, please take some photos in the client, from the beginning to the end when the error occurs. It's easier for us to know where it stops and how. Thanks.
Steven
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I have attempted multiple ways to image the machine from the network. This attachment shows the error received utilizing the source and destination method, instead of the clonezilla lite service. The surface cannot configure or recognize the pre-existing DHCP, and so I use static IP. Going through the prompts, it is able to recognize and detail the source machines hard drive. When I initiate the image transfer, I get the no route to host error.
In trying to replicate the issue I had with clonezilla lite service in the server I had yesterday, now the surface refuses to boot via PXE. I apologize for not having images for that method. My saving grace (for the moment) is that I am able to image the surface pro via WIM file locally; by passing my network problem.
Here's the deal: I've got a bunch of Surface 3 Pro which I'd like to image over PXE. These only and exclusively work with special USB-network adapters from Microsoft (thankfully that seems to have changed with the newer Surfaces but for now I'm stuck with these) - at least if I want PXE boot. For normal networking everything else works.
I already tried the various included kernels - the Debian ones obviously don't work due to the missing firmwares, the Ubuntu-based ones had a similar problem for some reason. Those usually hung after the "waiting for NIC to get a link" (or whatever the message was).
But since I used Ubuntu 18.04 LTS to install Clonezilla SE and that one demonstrated that it could work with this network adapter, I switched the boot image over to the 18.04 kernel with
drblsrv-offline -s 'uname -r'That one works. But usually only after at least one reboot, here's what I'm seeing:
mounting /proc filesystemand that's it.Last edit: Johannes Hass 2018-11-20
I see. No one has any ideas. Well, I can at least offer another few clues - however, let me first state that I absolutely love it when software just hangs - no error messages, no proper timeouts, just nothing.
So, here's the thing: When I first configured the whole thing I chose the SSI mode - the server I'm using is a bit underpowered and thus I deemed "less server stress" a good idea.
Because I had some spare time I just setup the system anew from scratch and this time I chose "Full DRBL mode" (i.e. Option 0) and then "Full Clonezilla Mode" (again Option 0).
The result: The system never hung after
mounting /proc filesysteminstead linking over the USB ethernet adapter immediately.There was a snag, however:
The script then crashed out because
/home/partimag is read-onlywhich is obviously a bit of a problem when you're trying to save an image to it. Due to the (once again) lack of proper error messages I couldn't find out why in the hell it would think that directory was read-only.However, when I then configured the server to use SSI again (i.e. both times Option 1 in the config tool) it would again often hang but at least boot up after repeated reboots and then properly mount /home/partimag with random r/w access at least.
By the way: Yes, SSI option will at least sometimes boot properly but I tried to use it this way yesterday and it was a pain. I tried it with just 4 devices and it took me 10(ten!) minutes with repeated reboots of hung devices to get the ball rolling.
And just before anyone asks: If try to use the Ubuntu-based ClonezillaLive kernels (tried both: Stable and testing) then it will hang at:
waiting for ethernet card(s) up...Are you guys really sure that you included the 3rd party firmwares in those kernel images? Because it doesn't look to me like you did...
So this issue is reproducible in Clonezilla live 20181128-disco amd64 version?
https://clonezilla.org/downloads.php
Steven
Nope, still hangs on "waiting for ethernet card(s) up..."
The USB adapter I'm having here is based on a Realtek 8152 chipset, by the way.
I did try to compile my own kernel with that driver baked in (instead of as a module) but your tool doesn't exactly make it easy to swap kernels...
Last edit: Johannes Hass 2018-12-05
So I guess I'm SOL then or what?
Could you at least give me some pointers on how to see why exactly it hangs at that point? After all, the RTL8152 isn't that exotic...
No idea actually. However, did you try to press CTRL-C to interrupt that, then try to diagnose or manually configure the nework?
Steven
I Ran into the same issue.
I want to PXE-boot Clonezilla using RTL8152 and RTL8153 USB NICs (r8152 driver), both aren't supported by the initrd in 20190108-cosmic.
While researching this issue I found a similar report from an Ubuntu user about it not being included in the initrd.
Last edit: Siet 2019-03-03
I extracted
initrd.imgand verified that the directory.../lib/modules/4.18.0-13-generic/kernel/drivers/net/usbis indeed missing.So Clonezilla doesn't support PXE-booting from any USB network adapters at all. (iPXE does by the way if you compile it with the USB drivers:
make bin/ncm--ecm--acm--axge--ipxe.lkrn)I solved the problem like this:
- Get current Clonezilla zip, extract it.
- Extract the contents of
filesystem.squashfslike this up to step 3.- Get your driver from there, for me it was
.../lib/modules/4.18.0-13-generic/kernel/drivers/net/usb/r8152.ko. You could also compile a module one in Clonezilla Live.- Extract the contents of
initrd.imglike this.- Add the driver in the same location in the
.../lib/modules/...directory tree.- Run
depmod -b `pwd` 4.18.0-13-generic(replacing the kernel version if necessary) in the root directory of the initrd, so the kernel will know about the new module.- Rebuild the initrd like exlained here.
- Replace the old initrd.img on your TFTP-Server with the new one.
Another solution that works is starting an Ubuntu VM using the same release Clonezilla-alternative is based on and compiling a kernel (documentation) with the r8152 driver linked in statically, replacing the Clonezilla kernel with that afterwards. But the initrd method is easier to script, seeing that I will probably have to do this on every release because it's an upstream issue.
Last edit: Siet 2019-03-09
Hi,
I have a problem like this. I work with clonezilla normally with notebooks but an All-in-one arrived and this still hang on "Mounting /proc filesystems", after the boot menu,
I'm a noob on this platform so, what I should check?
@Siet,
Thanks for sharing this.
@All,
We will add USB NIC modules in the initramfs in the future version. Please check Clonezilla live >= 2.6.1-20 when it's available recently.
Steven
I can confirm network booting from USB adapters works with 20190420-disco.
Thanks!
@Siet,
Thanks for your confirmation. Cool!
Steven
I concur!!! Please include the net\usb drivers in the next release of DRBL. We've got tons of Surface Pro units that need to be imaged. Clonezilla stand alone boot disk does work the USB adapter. However, we would much rather have PXE boot capability for these units, instead of working with USB disks and USB hubs.
@Greg,
Have you tried the Clonezilla lite server?
https://clonezilla.org/show-live-doc-content.php?topic=clonezilla-live/doc/11_lite_server
It should cover most of the use cases, and every version of Clonezilla live now provides the lite server...
Steven
@Steven Shiau,
I am providing imaged surface pro 5's and am attempting to utilize clonezilla for cloning of a Wim file. I am using the latest amd64 bit stable version of clonezilla live.
The surface can initiate PXE boot and can boot via usb. if I try to multicast PXE boot to a surface, it initiates the program but ends up with error no route to host. If I do a remote to destination clone, the destination steps cannot configure DHCP, and cannot be statically configured as it will also receive no route to host. If I attempt to statically configure the destination clone, it is smart enough to specify the source drive, but then say there is no route to host. I only have this problem with surface's and no other machines. Would anyone have any solutions or tips for me to try? I was told the problem with USB NIC's was resolved in the latest clonezilla update.
So you meant you started Clonezilla lite service in the server, however, the surface pro client was not able to connect to the host due to no route? If so, please take some photos in the client, from the beginning to the end when the error occurs. It's easier for us to know where it stops and how. Thanks.
Steven
I have attempted multiple ways to image the machine from the network. This attachment shows the error received utilizing the source and destination method, instead of the clonezilla lite service. The surface cannot configure or recognize the pre-existing DHCP, and so I use static IP. Going through the prompts, it is able to recognize and detail the source machines hard drive. When I initiate the image transfer, I get the no route to host error.
In trying to replicate the issue I had with clonezilla lite service in the server I had yesterday, now the surface refuses to boot via PXE. I apologize for not having images for that method. My saving grace (for the moment) is that I am able to image the surface pro via WIM file locally; by passing my network problem.
"The surface cannot configure or recognize the pre-existing DHCP" -> Have you tried something like:
sudo dhclient -v eth0
in the command line prompt?
Steven