Directly booting an ISO file: Difference between revisions

From Alpine Linux
(added to Installation section category to able to list when users click at the installation pages!)
Line 87: Line 87:


No solution found yet.
No solution found yet.
[[Category:Installation]]

Revision as of 20:33, 12 July 2020

It is technically possible to directly boot an .iso file.

Using a virtual machine

The Qemu page shows how an ISO image and .apkovl customizations are booted with a virtual machine.

Using an already installed Bootloader

grub-imageboot

The Debian package grub-imageboot allows to booting .iso files placed in /boot/images/ directly, in addition to standard partitions or drives.


Manual Grub menu entry

No solution found yet.

I've given up. Couldn't make the intended setup work with my meager Linux knowledge. I did find a page here at the wiki where under the heading 'Install Alpine cd-rom image on hard disk' a somewhat related solution is provided, but it involves extracting the distro files from the iso, something that unetbootin does in a rather more easy and straightforward way -- at least, that's what I used to get Alpine to boot from a USB pendrive (plenty of recipes for that around). However, I still believe a simple 'boot from iso' procedure could do wonders for Alpine, so I'm leaving this here for future reference. Should anyone disagree, do feel free to delete. Pnin 05:43, 8 February 2011 (UTC)


Current system is a 2.8 Prescott Pentium IV with 2MB RAM, booting from a 1GB CF plugged into the IDE controller, with an attached 500GB SATA HDD for data. When I tried to install Alpine from the LiveCD to this card, which is listed as a hard drive by the BIOS, it complained of insufficient space. Fair enough. Next I tried to follow this recipe to boot from Alpine 2.1.4 iso; at the end you find this tip:

Adding an Unlisted ISO: To try ISO Files that are not yet listed, use the existing menuentry examples in /boot/grub/grub.cfg and append any options normally found in the distributions syslinux.cfg file on the "append" line to the "linux" line of the menu entry.

So I downloaded the latest Alpine iso via wget and modified the relevant grub.cfg lines to:

linux (loop)/boot/grsec initrd=/boot/grsec.gz iso-scan/filename=/alpine214.iso alpine_dev=usbdisk:vfat modules=loop,cramfs,sd-mod,usb-storage quiet
initrd (loop)/boot/grsec.gz

All I got when I tried to boot this was the following error:

Alpine Init 2.1.2
/init: eval: line 1: syntax error: unexpected "("
kernel panic - not syncing: attempted to kill init!
Pid: 1, comm: init Not tainted 2.6.35.10-grsec #1-Alpine
[...]

I must say all went well with the Linux Mint 10.10 and the TinyCore isos, into which I'm able to boot with no issues. Anyone care to advise?

Pnin




Hi, that "linux (loop)/boot/...." thing looks funny to me.

According to: https://help.ubuntu.com/community/Grub2

Could you try:

set root=(loop0)
linux /boot/grsec initrd=/boot/grsec.gz iso-scan/filename=/alpine214.iso alpine_dev=usbdisk:vfat modules=loop,cramfs,sd-mod,usb-storage quiet
initrd /boot/grsec.gz

Nangel 13:49, 6 February 2011 (UTC)




Hi & thanks, Nangel.

Tried that and got this error:

error: no such disk.
error: you need to load the kernel first.
press any key to continue...

Pressing any key returns to the grub menu. Maybe the full grub.cfg entry should be reported here:

menuentry "Alpine Linux" {
loopback loop /alpine214.iso
linux (loop)/boot/grsec initrd=/boot/grsec.gz iso-scan/filename=/alpine214.iso alpine_dev=usbdisk:vfat modules=loop,cramfs,sd-mod,usb-storage quiet
initrd (loop)/boot/grsec.gz
}

It should also be noted that the LiveCD used to perform the recipe was "Linux Mint 9 LXDE", which caused Grub 1.98-1ubuntu5-1mint2 to be installed, not Grub2. And that (loop) part is present in every other successful menu entry.

[EDIT: Just to add that IMHO coupled with the Alpine Local Backup Utility (lbu), booting from iso would be a killer feature for Alpine, making systems really easy to troubleshoot (delete local backup) and upgrade (replace iso).]

Pnin 14:34, 6 February 2011 (UTC)

syslinux

No solution found yet.