Code: Select all
menuentry "Mint" {
set isofile="/boot/isos/LINUXMINT"
loopback loop $isofile
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile quiet splash noprompt --
initrd (loop)/casper/initrd.lz
}
Thanks
Code: Select all
menuentry "Mint" {
set isofile="/boot/isos/LINUXMINT"
loopback loop $isofile
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile quiet splash noprompt --
initrd (loop)/casper/initrd.lz
}
Code: Select all
# This grub.cfg file was created by Lance http://www.pendrivelinux.com
# Suggested entries and the suggestor, if available, will also be noted.
set timeout=18
set default=0
menuentry "Linux Mint 13 Cinnamon ISO" {
loopback loop /linuxmint-13-cinnamon-dvd-32bit.iso
linux (loop)/casper/vmlinuz file=/cdrom/preseed/mint.seed boot=casper initrd=/casper/initrd.lz iso-scan/filename=/linuxmint-13-cinnamon-dvd-32bit.iso noeject noprompt splash --
initrd (loop)/casper/initrd.lz
}
menuentry "Linux Mint 13 Mate ISO" {
loopback loop /linuxmint-13-mate-dvd-32bit.iso
linux (loop)/casper/vmlinuz file=/cdrom/preseed/mint.seed boot=casper initrd=/casper/initrd.lz iso-scan/filename=/linuxmint-13-mate-dvd-32bit.iso noeject noprompt splash --
initrd (loop)/casper/initrd.lz
}
menuentry "Linux Mint 12 LXDE ISO" {
loopback loop /linuxmint-12-lxde-cd-32bit.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/linuxmint-12-lxde-cd-32bit.iso noeject noprompt splash --
initrd (loop)/casper/initrd.lz
}
Well, thanks for providing your tests, but after trying a bunch of variations of this I still get failure. Perhaps like you, I end up with BusyBox messages, but of a strange nature:caribriz wrote:Maybe you can try this and post back and tell us if it works for you.
Code: Select all
mount: mounting /dev/sda1 on /isodevice failed: no such device
Code: Select all
Could not find the ISO /boot/isos/linuxmint-13-cinnamon-dvd-32bit.iso
Code: Select all
BusyBox v1.18.5 (Ubuntu 1:1.18.5-1ubuntu4) built-in shell (ash)
Enter 'help' for a list of built-in commands.
(initramfs) Begin: Running /scripts/casper-premount ... done.
Begin: ...waiting for devs... ... done.
stdin: error 0
/sbin/mount.ntfs: line 1: ELF: not found
/sbin/mount.ntfs: line 2: : not found
/sbin/mount.ntfs: line3: syntax error: unexpected ")"
mount: mounting /dev/sda7 on /isodevice failed: No such device
Warning: Cannot mount /dev/sda7 on /isodevice
Could not find the ISO /linuxmint-13-cinnamon-dvd-32bit.iso
This could also happen if the file system is not clean because of an operating
system crash, an interrupted boot process, an improper shutdown, or unplugging
of a removable device without first unmounting or ejecting it. To fix this,
simply reboot into Windows, let it fully start, log in, run 'chkdisk /r', then
gracefully shut down and reboot back into Windows. After this you should be
able to reboot again and resume the installation.
Code: Select all
menuentry "Linux Mint 13 Cinnamon 64bit Live DVD" {
loopback loop /linuxmint-13-cinnamon-dvd-64bit.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/linuxmint-13-cinnamon-dvd-64bit.iso noeject noprompt --
initrd (loop)/casper/initrd.lz
}
menuentry "Linux Mint 13 MATE 64bit Live DVD" {
loopback loop /linuxmint-13-mate-dvd-64bit.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/linuxmint-13-mate-dvd-64bit.iso noeject noprompt --
initrd (loop)/casper/initrd.lz
}
menuentry "Linux Mint 9 LDXE Live CD" {
loopback loop /linuxmint-9-lxde-cd-i386.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/linuxmint-9-lxde-cd-i386.iso noeject noprompt --
initrd (loop)/casper/initrd.lz
}
menuentry "Linux Mint Debian XFCE linuxmint-201204-xfce-dvd-64bit.iso" {
loopback loop /boot/linuxmint-201204-xfce-dvd-64bit.iso
linux (loop)/casper/vmlinuz isofrom=/dev/sdb3/linuxmint-201204-xfce-dvd-64bit.iso boot=live live-media-path=/casper noeject nopromt --
initrd (loop)/casper/initrd.lz
}
menuentry "Linux Mint 13 MATE 64bit Live DVD [supergrubdisk wiki]" {
iso_path=/linuxmint-13-mate-dvd-64bit.iso
export iso_path
search --set --file $iso_path
loopback loop $iso_path
root=(loop)
configfile /boot/grub/loopback.cfg
loopback --delete loop
}
Code: Select all
menuentry "Linux Mint 13 Cinnamon 64bit Live DVD" {
loopback loop (hd1,3)/linuxmint-13-cinnamon-dvd-64bit.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/linuxmint-13-cinnamon-dvd-64bit.iso noeject noprompt --
initrd (loop)/casper/initrd.lz
}
menuentry "Linux Mint 13 MATE 64bit Live DVD" {
loopback loop (hd1,3)/linuxmint-13-mate-dvd-64bit.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/linuxmint-13-mate-dvd-64bit.iso noeject noprompt --
initrd (loop)/casper/initrd.lz
}
Code: Select all
loopback loop (hd1,3)/boot-isos/linuxmint-13-mate-dvd-64bit.iso
Code: Select all
isofrom=/dev/sdb3/linuxmint-201204-xfce-dvd-64bit.iso
Code: Select all
menuentry "Linux Mint Debian XFCE linuxmint-201204-xfce-dvd-64bit.iso" {
loopback loop /linuxmint-201204-xfce-dvd-64bit.iso
linux (loop)/casper/vmlinuz isofrom=/linuxmint-201204-xfce-dvd-64bit.iso boot=live live-media-path=/casper noeject nopromt --
initrd (loop)/casper/initrd.lz
}
Code: Select all
.........stdin: error 0
/sbin/mount.ntfs: line 1: ELF: not found
/sbin/mount.ntfs: line 2: : not foundset timeout=18
/sbin/mount.ntfs: line3: syntax error: unexpected ")"
mount: mounting /dev/sda7 on /isodevice failed: No such device
Warning: Cannot mount /dev/sda7 on /isodevice
Code: Select all
menuentry "Linux Mint 13 Cinnamon ISO" {
set isofile="/boot/iso/linuxmint-13-cinnamon-dvd-32bit.iso"
loopback loop (hd0,7)/$isofile
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject
initrd (loop)/casper/initrd.lz
}
menuentry "Linux Mint 13 Mate ISO" {
set isofile="/boot/iso/linuxmint-13-mate-dvd-32bit.iso"
loopback loop (hd0,7)/$isofile
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject
initrd (loop)/casper/initrd.lz
}
Code: Select all
set timeout=18
set default=0
menuentry "Linux Mint 13 Cinnamon ISO" {
loopback loop /linuxmint-13-cinnamon-dvd-32bit.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/linuxmint-13-cinnamon-dvd-32bit.iso noeject noprompt --
initrd (loop)/casper/initrd.lz
}
menuentry "Linux Mint 13 Mate ISO" {
loopback loop /linuxmint-13-mate-dvd-32bit.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/linuxmint-13-mate-dvd-32bit.iso noeject noprompt --
initrd (loop)/casper/initrd.lz
}
Sorry, I was wrong about my last LMDE USB flash entry. I had copied it from the HDD and modified it but lack of sleep and I thought I had fully tested it, but no. These 2 entries are tested and work 100% for sure for me;darethehair wrote:Thanks breaker for your comments and alternate suggestions to what I have already tried!
Unfortunately, no dice for me -- for the non-LMDE attempts I just made, I end up with those same strange 'busybox' messages. What strikes me as very odd is that I *think* this all happens well after Grub2 has done all of its own magic i.e. lots of healthy-looking bootup messages flash by, as if the system is starting up properly.
For my renewed LMDE experiments (basis your example) I end up with 'module not found unknown' repeating messages -- again after the bootup is well under way. Since you specifically mentioned your grub2 versions, I wonder if that has anything to do with it? BTW, you have an entry that says this:
Do you have a version starting the LMDE ISO without reference to a device? In fact, what *is* 'sdb3' for you?Code: Select all
isofrom=/dev/sdb3/linuxmint-201204-xfce-dvd-64bit.iso
Thanks
Code: Select all
menuentry "Linux Mint Debian XFCE linuxmint-201204-xfce-dvd-64bit.iso" {
loopback loop /linuxmint-201204-xfce-dvd-64bit.iso
root=(loop)
linux /casper/vmlinuz isofrom=/dev/disk/by-label/SanDisk/linuxmint-201204-xfce-dvd-64bit.iso boot=live live-media-path=/casper noeject nopromt --
initrd /casper/initrd.lz
}
menuentry "Linux Mint Debian XFCE linuxmint-201204-xfce-dvd-64bit.iso" {
loopback loop /linuxmint-201204-xfce-dvd-64bit.iso
linux (loop)/casper/vmlinuz isofrom=/dev/disk/by-uuid/D921-3C64/linuxmint-201204-xfce-dvd-64bit.iso boot=live live-media-path=/casper noeject nopromt --
initrd (loop)/casper/initrd.lz
}
Great job on getting it working! Hmm, sometimes you might have to add a line likecaribriz wrote:An update of my situation:
These now also work on the usb stick.
So, in my case, it appears that the single ntfs data partition on my otherwise ext4 formatted hard drive was *somehow* preventing the system being able
to boot from the isos on both the hard drive and the usb stick.
caribriz
Code: Select all
insmod ntfs
Weird that booting Mint 12 iso was ok with the ntfs partition there and that deleting that partition allowed the Mint 13 iso to boot up properly.breaker wrote:Strange things happen with this stuff!
Code: Select all
menuentry "Mint Debian Edition" {
set isofile="/boot/isos/lmde-201204-mate-cinnamon-dvd-32bit.iso"
loopback loop $isofile
linux (loop)/casper/vmlinuz fromiso=/dev/disk/by-label/darelinux/$isofile boot=live config live-media-path=/casper noeject --
initrd (loop)/casper/initrd.lz
}
Code: Select all
/sbin/mount.ntfs: line 1: ELF: not found
/sbin/mount.ntfs: line 2: : not found
/sbin/mount.ntfs: line3: syntax error: unexpected ")"
mount: mounting /dev/sda1 on /isodevice failed: No such device
Code: Select all
menuentry "Linux Mint 13 MATE 64bit Live DVD [supergrubdisk wiki method]" {
iso_path=/linuxmint-13-mate-dvd-64bit.iso
export iso_path
search --set --file $iso_path
loopback loop $iso_path
root=(loop)
configfile /boot/grub/loopback.cfg
loopback --delete loop
}
Ah! Makes sense -- I think that I have read similar comments in the past, but now you have confirmed that. Too bad there isn't some standardization going on between all the distros -- or at least a published list of working techniques for each onebreaker wrote:So, each distro has it's own "cheatcodes" you can pass to it at boot time. The main version of Linux Mint is based on Ubuntu, and their cheatcode is iso-scan, but the Debian based version uses cheatcodes for Debian. The two versions are quite different in other ways. Linux, variety, etc.
In other words, GRUB2 handles the loop part, but the Linux kernel you boot needs to be passed an argument telling it it is being booted in this fashion. Different distros do it differently, and some don't work at all.
Well, sadly, the same ultimate result i.e. the '/sbin/mount.ntfs' BusyBox error problem. Again, this might not be GRUB2's fault -- but something else in the whole chain of events -- which is affecting quite a few people and other distrosbreaker wrote:Have you tried this for the main LM version, with the iso in the root of you usb flash drive?Code: Select all
menuentry "Linux Mint 13 MATE 64bit Live DVD [supergrubdisk wiki method]" { iso_path=/linuxmint-13-mate-dvd-64bit.iso export iso_path search --set --file $iso_path loopback loop $iso_path root=(loop) configfile /boot/grub/loopback.cfg loopback --delete loop }
Code: Select all
menuentry "Linux Mint 13 MATE 64bit Live DVD" {
loopback loop /boot/isos/linuxmint-13-mate-dvd-64bit.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/boot/isos/linuxmint-13-mate-dvd-64bit.iso noeject noprompt --
initrd (loop)/casper/initrd.lz
}
Code: Select all
menuentry "Linux Mint 13 MATE 64bit Live DVD" {
loopback loop /linuxmint-13-mate-dvd-64bit.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/linuxmint-13-mate-dvd-64bit.iso noeject noprompt --
initrd (loop)/casper/initrd.lz
}
Code: Select all
menuentry "Linux Mint 13 MATE 64bit Live DVD" {
iso_path=/boot/isos/linuxmint-13-mate-dvd-64bit.iso
export iso_path
search --set --file $iso_path
loopback loop $iso_path
root=(loop)
linux /casper/vmlinuz boot=casper iso-scan/filename=$iso_path noeject noprompt --
initrd /casper/initrd.lz
}
Code: Select all
insmod linux
insmod loopback
insmod iso9660
insmod fat # If ISO is located on fat16 or fat32 formatted partition.
insmod ntfs # If ISO is located on an NTFS formatted partition.
insmod nftscomp # If NTFS compression is used on the partition. Load if you aren't sure.
The USB stick is formatted with fat32 -- and menu entries look like you have suggested (noting the 32bit vs 64bit difference). At this point, it would be nice if other people could verify that thebreaker wrote:Moreover, what is your current menuentry for LM13 (which edition is it?), and what is the path to your iso file, and what kind of formatting on the disk or flash drive?
Code: Select all
/sbin/mount.ntfs: line 1: ELF: not found
/sbin/mount.ntfs: line 2: €: not found
/sbin/mount.ntfs: line 3: syntax error: unexpected ")"
Code: Select all
+ tailpid=427
+ parse_cmdline
+ tail -f casper.log
+ cat /proc/cmdline
+ [ = ]
+ export UNIONFS=DEFAULT
+ set_usplash_timeout
+ [ -x /sbin/usplash_write ]
+ start_usplash_pulse
+ [ -x /sbin/usplash_write ]
+ [ n != y ]
+ log_begin_msg Running /scripts/casper-premount
+ _log_msg Begin: Running /scripts/casper-premount ...
+ [ n = y ]
+ printf Begin: Running /scripts/casper-premount ...
Begin: Running /scripts/casper-premount ... + run_scripts /scripts/casper-premount
+ initdir=/scripts/casper-premount
+ [ ! -d /scripts/casper-premount ]
+ [ -f /scripts/casper-premount/ORDER ]
+ . /scripts/casper-premount/ORDER
+ /scripts/casper-premount/10driver_updates
done.
+ [ -e /conf/param.conf ]
+ /scripts/casper-premount/20iso_scan
Begin: ...waiting for devs... ... done.
/sbin/mount.ntfs: line 1: ELF: not found
/sbin/mount.ntfs: line 2: €: not found
/sbin/mount.ntfs: line 3: syntax error: unexpected ")"
mount: mounting /dev/sda1 on /isodevice failed: No such device
Warning: Cannot mount /dev/sda1 on /isodevice
Could not find the ISO /linuxmint-13-mate-dvd-32bit.iso
This could also happen if the file system is not clean because of an operating
system crash, an interrupted boot process, an improper shutdown, or unplugging
of a removable device without first unmounting or ejecting it. To fix this,
simply reboot into Windows, let it fully start, log in, run 'chkdsk /r', then
gracefully shut down and reboot back into Windows. After this you should be
able to reboot again and resume the installation.
Code: Select all
#!/bin/sh
PREREQ=""
prereqs()
{
echo "$PREREQ"
}
case $1 in
# get pre-requisites
prereqs)
prereqs
exit 0
;;
esac
. /scripts/casper-functions
. /scripts/lupin-helpers
iso_path=
for x in $(cat /proc/cmdline); do
case ${x} in
iso-scan/filename=*)
iso_path=${x#iso-scan/filename=}
;;
esac
done
if [ "$iso_path" ]; then
if find_path "${iso_path}" /isodevice rw; then
echo "LIVEMEDIA=${FOUNDPATH}" >> /conf/param.conf
if [ -f "${FOUNDPATH}" ]; then
echo "LIVEMEDIA_OFFSET=0" >> /conf/param.conf
fi
else
panic "
Could not find the ISO $iso_path
This could also happen if the file system is not clean because of an operating
system crash, an interrupted boot process, an improper shutdown, or unplugging
of a removable device without first unmounting or ejecting it. To fix this,
simply reboot into Windows, let it fully start, log in, run 'chkdsk /r', then
gracefully shut down and reboot back into Windows. After this you should be
able to reboot again and resume the installation.
"
fi
fi
Code: Select all
. /scripts/casper-helpers
is_supported_fs(){
[ -z "${1}" ] && return 1
case ${1} in
ext2|ext3|ext4|xfs|jfs|reiserfs|vfat|ntfs|iso9660)
return 0
;;
esac
return 1
}
wait_for_devs(){
if [ -e /dev/.initramfs/lupin-waited-for-devs ]; then
return
fi
[ "$quiet" != "y" ] && log_begin_msg "...waiting for devs..."
udevadm trigger --subsystem-match=block
udevadm settle
#TBD, modprobe on demand?
modprobe ext3
modprobe ext4
modprobe reiserfs
modprobe xfs
modprobe jfs
modprobe vfat
modprobe fuse
[ "$quiet" != "y" ] && log_end_msg "...devs loaded..."
touch /dev/.initramfs/lupin-waited-for-devs
}
find_path()
{
local path="${1}"
# must match find_path_cleanup
local default_mountpoint="${2:-/tmpmountpoint}"
local mountoptions="${3:-ro}"
local mountpoint=
local dev devname devfstype
local trial_number
FOUNDDEV=
FOUNDPATH=
[ -z "${path}" ] && return 1
wait_for_devs
mkdir -p "${default_mountpoint}"
for trial_number in 1 2 3; do
[ $trial_number -gt 1 ] && sleep 3
for sysblock in $(echo /sys/block/* | tr ' ' '\n' | grep -v /ram | grep -v /loop | grep -v /fd); do
for dev in $(subdevices "${sysblock}"); do
devname=$(sys2dev "${dev}")
devfstype="$(get_fstype ${devname})"
if is_supported_fs "${devfstype}" ; then
#if device is already mounted, do not remount
if grep -q "^${devname} " /proc/mounts; then
mountpoint=$(grep "^${devname} " /proc/mounts|cut -d ' ' -f 2)
unmount=false
else
mountpoint="${default_mountpoint}"
try_mount "$devname" "$mountpoint" "$mountoptions" || return 1
unmount=true
fi
if [ -e "${mountpoint}${path}" ]; then
FOUNDDEV="${devname}"
FOUNDPATH="${mountpoint}${path}"
return 0
fi
[ "${unmount}" = "true" ] && umount ${mountpoint} 2> /dev/null || true
fi
done
done
done
return 1
}
find_path_cleanup()
{
# must match find_path
local default_mountpoint="${1:-/tmpmountpoint}"
if grep -q "^[^ ]* $default_mountpoint " /proc/mounts; then
umount "$default_mountpoint" 2>/dev/null || true
fi
rmdir "$default_mountpoint" 2>/dev/null || true
}