Page 1 of 1
booting from usermade iso ends up in "porteus data not found"
Posted: 19 Oct 2022, 13:57
by seed_clapper
How do I create custom porteus iso bootable from ventoy?
Tried both ultraiso in windows (ntfs) and make_iso.sh in porteus (ext2). Booting to ventoy and navigating to porteus.iso on main hdd. Porteus boot menu appear but all three methods (graphic/fresh/copy-to-ram) lead to error message
^ searching for porteus-v5.0-x86_64.cfg file
Porteus data not found.
You are maybe using an unsupported boot device ..
Error appear even if I just unpack files from official iso and make new iso without adding new files
Here is link to that iso
https://gofile.io/d/0s5IZ2
All other official porteus iso boot normally using ventoy
booting from usermade iso ends up in "porteus data not found"
Posted: 19 Oct 2022, 16:22
by Ed_P
What did you customize in the iso? I boot ISOs all the time, with grub2, and all my changes are applied via Porteus modules.
Added in 15 minutes 38 seconds:
seed_clapper wrote: ↑19 Oct 2022, 13:57
Error appear even if I just unpack files from official iso and make new iso without adding new files
How are you making the new ISO? Where did you get make_iso.sh?
The script I use to update my Porteus ISOs is based on the script
neko shows here:
Porteus Kernel Builder (Post by neko #70062) .
Added in 29 minutes 14 seconds:
I think the problem is your unpacking of the files.
booting from usermade iso ends up in "porteus data not found"
Posted: 20 Oct 2022, 08:59
by seed_clapper
Turned out it is not possible to boot porteus iso from other drive using ventoy
My environment was:
- hdd with iso
- usb with installed porteus
- second usb with ventoy
Booting to ventoy and navigating to iso on hdd works. But iso loaded this way can not find its config file. All usermade iso failed to find config file. Strangely when I select official non-modded iso situated on hdd it kept booting installed porteus from other usb. After removing usb with installed porteus non-modded iso showed same error as other iso
This is the reason why I thought that porteus iso is able to boot from other locations using ventoy. But in reality it was just a booting bug
Ed_P wrote: ↑19 Oct 2022, 17:06
How are you making the new ISO? Where did you get make_iso.sh?
Default make_iso.sh from official distro iso
For ultraiso I untick "Recompile ISO when Saving Directly" option in Save tab in Settings and save changes directly to original iso
booting from usermade iso ends up in "porteus data not found"
Posted: 20 Oct 2022, 16:36
by Ed_P
seed_clapper wrote: ↑20 Oct 2022, 08:59
Default make_iso.sh from official distro iso

In the ISO's /porteus folder. Ok, thanks. I've never used it.
I've never used Ventoy either but the secret to an ISO finding it's cfg file usually lies in root being set to it's location when booting.
This is the grub2 menu that I use when booting my Porteus ISOs:
Code: Select all
menuentry " Porteus 5.0 ISO - AF'" --class slackware --class icon-porteus {
set bootparms="volume=33 reboot=cold extramod=$linux_folder/Modules noload=kde;jinn;lxqt;xfce;lxde;mate;open;50save;menu2" # ;mychanges"
search -f $iso --set=root
loopback loop $iso
linux (loop)/boot/syslinux/vmlinuz from=$iso $bootparms
# linux $linux_folder/BootModules/vmlinuz from=$iso $bootparms
initrd (loop)/boot/syslinux/initrd.xz
# initrd $linux_folder/initrd/initrd.xz
}
And for updating my Porteus ISOs I use this script that I've cobbled together since the official Porteus Settings Center's Porteus Updater function doesn't support booted ISOs:
Code: Select all
#!/bin/sh
# https://forum.porteus.org/viewtopic.php?p=70062#p70062
# https://forum.porteus.org/viewtopic.php?p=87391#p87391
# https://mirrors.dotsrc.org/porteus/x86_64/current/updates/core/
# Base ISO file
ISO=Porteus-CINNAMON-v5.0-x86_64.iso
newkernel=5.18.8
kernel=https://www.mediafire.com/file/o93mc6u3ii3rigw/64bit-ALL-kernel5.18.8.tar/file
ISOdir=/mnt/$DRV/ISOs
ISOupdates=/mnt/$DRV/porteus5.0/rc3ISOModules/ISOupdates
if [ `whoami` != "root" ]; then
echo -e "Enter root's password\033[1;31m"
su -c "sh $0 $1 $2"; exit
fi
echo -e "\033[0m"; echo -en "\033]0;Porteus ISO Update\a"
# rerun
#set -x
[[ -d /tmp/mediafire ]] && rm -rf /tmp/mediafire;
[[ -d /tmp/NEW/ ]] && rm -rf /tmp/NEW;
if [ -f /tmp/*$newkernel.tar ]; then
rm /tmp/*.tar
fi
cd /tmp
echo "ls /tmp"
ls
echo
#
BOOTDEV=`grep -A1 "Booting" /var/log/porteus-livedbg|tail -n1|sed 's^//^/^g'`
if [ "$BOOTDEV" == "/mnt/isoloop" ]; then
BOOTDEV=`grep -A1 "ISO=" /var/log/porteus-livedbg|tail -n1|sed 's^//^/^g'`
if [ ${BOOTDEV:9:4} == "nvme" ]; then
bootiso=${BOOTDEV:44}
else
bootiso=${BOOTDEV:39}
fi
fi
#echo ${BOOTDEV:9:4} $bootiso; read
if [ $ISO == $bootiso ]; then # Base ISO is booted
mkdir NEW
cp -a /mnt/isoloop/* NEW/.
cp -a /mnt/isoloop/.[0-9A-Za-z]* NEW/. 2>/dev/null
else
mkdir mnt
mount -t iso9660 -o loop $ISOdir/$ISO mnt
mkdir NEW
cp -a mnt/* NEW/.
cp -a /mnt/.[0-9A-Za-z]* NEW/. 2>/dev/null
umount -f mnt
rm -fr mnt
fi
#
echo
echo "Update the /tmp/NEW files with the $ISOupdates files."
echo
#set -x
read -p " Update the kernel? (n/y) " ANS
if [ "$ANS" == "y" ]; then
read -p " neko/Blaze kernel or fulalas kernel? (n/b, f) " ANS
if [ ! "$ANS" == "f" ]; then
if [ -e $ISOdir/*$newkernel.tar ]; then
cp $ISOdir/*$newkernel.tar /tmp
else
wget -c --no-check-certificate $kernel
fi
echo $ISO
ls *.tar
read
fi
fi
echo
read -p " Update the /porteus/base files? (n/y) " ANS
if [ "$ANS" == "y" ]; then
if [ -f $ISOupdates/*.tar ]; then
mkdir w
cd w
tar -xf ../*.tar
cd ../
cp w/vmlinuz NEW/boot/syslinux/
cp w/000-kernel.xzm NEW/porteus/base/
rm -fr w
else
rm -f NEW/porteus/base/003-*.xzm
cp $ISOupdates/initrd.xz NEW/boot/syslinux/
cp $ISOupdates/00*.xzm NEW/porteus/base/
# cp $ISOupdates/06*${newkernel}.xzm NEW/porteus/base/
fi
ls -oh NEW/porteus/base|cut -c 20-
echo "Ok?"
read
fi
echo
#set -x
read -p " Build new ISO? (n/y) " ANS
if [ "$ANS" == "n" ]; then
ls /tmp
read
exit
fi
#
mkisofs -o NEW.iso -v -l -J -joliet-long -R -D -A Porteus -V Porteus \
-no-emul-boot -boot-info-table -boot-load-size 4 \
-b boot/syslinux/isolinux.bin -c boot/syslinux/isolinux.boot NEW
rm -fr NEW # w
echo
mv NEW.iso $ISO
ls *.iso
echo " "; echo "Copy from /tmp to boot directory & update grub2 config."
#
read
I update the ISO I have booted and create a new ISO.

booting from usermade iso ends up in "porteus data not found"
Posted: 22 Oct 2022, 17:27
by Testuser
Hi Seed,
I found a way to use Porteus with Ventoy.
Install latest Ventoy in pendrive
Create a folder in folder named "Ventoy" in USB drive where we put ISO.
Create a file named - ventoy_grub.cfg inside the folder
copy paste below contents in the file.
Create a folder Porteus in the same USB drive and copy contents of ISO in this folder.
This is a custom grub script by Ventoy to boot using Grub menu.
(Ventoy normally boots by just copying ISO, no grub installation needed)
Here we will put the default grub cfg path of porteus menu in this grub menu.
Below grub menu is from MultibootUSB I used before Ventoy. Path of unicode needs to be changed acoordingly.
Code: Select all
# Sample ventoy_grub.cfg used to USB boot grub OS from Custom linux folders, used for Porteus persistent modules
# This file is created by MultiBootUSB.
insmod chain
insmod png
insmod part_msdos
insmod fat
insmod ntfs
insmod syslinuxcfg
insmod cpuid
insmod ext2
insmod all_video
insmod configfile
insmod normal
insmod linux
insmod echo
insmod search
insmod regexp
set timeout=30
probe -u $root --set=rootuuid
set imgdevpath="/dev/disk/by-uuid/$rootuuid"
export imgdevpath rootuuid
set isopath="/multibootusb/iso"
export isopath
insmod font
if loadfont /multibootusb/grub/unicode.pf2 ; then
#if loadfont unicode ; then
# Use shift key to avoid loading gfxterm
if keystatus --shift ; then true ; else
if [ "${grub_platform}" == "efi" ]; then
insmod efi_gop
insmod efi_uga
else
insmod vbe
insmod vga
set gfxmode=auto
set gfxpayload=auto
terminal_output gfxterm
if terminal_output gfxterm ; then true ; else
terminal gfxterm
fi
fi
insmod gfxterm
fi
fi
set color_normal=white/black
set color_highlight=white/light-blue
export color_normal
export color_highlight
#start Porteus-LXDE-v5.0rc3-x86_64 - MultibootUSB - Loop
menuentry Porteus-LXDE-v5.0rc3-x86_64-Loop {configfile $vtoy_iso_part/Porteus/boot/syslinux/porteus.cfg}
#end Porteus-LXDE-v5.0rc3-x86_64
This is for BIOS boot and for EFI boot it is little complicated.