2

I want to create a VirtualBox VM for Fedora to run on an Ubuntu system.

I am trying to debug a TLS problem with connectivity to an API server I need to connect to. This connectivity is made through a Python-2.7 library that calls the requests library. This connectivity has failed on two different versions of Ubuntu. I want to see if it would work on Fedora - on the other hand, this test wouldn't prove anything if the guest Fedora VM is relying on the host's ssl code. I just don't know. Am I wasting my time on this?

Be that at may, I can't even get a bootable USB drive for Fedora. I downloaded Fedora-Workstation-Live-x86_64-28-1.1.iso and then burnt it to the USB stick (after formatting) with the command

sudo dd if=~/Downloads/Fedora-Workstation-Live-x86_64-28-1.1.iso of=/dev/sdb1

This supposedly succeeded, but when I tried to build a VM booting from this, the screen started to show but soon developed into graphical mush. I also tried to boot from the USB stick. I restarted the computer, pressed F12, chose the USB stick. The computer spun for a few seconds, then gave up and returned me to the choose boot device screen.

So two questions:

  1. Will a python app using requests library use the Fedora guest's networking code or the Ubuntu host's?
  2. Why won't Fedora boot off the USB stick?

Update: Issue 2 is answered. The dd command was wrong. Still not sure about Issue 1. I am going to open another issue about the installation into the virtual machine.

  • Did you ensure that dd command actually wrote all of the image before working with the USB stick? dd writes to USB sticks very fast and returns, but the actual physical writing is not finished. I install Fedora from so burned images all the time, as long as you wait long enough for all data to be written, it works. – ajeh May 8 '18 at 20:42
  • 2
    Is there a specific reason why you are making a bootable USB stick when you can just add a CD-ROM to the virtual machine, mount the .iso file to it, and boot from there? – ErikF May 8 '18 at 20:47
  • In 2018 suggesting a CD over a USB is kind of weird. Performance? Re-usability? Size? Logistics of carrying around? – ajeh May 8 '18 at 20:51
  • no, @ErikF has a good idea. He's talking about a VIRTUAL CD-ROM, I think. – Steve Cohen May 8 '18 at 20:55
  • Of course, it worked, @ErikF – Steve Cohen May 8 '18 at 21:01
3

dd falls a victim to caching of writes and you end up with partially written image on the USB stick.

Use oflag=direct and call sync after dd:

dd if=yourimage of=yourUSBdevice bs=16M oflag=direct; sync

Also good idea to use below command for all USB flash drives

hdparm -W 0 /yourUSBdevice

but I don't know how to apply that to modern Linux's FUSE based auto-mounting to /run/media as I never bothered to find out.

  • 4
    Nobody vandalized your answer. Quit rolling back useful edits. – Michael Hampton May 8 '18 at 21:37
  • 4
    Making the English easier to understand adds a lot of value. Let go. – Michael Hampton May 8 '18 at 21:42
  • 3
    @ajeh The truth is your English as shown here is awful and that is being nice! Weirdly, in some of your previous contributions that I just skimmed the grammar isn't that bad. I don't know what happened here but I improved it and I hope you don't roll it back this time. – user252181 May 8 '18 at 22:09
2

Obvious error is 'sdb1'. '1' here means partition number 1. You need to write into 'disk' not 'partition'. Use 'sdb' (without '1').

sudo dd if=~/Downloads/Fedora-Workstation-Live-x86_64-28-1.1.iso of=/dev/sdb

Use sync command to make sure everything is actually written into USB.

Not every .iso supports booting from USB so even properly written it may fail to boot.

  • Fedora's ISO is crafted to boot properly even if started as a normal disk image. – Ignacio Vazquez-Abrams May 8 '18 at 22:52
0

Regarding the first question that you posed, any program running in a virtual machine will use the kernel and libraries in the guest, not the host (which makes sense: a Windows guest wouldn't be able to directly call libraries on a Linux host, or vice versa.) As long as your Fedora VM has essentially the same configuration of Python as your Ubuntu machines, you should be able to do a valid comparison between them.

(The only nit-picky exception to that is the interface that VirtualBox supplies to the guest: for example, the guest's network adapter is being implemented as a series of network calls on the host. However, unless there's a bug in VirtualBox or your host it shouldn't affect your tests.)

I would recommend posting a separate question on Stack Overflow with the non-functioning code though: being forced to run a program on a specific version/distribution is not fun and is extremely fragile.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.