Hello,
I am trying to install Proxmox VE from an external USB hard drive or SSD. Yet I receive an error at the beginning of the boot process that no cdrom is found - after testing for cdrom every 5 seconds.
I burned the image using Etcher, ImgUSB with no luck. However it works if I used a USB flash stick.
Is it possible to install from External USB drive?
Thank you
Update:
Well.. it seems that it's a bigger thing than I thought.
Here is the thing:
- External USB drives like WD Passport/Elements are not the same as generic USB3 drives enclosures. WD or similar external drives uses kernel module "usb_storage", however USB drive enclosures uses kernel module "uas"
- In Proxmox VE installer usb_storage is loaded automatically. However uas isn't loaded from the first time.
After booting from a USB drive in an enclousre the boot drops to shell. The output of "fdisk -l" doesn't show the boot drive.
Loading uas module "modprobe uas" then listing drives again "fdisk -l", the drive in the USB enclousre shows up.
Now, restart again.. At the shell and without loading uas manually, running ./init again will load the uas module.
- While troubleshooting I had to examine the init script in the initrd.img of the PVE installer. Here are my findings:
- Burning the ISO image using DD mode will make the drive read only. While doing it using ISO mode (Rufus or UNetbootin) you can modify the drive contents (adjust the init script or repack initrd.img)
- Busybox shell in the installer image includes fdisk, blkid and vi
I am trying to install Proxmox VE from an external USB hard drive or SSD. Yet I receive an error at the beginning of the boot process that no cdrom is found - after testing for cdrom every 5 seconds.
I burned the image using Etcher, ImgUSB with no luck. However it works if I used a USB flash stick.
Is it possible to install from External USB drive?
Thank you
Update:
Well.. it seems that it's a bigger thing than I thought.
Here is the thing:
- External USB drives like WD Passport/Elements are not the same as generic USB3 drives enclosures. WD or similar external drives uses kernel module "usb_storage", however USB drive enclosures uses kernel module "uas"
- In Proxmox VE installer usb_storage is loaded automatically. However uas isn't loaded from the first time.
After booting from a USB drive in an enclousre the boot drops to shell. The output of "fdisk -l" doesn't show the boot drive.
Loading uas module "modprobe uas" then listing drives again "fdisk -l", the drive in the USB enclousre shows up.
Now, restart again.. At the shell and without loading uas manually, running ./init again will load the uas module.
- While troubleshooting I had to examine the init script in the initrd.img of the PVE installer. Here are my findings:
- Neither types of external USB drives will boot the installer directly because:
After boot failure, run fdisk -l and blkid to identify which partition is the correct boot drive. Press CTRL-D to reset and then in GRUB edit the linux line to add root=/dev/sdX (in case you created the boot drive using DD mode) or root=/dev/sdXN (in case you created the boot drive using ISO mode)
- Adding the ISO file inside the initrd.img will make PVE installer boot right away (the ISO file should be /proxmox.iso)
1- The init script searches for removable drives only
2- The init script tests the found removable drives against iso9660 mount type
- Kernel boot args accepts root= parameter which defines the "root" path to the PVE installer2- The init script tests the found removable drives against iso9660 mount type
After boot failure, run fdisk -l and blkid to identify which partition is the correct boot drive. Press CTRL-D to reset and then in GRUB edit the linux line to add root=/dev/sdX (in case you created the boot drive using DD mode) or root=/dev/sdXN (in case you created the boot drive using ISO mode)
- Adding the ISO file inside the initrd.img will make PVE installer boot right away (the ISO file should be /proxmox.iso)
- Burning the ISO image using DD mode will make the drive read only. While doing it using ISO mode (Rufus or UNetbootin) you can modify the drive contents (adjust the init script or repack initrd.img)
- Busybox shell in the installer image includes fdisk, blkid and vi
Last edited: