[SOLVED] boot .iso file from grub [fash/usb drive]
Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
im facing a problem with grub cfg (i swear grub related)
- having a usb drive (16gb) with grub installed
- having a puppylinux.iso
I want to make this usb bootable (already success)
I want make a boot entry with puppylinux as an option
I want to boot puppylinux from grub
----------
my usb files:
ivan@ivan-K52JU:/media/ivan/ISO-POOL$ tree -L 2
.
├── boot
│** └── grub/ ... grub.cfg
├── clonezilla-live-2.5.0-25-amd64.iso
└── slacko-6.3.0.iso <- i want to boot this one
my grub.cfg:
ivan@ivan-K52JU:/media/ivan/ISO-POOL$ cat boot/grub/grub.cfg
set timeout=10
set default=0
Location: Montreal, Quebec and Dartmouth, Nova Scotia CANADA
Distribution: Arch, AntiX, ArtiX
Posts: 1,363
Rep:
Quote:
Originally Posted by ciroreed
... when i boot this usb, grub shows well, and it appears the menu entry. But something goes wrong while loading files:
"puppy_slacko.sfs not found dropping out to initial ramdisk console"
and it doesnt load anymore (i have to reboot)
Im sure to be missing something in grub configuration.
thanks in advance cheers
Hi ciroreed,
This is a common issue with the puppies and yes, you are correct in guessing it is grub-related. Puppy requires specific options on the kernel line of the boot loader for it to boot properly - and these vary a bit from one puppy version to the next.
Google "kernel boot options for puppy linux" online. If you can't find the right answer, get back to us, but I would be surprised. This is, as previously mentioned, a common issue. On my side, if I have a second, I'll check my last puppy install and get back to this thread.
You are not telling it which partition to look for. An example of a successful boot of Puppy from iso is at the video link below. Note the "from iso" part of the menuentry shown in the video.
You are not telling it which partition to look for. An example of a successful boot of Puppy from iso is at the video link below. Note the "from iso" part of the menuentry shown in the video.
If I'm reading your posts correctly, you appear to have a Slacko Puppy iso as well as clonezilla on the flash drive, is that correct? Can you boot clonezilla? I tested the menuentry from the link I posted earlier. Didn't work, same error.
The problem is not Grub, it is Puppy. If you google the error you report in your initial post you will find hundreds, maybe thousands of threads at the Puppy and other forums on the problem with various versions of Puppy. I've managed to boot dozens of Linux iso files of different distributions but never had any luck with Puppy. Grub is perfectly capable of booting an iso directly but the distribution must also be capable of being booted as an iso.
Two options that I know work as I've tested them. The first menuentry below worked booting the slacko iso which was on the root of the partition but not until I loop mounted the iso and copied the puppy_slacko_6.3.2-sfs and zdrv_slacko_6.3.2.sfs files from the loop mounted iso location to the root of the partition. I came across that suggestion at a Puppy forum.
menuentry "Slacko-6.3.2"{
loopback loop /slacko-6.3.2-uefi.iso
set root='hd1,msdos3'
linux (loop)/vmlinuz iso-scan/filename=/slacko-6.3.2uefi.iso
initrd (loop)/initrd.gz
}
The other option is to loop mount the iso then create a 'puppy' directory on the root of the partition and copy all the files into the puppy directory. The entry below will boot it.
menuentry "Slacko-Extracted" {
set root='hd1,msdos3'
linux /puppy/vmlinuz
initrd /puppy/initrd.gz
}
The entries above show hd1,msdos3 which is equivalent to sdb3. If you are booting from a flash drive you would need to change that to hd0,msdos1.
Quote:
Puppy is not installed on some partition, it is just on the iso.
??The puppy iso is on a flash drive,correct? You should have a partition on the flash drive where you put the Puppy iso. Do you have Grub installed to the flash drive? In order to boot it, you have to point to the specific files you need which are on the iso. Have you loop mounted it to see what files are there? If you do that, you will see the .sfs files. If you want to boot Slacko this way, you either simply copy the iso file to the flash drive partition or use the second option I suggested above.
Quote:
Though slacko is a little anyoing to setup on a flash drive.
I don't know what that comment means. If you have Grub on the flash drive and want to boot Puppy also on the flash drive, there is no setting up involved. You simply copy the iso to whichever partition you want it on the flash drive and put a proper menuentry in grub.cfg.
You might do a little reading on Grub works, specifically with iso files.
I don't know what that comment means. If you have Grub on the flash drive and want to boot Puppy also on the flash drive, there is no setting up involved. You simply copy the iso to whichever partition you want it on the flash drive and put a proper menuentry in grub.cfg.
Quote:
Originally Posted by yancek
You might do a little reading on Grub works, specifically with iso files.
yep, TODO list.
Quote:
Originally Posted by yancek
menuentry "Slacko-6.3.2"{
loopback loop /slacko-6.3.2-uefi.iso
set root='hd1,msdos3'
linux (loop)/vmlinuz iso-scan/filename=/slacko-6.3.2uefi.iso
initrd (loop)/initrd.gz
}
this doesnt work because partition table in flashdrive isnt msdos -> current: "Disklabel type: gpt"
Quote:
Originally Posted by yancek
menuentry "Slacko-6.3.2"{
??The puppy iso is on a flash drive,correct? You should have a partition on the flash drive where you put the Puppy iso. Do you have Grub installed to the flash drive? In order to boot it, you have to point to the specific files you need which are on the iso. Have you loop mounted it to see what files are there? If you do that, you will see the .sfs files. If you want to boot Slacko this way, you either simply copy the iso file to the flash drive partition or use the second option I suggested above.
root@ivan-K52JU:/home/ivan# mount -o loop /media/ivan/ISO-POOL/slacko-6.3.0.iso /mnt
mount: /dev/loop0 is write-protected, mounting read-only
root@ivan-K52JU:/home/ivan# ls /mnt
boot.cat help.msg isolinux.cfg README.HTM
boot.msg initrd.gz logo.16 vmlinuz
help2.msg isolinux.bin puppy_slacko_6.3.0.sfs zdrv_slacko_6.3.0.sfs
this doesnt work because partition table in flashdrive isnt msdos -> current: "Disklabel type: gpt"
You could try just changing the entry to 'hd1,gpt3' or whatever the partition is. I don't use GPT but see that on other threads dealing with GPT. Simple enough to test if your partition table is still GPT.
Reviewing your more recent posts, it appears you have mis-read my earlier posts. The first method suggested in post 10 did come from a Puppy forum and seemed a little weird to me. I've never done any thing like that with any other Linux iso but it did boot. You got the steps right until the part about copying the sfs files. After loop mounting the slacko.iso, copy these two sfs files to the root of the partition, where you have the iso file: puppy_slacko_6.3.0.sfs zdrv_slacko_6.3.0.sfs When you then look at the partition, you should then see the two .sfs files, the slack.iso and the boot directory. Using the first menuentry I posted above should then boot Puppy.
The second method requires you to loop mount the slack.iso, then create a puppy directory on the flash drive on the root of the partition, and copy all the files from the loop mounted directory to the puppy directory on the flash drive and use the second menuentry I posted above and put in in your grub.cfg file on the flash drive. With this method, you are not booting the iso but rather the 'extracted' files and you can delete the iso file of slacko from the flash drive.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.