Tomas-M / linux-live

Linux Live Kit
http://www.linux-live.org/
1.01k stars 252 forks source link

Error: Could not locate linux data #163

Closed techwebspot closed 3 years ago

techwebspot commented 3 years ago

I made the live bootable usb and script executed properly but still I can't boot when my usb filesystem had ext4 and owner & group is owned by root user.

And when second time I made the live bootable usb. My usb filesystem was ntfs and owner & group is owned by normal user. Here I want to specify one more thing that in this case I mount the iso file and then copy into usb (rather than making zip with the script and then unzip) and run the script which is in boot directory. And then this time I can boot but get "Could not locate linux data" error.

So I don't know where I'm going wrong. Is there any specific requirement like we need NTFS filesystem only? And we can't boot when owner and group is owned by root? Directly mounting the iso rather than making zip and unzip it in usb creates the problem of "Could not locate linux data" error?

PS: The generated iso works like a charm.

rrbaptista commented 3 years ago

For EXT4, you need to use the Extlinux bootloader to make it work properly, It works in the same way as Syslinux, with slight changes to make it bootable with this filesystem.

About NTFS on bootable USBs: be aware that some motherboards have BIOSes that doesn't recognize bootable devices built on NTFS, it's more common than you might think.

If you want to ensure compatibility when using the included Syslinux bootloader on the kit, stick to the old FAT32, even with the known limitation of this FS on single file size (4GB).

techwebspot commented 3 years ago

For EXT4, you need to use the Extlinux bootloader to make it work properly, It works in the same way as Syslinux, with slight changes to make it bootable with this filesystem.

About NTFS on bootable USBs: be aware that some motherboards have BIOSes that doesn't recognize bootable devices built on NTFS, it's more common than you might think.

If you want to ensure compatibility when using the included Syslinux bootloader on the kit, stick to the old FAT32, even with the known limitation of this FS on single file size (4GB).

Yeah I heard FAT32 is most reliable but my build zip file is of something 4.8 GB so I can't use FAT32 because of limitation.

Okay to use Extlinux can you please guide me a bit what I need to do exactly after unzipping the zip file content in usb file?

And the bootable usb which I made works in legacy mode and not UEFI. Is there any way to make it work in UEFI too?

As I told I'm getting Could not locate linux data error, is it because I mount iso and copy files in usb rather than making a zip?

Is there anything with permission like I told earlier? Because in first trial it didn't work when owner and group is owned by root. And in second trial it works when owner and group is owned by normal. It works because in second trial it have NTFS or it works because of permission?

And yeah sorry for asking too many questions. I know it's preposterous but making bootable and all takes so much time that's why I can't do much experiment.

rrbaptista commented 3 years ago

Extlinux is available in the official repository of Debian/Ubuntu based systems, just grab the packages with sudo apt install extlinux

After installing the package, take a look at the documentation at https://wiki.syslinux.org/wiki/index.php?title=EXTLINUX

Try to maintain all the files of the live toolkit assigned with the default user (config, shell scripts, etc.).

If this doesn't work, I would give a try at BalenaEtcher. Use the tool to burn the generated .iso into your pendrive, instead of copying manually the files to the USB. Maybe this tool will solve this problem in an easier way, adding a layer of compatibility to work with problematic BIOSes.

I can't help a lot at this because I built my live linux using a Virtual Machine on Windows and I used FAT32 (so the Syslinux bootloader worked for me after running the batch script).

EDIT: Try another pendrive too, I had a problem with a newer SanDisk pendrive in an older system, switched to my 10 year old Kingston pendrive = worked.

techwebspot commented 3 years ago

Extlinux is available in the official repository of Debian/Ubuntu based systems, just grab the packages with sudo apt install extlinux

After installing the package, take a look at the documentation at https://wiki.syslinux.org/wiki/index.php?title=EXTLINUX

Try to maintain all the files of the live toolkit assigned with the default user (config, shell scripts, etc.).

If this doesn't work, I would give a try at BalenaEtcher. Use the tool to burn the generated .iso into your pendrive, instead of copying manually the files to the USB. Maybe this tool will solve this problem in an easier way, adding a layer of compatibility to work with problematic BIOSes.

I can't help a lot at this because I built my live linux using a Virtual Machine on Windows and I used FAT32 (so the Syslinux bootloader worked for me after running the batch script).

EDIT: Try another pendrive too, I had a problem with a newer SanDisk pendrive in an older system, switched to my 10 year old Kingston pendrive = worked.

That makes sense!

techwebspot commented 3 years ago

Okay so I solved the problem by using ext4 filesystem for my pendrive with normal user permission. And then I follow what's written in readme - unizp the zip in usb and execute the bootinst.sh script.

nonvwvnon commented 2 years ago

my filesystem is formatted in ext4 and did the unzip and run the bootinst. the usb ssd drive give a 'Error: Could not locate linux data' error.

on another occassion, i once change the usb cable and the usb ssd drive is able to boot up the OS.. it work on usb thumbdrive.

it is a 'hit and miss' situation.

i wonder if there is a solution for th above problem.