Skip to content

ISO from DVD to local file

Linux Systems Guides
  • Make ISO from DVD

    In this case I had an OS install disk which was required to be on a virtual node with no optical drive, so I needed to transfer an image to the server to create a VM

    Find out which device the DVD is:



    sda               8:0    0 465.8G  0 disk 
    ├─sda1            8:1    0     1G  0 part /boot
    └─sda2            8:2    0 464.8G  0 part 
      ├─centos-root 253:0    0    50G  0 lvm  /
      ├─centos-swap 253:1    0  11.8G  0 lvm  [SWAP]
      └─centos-home 253:2    0   403G  0 lvm  /home
    sdb               8:16   1  14.5G  0 disk /mnt
    sr0              11:0    1   4.1G  0 rom  /run/media/rick/CCSA_X64FRE_EN-US_DV5

    Therefore /dev/sr0 is the location , or disk to be made into an ISO

    I prefer simplicity, and sometimes deal with the fallout after the fact, however Ive repeated this countless times with success.

    dd if=/dev/sr0 of=win10.iso

    Where if=Input file and of=output file

    I chill out and do something else while the image is being copied/created, and the final output:

    8555456+0 records in
    8555456+0 records out
    4380393472 bytes (4.4 GB) copied, 331.937 s, 13.2 MB/s


    • 0 Votes
      1 Posts
      No one has replied
    • 0 Votes
      2 Posts

      Alternatively or in addition to the above to install bhyve:

      pkg install vm-bhyve bhyve-firmware bhyve-rc-3 grub2-bhyve


      To ensure binaries built with this toolchain find appropriate versions of the necessary run-time libraries, you may want to link using


      For ports leveraging USE_GCC, USES=compiler, or USES=fortran this happens transparently.

      ===> NOTICE:

      This port is deprecated; you may wish to reconsider installing it:

      Unsupported by upstream. Use GCC 6 or newer instead… Message from vm-bhyve-1.1.8_1:

      To enable vm-bhyve, please add the following lines to /etc/rc.conf, depending on whether you are using ZFS storage or not. Please note that the directory or dataset specified should already exist.

      vm_enable="YES" vm_dir="zfs:pool/dataset"


      vm_enable="YES" vm_dir="/directory/path"

      Then run :

      vm init

      If upgrading from 1.0 or earlier, please note that the ‘guest’ configuration option is no longer used.

      Guests that are not using UEFI boot will need either loader=“grub” or loader=“bhyveload” in their configuration in order to make sure the correct loader is used.

      Message from bhyve-rc-3:

      Configuration is done completely though rc.conf. The rc script won’t touch any devices for you (neither disk, nor tap) so you need to make sure all of those have been initialized properly.

      General setup:

      kldload vmm

      Make it persistent:

      echo "" >> /etc/sysctl.conf cat >> /boot/loader.conf << EOF vmm_load="YES" EOF

      Minimal example:

      cat >> /etc/rc.conf << EOF cloned_interfaces="tap0 bridge0" bhyve_enable="YES" bhyve_diskdev="/dev/zvol/anything/bhyve/virt" EOF ifconfig tap0 create ifconfig bridge0 create service bhyve start tmux list-sessions tmux attach -t bhyve service bhyve status service bhyve stop

      Multi profile configuration example:

      cat >> /etc/rc.conf << EOF cloned_interfaces="tap0 tap1 bridge0" bhyve_enable="YES" bhyve_profiles="virt1 virt2" bhyve_virt1_diskdev="/dev/zvol/anything/bhyve/virt1" bhyve_virt2_tapdev="tap1" bhyve_virt2_diskdev="/dev/zvol/anything/bhyve/virt2" bhyve_virt2_memsize="8192" bhyve_virt2_ncpu="4" EOF ifconfig tap0 create ifconfig tap1 create ifconfig bridge0 create service bhyve start # start all service bhyve start virt2 # start individual tmux attach -t bhyve_virt1 tmux attach -t bhyve_virt1 service bhyve stop virt2 # stop individual service bhyve stop # stop all

      (by default ctrl-b d detaches from tmux).

    • 0 Votes
      1 Posts
      No one has replied
    • 0 Votes
      1 Posts
      No one has replied
    • 0 Votes
      1 Posts
      No one has replied
    • 1 Votes
      1 Posts
      No one has replied
    • 1 Votes
      1 Posts
      No one has replied
    • Download a file wget

      Moved Linux Systems Guides
      0 Votes
      1 Posts
      No one has replied
  • FYI for FreeBSD the driver only supports block size chunks, therefore:

    dd if=/dev/cd0 of=/name-the.iso bs=2048

FreeBSD Notes
  • rickR

    Screen recording can use webm as their format, it can be more simple to use a gif to embed into a website or forum, than adding scripts to host different video format.

    In this case I grabbed a screen record of the progress for writing zeros to a hard drive with dd

    Use ffmpeg to convert webm to gif:

    First create a pallet:

    Move into the directory which the webm is located, or type in the path

    Where ‘dd.webm’ is the screen recording

    ffmpeg -y -i dd.webm -vf palettegen palette.png



    Then convert the webm to gif:

    ffmpeg -y -i dd.webm -i palette.png -filter_complex paletteuse -r 10 dd.gif


    This is what I ended up with, looks like any image of any alien on the interwebz, as if shot through a potato, some tweaking of the command is in my future. None the less.


    read more

  • rickR

    Write zeros to all sectors

    Use the command ‘lsblk’ to find the drive you wish to erase

    I’m using ‘dd’ to erase things

    In this case I’m torching sdb

    Only use status=progress if you care it’s not necessary

    dd if=/dev/zero of=/dev/sdb bs=12M status=progress


    read more

  • rickR

    Remove old kernel images that are cluttering the system


    Most of these errors are due to low or not enough space left in the root partition.

    If you are using a Debian flavor:

    sudo apt-get autoremove --purge


    Inform grub whenever an old kernel is removed:

    update grub


    Remove the un-used kernel config files:

    These will be the files pre cursed as ‘rc’ where installed kernels use ‘ii’

    … As well as files no longer used or required due to dependencies

    This command will detect, print, and remove left over cruft from previously installed packages or scripts, that have been removed or updated.

    sudo dpkg --purge $(dpkg -l | awk '/^rc/{print $2}')


    You can re-run the following to view the installed kernel(s):

    dpkg --list | grep linux-image


    read more

  • rickR

    To list all files in current directory including dot files (hidden files or directories), as well as print permissions :

    ls -la
    read more

  • rickR
    Install Ruby on Debian

    Install rbenv

    sudo apt install rbenv

    Then initialize the environment:

    rbenv init


    nano ~/.bashrc

    Type or paste the output above, Ctrl +x to save


    source .bashrc

    Install ruby-build

    Install git:

    sudo apt install git


    mkdir -p "$(rbenv root)"/plugins

    Clone to local:

    git clone "$(rbenv root)"/plugins/ruby-build


    curl -fsSL | bash


    Now install Ruby:

    print ruby versions available

    rbenv install --list


    Install the latest version unless you have a reason otherwise:

    rbenv install 3.3.0

    On this system there was an error compiling at this point with fiddle, as well as psych: ruby-failed.png

    Therefore manually installing the following filled dependencies

    sudo apt install libtool sudo apt install libffi-dev


    rbenv global 3.3.0

    print installed ruby version

    ruby -v


    read more