Directly booting an ISO file: Difference between revisions

From Alpine Linux
(add expansion request)
 
(6 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Expand|See [[Talk:Directly_booting_an_ISO_file|Discuss]]}}


It is technically possible to boot an <code>.iso</code> file directly, without flashing it to a disk or device.
It is technically possible to boot an <code>.iso</code> file directly, without flashing it to a disk or device.
Line 4: Line 5:
== Using a virtual machine ==
== Using a virtual machine ==


The [[Qemu#Live_mode|Qemu]] page shows how an ISO image and .apkovl customizations are booted with a virtual machine.
The [[QEMU#Live_mode|QEMU]] page shows how an ISO image and .apkovl customizations are booted with a virtual machine. This works very well with Proxmox as well - just attach the ISO and Alpine boots to RAM on startup. You can customize your .iso file by building a custom ISO image by following the instructions on [[How to make a custom ISO image with mkimage]]


== Using an installed Bootloader ==
== Using an installed Bootloader ==
Line 12: Line 13:


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


=== Manual Grub menu entry ===
=== Manual Grub menu entry ===


No solution found yet.
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, under the heading '[http://www.alpinelinux.org/w/index.php?title=Replacing_non-Alpine_Linux_with_Alpine_remotely Install Alpine cd-rom image on hard disk]' where a somewhat related solution is provided, but it involves extracting the distro files from the iso, something that [http://unetbootin.sourceforge.net/ 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. [[User:Pnin|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 interface, 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 [http://www.pendrivelinux.com/boot-multiple-iso-from-usb-via-grub2-using-linux/ 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 menu entry examples in /boot/grub/grub.cfg and append any options normally found in the distribution's 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?
[[User:Pnin|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
[[User:Nangel|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 [http://www.pendrivelinux.com/boot-multiple-iso-from-usb-via-grub2-using-linux/ 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 [http://www.alpinelinux.org/wiki/Alpine_local_backup 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).]
[[User:Pnin|Pnin]] 14:34, 6 February 2011 (UTC)
----
Suppose alpine-extended-3.14.0-x86_64.iso is stored in directory boot in partition 1 on disk.
GRUB2 can be caused to load kernel and initramfs by entering:
grub> loopback lb /boot/alpine-extended-3.14.0-x86_64.iso
grub> linux  (lb)/boot/vmlinuz-lts
grub> initrd (lb)/boot/initramfs-lts
grub> boot
A menu entry for GRUB2 can be created with these statements.
Initialising Alpine will then be aborted with messages:
Mounting boot media: failed
initramfs emergency recovery shell launched. Type 'exit' to continue boot
To mount the filesystem where alpine-extended-3.14.0-x86_64.iso is stored, enter:
# mount /dev/sda1 /media/sda1
To mount the ISO image, enter:
# mount -o loop -t iso9660 /media/sda1/boot/alpine-extended-3.14.0-x86_64.iso /media/cdrom
Continue initialisation with:
# exit
At last these messages will be displayed:
/lib/rc/sh/openrc-run.sh: eval: line 1: syntax error: unexpected "("
* ERROR: firstboot failed to start
but login root works and Alpine can be configured using
# alpine-setup
[[User:HGT|HGT]] 2021-07-08
----


=== syslinux ===
=== syslinux ===

Latest revision as of 15:44, 20 September 2023

This material needs expanding ...

See Discuss

It is technically possible to boot an .iso file directly, without flashing it to a disk or device.

Using a virtual machine

The QEMU page shows how an ISO image and .apkovl customizations are booted with a virtual machine. This works very well with Proxmox as well - just attach the ISO and Alpine boots to RAM on startup. You can customize your .iso file by building a custom ISO image by following the instructions on How to make a custom ISO image with mkimage

Using an installed Bootloader

grub-imageboot

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

Manual Grub menu entry

No solution found yet.

syslinux

No solution found yet.