Issues with making EasyOS run (in a virtual machine)

Hi @Rosika ,
If you go to /etc/grub.d you will find the following

nevj@mary:/etc/grub.d$ ls
00_header        10_linux      30_os-prober      40_custom  orig.40_custom
05_debian_theme  20_linux_xen  30_uefi-firmware  41_custom  README

The only file you shoud touch in there is 40_custom. The other files grub commands which automatically find OS’s on your disk(s) and setup grub boot commands for them .

THe default 40_custom file looks like this

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

You can add things after these lines to define a custom grub menu entry

Here is one that I did to boot the boot directly from the void distribution .iso file on HD

type or paste code here#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
menuentry "Void ISO" {
        set isoname="void-live-x86_64-20210930.iso"
	set isofile="/home/nevj/Downloads/void-live-x86_64-20210930.iso"
	echo "Using ${isoname}..."
	loopback loop $isofile
        probe --label --set=cd_label (loop)
        bootoptions="iso-scan/filename=$isofile findiso=$isofile root=live:CDLABEL=$cd_label init=/sbin/init ro rd.luks=0 rd.md=0 rd.dm=0 loglevel=4 vconsole.unicode=1 vconsole.keymap=us locale.LANG=en_US.UTF-8"
	linux (loop)/boot/vmlinuz $bootoptions
	initrd (loop)/boot/initrd
}

What it is doing is using griub commands that you would normally type at the grub> prompt to tell grub to loopmount the file void-live-x86_64-20210930.iso, then setting bootoptions appropriate for Void, then telling it where to find vmlinuz and initrd.
If you did all that at the grub> command prompt you would then say grub> boot but in a 40_custom file you are defining a grub menu entry so you leave out the boot, that happens when you click on the grub menu entry.
After you have defined a 40_custom file, you just do update-grub it makes a new grub.cfg file in `/boot/grub’. Then when you boot you get a grub menu containing the newly defined custom entry.

Now, the problem with all this is is that what I have in that example will only work for Void .iso files. Here are 4-)custom entries for some other linux varieties

menuentry "Ubuntu 10.10 Desktop ISO" {
 loopback loop /ubuntu.iso
 linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/ubuntu.iso noeject noprompt splash --
 initrd (loop)/casper/initrd.lz
}

menuentry "Linux Mint 10 Gnome ISO" {
 loopback loop /linuxmint10.iso
 linux (loop)/casper/vmlinuz file=/cdrom/preseed/mint.seed boot=casper initrd=/casper/initrd.lz iso-scan/filename=/linuxmint10.iso noeject noprompt splash --
 initrd (loop)/casper/initrd.lz
}

menuentry "Tinycore ISO" {
 loopback loop /tinycore.iso
 linux (loop)/boot/bzImage --
 initrd (loop)/boot/tinycore.gz
}

menuentry "Memtest 86+" {
 linux16 /memtest86+.bin
}

menuentry "SystemRescueCd" {
 loopback loop /systemrescuecd.iso
 linux (loop)/isolinux/rescuecd isoloop=/systemrescuecd.iso setkmap=us docache dostartx
 initrd (loop)/isolinux/initram.igz
}

I got those from the internet, I have never tested them.

So, if you wanted to do this with EasyOS, you would need to get in touch with the maintainers and ask if anyone had defined a 40_custom entry to boot EasyOS from its .img file. It should be possible, but you need the knowledge. Make sure you get 40_custom entry for grub2… a legacy grub entry will not work with grub2

Regards
Neville

2 Likes

Nothing better than that. :+1:

Actually I am a bit wary. Lots of stuff on websites is out of date . They never seem to take down old material. It is not always clear how old material is.

1 Like

That’s why my expression was meant to be ironic. :smile:

2 Likes

OK I get it now. I am really slow on such things. Cant understand or use emoji.

1 Like

Hi all, :wave:

@nevj:

Thank you so much for your very detailed description of how to mofify the 40_custom file in order to make the system boot from an iso. :heart:

In actual fact I once considered such a scenario for putting clonezilla live as an iso on my system and integrating it into grub2.

But that was a very long time ago. I refrained from doing so and indeed I wouldn´t have any knowledge left on how to accomplish such a feat.
So your tutorial is highly welcome. :+1:

I took a look at 40_custom yesterday and indeed mine looks just like yours. So that´s the default entry there, I guess.

Thanks for your example using void.

I see.

I can confirm that EasyOS has a different structure in that respect. E.g. there´s no “casper” folder in Easy´s img-file.

Yes, that would certainly be wise. Thanks for the suggestion.

Looking around a bit myself I found a source (software recommendation - How to boot from an .iso file in GRUB2? - Ask Ubuntu ) mentioning grub-imageboot:

It may be much easier than the impression you get from all the detailed explanations on the web. I just did the following on Ubuntu 12.04 to boot FreeDOS .iso for a firmware update

• Install grub-imageboot
• copy your .iso file(s) to /boot/images/
• run update-grub2

Or copy/paste these:

sudo -s
apt-get install grub-imageboot
mkdir /boot/images/
cp $YOUR_ISO_FILE.iso /boot/images/

update-grub2

That’s it.

As the author was referring to Ubuntu 12.04 - which seems to indicate a pretty old post - I looked it up on the command line myself:

env LANG=en_US.UTF-8 apt-cache show grub-imageboot
Package: grub-imageboot
Architecture: all
Version: 0.6
Priority: extra
Section: universe/admin
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Alexander Wirt <formorer@debian.org>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 42
Depends: grub-pc | grub-efi-amd64 | grub-efi-ia32, syslinux-common (>= 4)
Filename: pool/universe/g/grub-imageboot/grub-imageboot_0.6_all.deb
Size: 4424
MD5sum: bbdd510fad33fa6b017f0dee8f809668
SHA1: 2e02f313466460db4823fe31ad1e37a98a408a4c
SHA256: 1f79e8f749bf69d810055ab7bafcace0fb77b4ae99efa555b08c53cc6e0c93fd
Description-en: boot iso, harddisk and floppy images with grub2 and syslinux memdisk
 This package installs a grub hook which integrates iso, harddisk and floppy
 images into the grub menu.
 .
 memdisk can't boot every image see
 http://syslinux.zytor.com/wiki/index.php/MEMDISK for its limitations.
Description-md5: a4107cac8a31714bd0d52a3bfce48aa5

It´s still available it seems and it can be installed .
apt-get -s install grub-imageboot tells me so.
I haven´t tried it, so I can´t say whether this could be an alternative to manually modifying
40_custom:thinking:

But in the end I don´t know whether putting the EasyOS img file as a boot option in grub would work.
EasyOS behaves so much more differently that other OSes. :sleepy:

The only way I could get it to work until now was as I posted in post #33.
So I needed to install it on a USB-stick first. The img file couldn´t boot all by itself.

Well, thanks a lot, Neville for your work. I might need it for some other scenario. :wink:

Many greetings from Rosika :slightly_smiling_face:

2 Likes

Damn, so easy. :laughing:

1 Like

Yes I see the difficulties. I reread post #33 .
It depends how qemu does its booting. I dont know if it uses grub or some other method. Both VirtualBox and Gnome Boxes can boot from an iso on HD. I just dont know what qemu can do.

There are 2 sorts of .iso files…

  • normal… will only boot if written to a cd/dvd
  • hybrid … will boot if written to a cd/dvd or a usb drive
    Most Linux distro files are hybrid isos.
    EasyOS is not an iso at all, it is an img
    So I am not sure where it will boot from, but it is at least as good as a hybrid iso because it worked for you from a usb drive.

Did you try the link method with a loop mount? Qemu should not be able to distinguish that from a usb device. It should work the same.
Make the loop mount like this

Then just give qemu the device name… use a link if qemu is fussy about the device name

Lets keep the grub method up our sleeve. It might not work with VM anyway.

Regards
Neville

Install grub-imageboot
• copy your .iso file(s) to /boot/images/
• run update-grub2

I did not know about grub-imageboot.
Do you know if it is only in Ubuntu?

Off topic… Our new fixed wireless internet connection is working well.
We get up to 50mbps on downloads.
… Am nearly ready to show how to do a docker container
with waterfox… It was a long struggle finding dependencies

1 Like

Are you being ironic again?

Hi Neville, :wave:

Well, all I can say is: when I boot Debian in my vm either via virt-manager (method 1 providing a DE) or:

using the following commands (method 2: for running Debian headless):


LIBVIRT_DEFAULT_URI=qemu:///system virsh list --all
 Id   Name          State
------------------------------
 -    archlinux     shut off
 -    clonezilla    shut off
 -    debian10      shut off
 -    ubuntu18.04   shut off

just to take a look at what´s available, and then:

LIBVIRT_DEFAULT_URI=qemu:///system virsh start debian10

after that:

LIBVIRT_DEFAULT_URI=qemu:///system virsh domifaddr debian10

so see the correct ip-address and then:

firejail ssh rosika2@192.168.122.174

… I see that grub is made use of by installed Debian:

rosika2@debian ~> dpkg-query -l | grep grub
ii  grub-common                           2.06-3~deb10u1                          amd64        GRand Unified Bootloader (common files)
ii  grub-pc                               2.06-3~deb10u1                          amd64        GRand Unified Bootloader, version 2 (PC/BIOS version)
ii  grub-pc-bin                           2.06-3~deb10u1                          amd64        GRand Unified Bootloader, version 2 (PC/BIOS modules)
ii  grub2-common                          2.06-3~deb10u1                          amd64        GRand Unified Bootloader (common files for version 2)

:blush:

So I guess grub should be supported by qemu.

Well, qemu can do that too.

I can start e.g. a Lubuntu iso thus:

firejail kvm --cdrom /media/rosika/Windows8_OS/Users/rosalia/Desktop/neue_ISOs_und_anderes/für_lubuntu/lubuntu_20.04.1/lubuntu-20.04.1-desktop-amd64.iso -cpu host -m 2048 -boot d

… and I can start any other iso (not EasyOS img though) which I put on my ventoy stick and redirect that stick to Debian (via settings in virt-manager).

No, I didn´t. Thanks for the link. I´ll look into it.

Many greetings from Rosika :slightly_smiling_face:

P.S.:

I just fired up Debian and looked there.

rosika2@debian ~> env LANG=en_GB:en apt-get -s install grub-imageboot
NOTE: This is only a simulation!
      apt-get needs root privileges for real execution.
      Keep also in mind that locking is deactivated,
      so don't depend on the relevance to the real current situation!
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  syslinux-common
The following NEW packages will be installed:
  grub-imageboot syslinux-common
0 upgraded, 2 newly installed, 0 to remove and 4 not upgraded.
Inst syslinux-common (3:6.04~git20190206.bf6db5b4+dfsg1-1 Debian:10.13/oldstable [all])
Inst grub-imageboot (0.6 Debian:10.13/oldstable [all])
Conf syslinux-common (3:6.04~git20190206.bf6db5b4+dfsg1-1 Debian:10.13/oldstable [all])
Conf grub-imageboot (0.6 Debian:10.13/oldstable [all])

So it´s available for Debian as well. I don´t know about other OSes though. Sorry. :slightly_frowning_face:

That´s great :+1: .
Thanks for letting me know.
I know what it´s like to have to wait for internet-connection to be up and running again. :wink:

1 Like

Hi @Rosika
This is a better link on mounting .img files

You may need to use mount -t auto

And
Can you have a look in you Debian running inside VM and see what is in
/boot/grub/grub.cfg
That should tell us if qemu has done anything using grub.

Regards
Neville

1 Like

Hi Neville, :wave:

thanks for the new link.

First I want to tell you I installed grub-imageboot yesterday on Debian as I wanted to try it out.
Well, I´m pretty disappointed as it doesn´t seem to work the way it´s supposed to… at least not with me. :frowning_face:

I followed the steps

sudo -s
apt-get install grub-imageboot
mkdir /boot/images/
cp $YOUR_ISO_FILE.iso /boot/images/

update-grub2

taken from software recommendation - How to boot from an .iso file in GRUB2? - Ask Ubuntu .

Installation went well and so I put two iso files in /boot/images :

  • trisquel-mini_9.0_amd64.iso
  • rescatux.iso

Both appeared in the grub boot menu but neither of them would start. :angry:
I didn´t bother to even try it with EasyOS.
So the method provided by you in post #41 is certainly to be preferred.

I was astonished to see grub-imageboot failing because it´s even in the official ubuntu packages (Ubuntu – Package Search Results -- grub-imageboot ). So I would´ve considered it to be of higher quality…
Perhaps it didn´t set the boot parameters correctlly :question:

It´s quite a bundle:

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  set have_grubenv=true
  load_env
fi
if [ "${next_entry}" ] ; then
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   set boot_once=true
else
   set default="0"
fi

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}
function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_msdos
insmod ext2
search --no-floppy --fs-uuid --set=root 67f90c65-a50f-472d-bda7-1abeb5d01e52
    font="/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=de_DE
  insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ] ; then
  set timeout=30
else
  if [ x$feature_timeout_style = xy ] ; then
    set timeout_style=menu
    set timeout=5
  # Fallback normal timeout code in case the timeout_style feature is
  # unavailable.
  else
    set timeout=5
  fi
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
insmod part_msdos
insmod ext2
search --no-floppy --fs-uuid --set=root 67f90c65-a50f-472d-bda7-1abeb5d01e52
insmod png
if background_image /usr/share/desktop-base/futureprototype-theme/grub/grub-4x3.png; then
  set color_normal=white/black
  set color_highlight=black/white
else
  set menu_color_normal=cyan/blue
  set menu_color_highlight=white/blue
fi
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
	set gfxpayload="${1}"
}
set linux_gfx_mode=
export linux_gfx_mode
menuentry 'Debian GNU/Linux' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-67f90c65-a50f-472d-bda7-1abeb5d01e52' {
	load_video
	insmod gzio
	if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
	insmod part_msdos
	insmod ext2
	search --no-floppy --fs-uuid --set=root 67f90c65-a50f-472d-bda7-1abeb5d01e52
	echo	'Loading Linux 4.19.0-21-amd64 ...'
	linux	/boot/vmlinuz-4.19.0-21-amd64 root=UUID=67f90c65-a50f-472d-bda7-1abeb5d01e52 ro  quiet zswap.enabled=1
	echo	'Loading initial ramdisk ...'
	initrd	/boot/initrd.img-4.19.0-21-amd64
}
submenu 'Advanced options for Debian GNU/Linux' $menuentry_id_option 'gnulinux-advanced-67f90c65-a50f-472d-bda7-1abeb5d01e52' {
	menuentry 'Debian GNU/Linux, with Linux 4.19.0-21-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.19.0-21-amd64-advanced-67f90c65-a50f-472d-bda7-1abeb5d01e52' {
		load_video
		insmod gzio
		if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
		insmod part_msdos
		insmod ext2
		search --no-floppy --fs-uuid --set=root 67f90c65-a50f-472d-bda7-1abeb5d01e52
		echo	'Loading Linux 4.19.0-21-amd64 ...'
		linux	/boot/vmlinuz-4.19.0-21-amd64 root=UUID=67f90c65-a50f-472d-bda7-1abeb5d01e52 ro  quiet zswap.enabled=1
		echo	'Loading initial ramdisk ...'
		initrd	/boot/initrd.img-4.19.0-21-amd64
	}
	menuentry 'Debian GNU/Linux, with Linux 4.19.0-21-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.19.0-21-amd64-recovery-67f90c65-a50f-472d-bda7-1abeb5d01e52' {
		load_video
		insmod gzio
		if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
		insmod part_msdos
		insmod ext2
		search --no-floppy --fs-uuid --set=root 67f90c65-a50f-472d-bda7-1abeb5d01e52
		echo	'Loading Linux 4.19.0-21-amd64 ...'
		linux	/boot/vmlinuz-4.19.0-21-amd64 root=UUID=67f90c65-a50f-472d-bda7-1abeb5d01e52 ro single 
		echo	'Loading initial ramdisk ...'
		initrd	/boot/initrd.img-4.19.0-21-amd64
	}
	menuentry 'Debian GNU/Linux, with Linux 4.19.0-20-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.19.0-20-amd64-advanced-67f90c65-a50f-472d-bda7-1abeb5d01e52' {
		load_video
		insmod gzio
		if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
		insmod part_msdos
		insmod ext2
		search --no-floppy --fs-uuid --set=root 67f90c65-a50f-472d-bda7-1abeb5d01e52
		echo	'Loading Linux 4.19.0-20-amd64 ...'
		linux	/boot/vmlinuz-4.19.0-20-amd64 root=UUID=67f90c65-a50f-472d-bda7-1abeb5d01e52 ro  quiet zswap.enabled=1
		echo	'Loading initial ramdisk ...'
		initrd	/boot/initrd.img-4.19.0-20-amd64
	}
	menuentry 'Debian GNU/Linux, with Linux 4.19.0-20-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.19.0-20-amd64-recovery-67f90c65-a50f-472d-bda7-1abeb5d01e52' {
		load_video
		insmod gzio
		if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
		insmod part_msdos
		insmod ext2
		search --no-floppy --fs-uuid --set=root 67f90c65-a50f-472d-bda7-1abeb5d01e52
		echo	'Loading Linux 4.19.0-20-amd64 ...'
		linux	/boot/vmlinuz-4.19.0-20-amd64 root=UUID=67f90c65-a50f-472d-bda7-1abeb5d01e52 ro single 
		echo	'Loading initial ramdisk ...'
		initrd	/boot/initrd.img-4.19.0-20-amd64
	}
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###

### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/30_uefi-firmware ###
### END /etc/grub.d/30_uefi-firmware ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg
fi
### END /etc/grub.d/41_custom ###

### BEGIN /etc/grub.d/60_grub-imageboot ###
menuentry "Bootable ISO Image: rescatux" {
	insmod part_msdos
	insmod ext2
	search --no-floppy --fs-uuid --set=root 67f90c65-a50f-472d-bda7-1abeb5d01e52
	linux16 /boot/memdisk iso
	initrd16 /boot/images/rescatux.iso
}
menuentry "Bootable ISO Image: trisquel-mini_9.0_amd64" {
	insmod part_msdos
	insmod ext2
	search --no-floppy --fs-uuid --set=root 67f90c65-a50f-472d-bda7-1abeb5d01e52
	linux16 /boot/memdisk iso
	initrd16 /boot/images/trisquel-mini_9.0_amd64.iso
}
### END /etc/grub.d/60_grub-imageboot ###

O.K. Thanks.

But: Mounting the EasyOS img file I can do, and quite easily indeed.
thunar lets me do it with “open with disk image mounter” in the right-click-menu.

lsblk shows these entries then:

lsblk
NAME      MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0       7:0    0   825M  1 loop 
├─loop0p1 259:0    0     7M  1 part 
└─loop0p2 259:1    0   816M  1 part /media/rosika/easy2
sda         8:0    1  29,1G  0 disk /media/rosika/74C1-30C7
sdb         8:16   0 931,5G  0 disk 
├─sdb1      8:17   0  23,3G  0 part /
├─sdb2      8:18   0  35,6G  0 part /home
└─sdb3      8:19   0 195,3G  0 part /media/rosika/f14a27c2-0b49-4607-94ea-2e56bbf76fe1
sdc         8:32   0 465,8G  0 disk 
├─sdc1      8:33   0  1000M  0 part 
├─sdc2      8:34   0   260M  0 part 
├─sdc3      8:35   0   500M  0 part 
├─sdc4      8:36   0   128M  0 part 
├─sdc5      8:37   0 439,1G  0 part 
├─sdc6      8:38   0   450M  0 part 
└─sdc7      8:39   0  24,4G  0 part 
sdd         8:48   1  29,7G  0 disk 
└─sdd1      8:49   1  29,7G  0 part /media/rosika/28BC-DAFC
sdf         8:80   1   7,4G  0 disk 
└─sdf1      8:81   1   7,4G  0 part /media/rosika/A492-CD29
sr0        11:0    1  1024M  0 rom  
zram0     252:0    0     1G  0 disk [SWAP]

That however is on my host, not on Debian vm…

Thanks a lot and many greetings.
Rosika :slightly_smiling_face:

1 Like

Hi Rosika,
That means grub recognised those two linuxes, but it did not set up the right boot parameters for them.
You can see what it set up in that grub.cfg file that you listed for me…they are the last 2 menuentries.
The fault may not be grub-imagemounter, I think. Why dont you try something more conventional like a debian or lubuntu iso?

/boot/grub/grub.cfg

It´s quite a bundle:

There is a menuentry for your Debian. That must have been put there by qemu? Therefore qemu uses grub to boot linux inside your container. How it uses it is a mystery.


But: Mounting the EasyOS img file I can do, and quite easily indeed.
thunar lets me do it with “open with disk image mounter” in the right-click-menu.

lsblk shows these entries then:

lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT loop0 7:0 0 825M 1 loop ├─loop0p1 259:0 0 7M 1 part └─loop0p2 259:1 0 816M 1 part /media/rosika/easy2

Well if you can do that, and I can see it is a loop mount, all you need to do is to tell qemu to use /media/rosika/easy2 as an usb drive.
Because… /media/rosika/easy2 should be seen by the OS as a block device… the same as an usb. Yes, on your host.
Maybe I missed something?

Regards
Neville

1 Like

@Rosika
Not sure if you should use
/media/rosika/easy2
or
/dev/loop0
in qemu.
Those 2 part things are a mystery

Neville

1 Like

Hi Neville, :wave:

thanks again for your latest input. :heart:

Yes, that´s what I was thinking as well. Thanks for your confirmation.
So basically - if I knew the correct boot parameters - I could manually change them in
/etc/grub.d/60_grub-imageboot and then it should work. :thinking:

Right. Perhaps I was a bit hasty in my judgement of grub-imagemounter. Sorry. :frowning_face:

Yes, I have to look whether I may find something of the sort in my collection.

Hmm, I seems so I guess.

Yes, that´s good thinking, Neville. But how to achieve that seems to be tricky.
I´ll have to investigate further.

Thanks a lot and many greetings from Rosika :slightly_smiling_face:

P.S.:

Well, I´d be happy to try both of them but it seems not doable in virt-manager.
At least I fail to see how it can be done.
Perhaps I need the command-line…

1 Like

That is right… or you could edit grub.cfg file

Well, I´d be happy to try both of them but it seems not doable in virt-manager.
At least I fail to see how it can be done.

Can you not do it the same way as you did to specify the usb drive?
You must have given it a device name for that?

Sorry if I am being dumb… I dont know qemu

Neville

1 Like

Thanks Neville, :wave:

First:

(as far as grub-imagemounter is concerned):

Right. I tried that now. I got rid of my two experimetal entries from yesterday and put a LinuxMint iso on it. That shouldn´t be ragarded as too exotic.

But boot from it failed as well. Here´s a screenshot regarding the error-message:

kgw_grub-error_Debian

It seems what is missing is at least:

initrd (loop)/boot/initrd .

And shouldn´t there be something like

linux (loop)/boot/vmlinuz .

as well?

Secondly:

I seems not :frowning_face: .

In virt-manager´s settings I accomplished it with “add host usb device”. Here the stick was listed of course.
But not any host´s loop device.
Basically what needs to be done is make the loop device appear as a usb device. But I´ve no idea whether that could be done … :thinking:

You´re certainly not dumb, dear Neville. On the contrary.
If anyone may be called dumb it should be me. :wink:

Thanks so much, Neville.

Many greetings from Rosika :slightly_smiling_face:

1 Like


Getting EasyOS to run in VirtualBox may be impossible. I did use Belena/Etcher in W8.1 and a 64GB SanDisk to get EasyOS to run.
I find nothing easy with EasyOS, all I see is Puppy Linux on steroids!!!

Hi Daniel, :wave:

thanks for your comments.

Well, all I can say we´re trying to get it to run on qemu/kvm (virt-manager).
But it´s providing a virtual machine as well, that´s true.

Not entirely impossible though, as I was successful in installing EasyOS to a stick and redirecting that one to Debian vm.
This way EasyOS was running in a virtual machine but I want to eliminate the need of having to plug in a stick first. :blush:

Plus:

test distro_list . Ventoy indicates there was a time when it could be done:

virtualbox and qemu were test-beds and all was successful at the time…

Many greetings
Rosika :slightly_smiling_face:

Maybe at the time EasyOS was available as an .iso. If the author of EasyOS wants to use the .img format, then so be it, but quite frankly, puppy linux would do the same.

1 Like