PorteuX 0.8 has been released

PorteuX - The Next Experience. It's inspired by Slax and Porteus but with heaps of improvements
porteux
Shogun
Shogun
Posts: 271
Joined: 12 Mar 2023, 22:10
Distribution: PorteuX

PorteuX 0.8 has been released

Post#16 by porteux » 18 Nov 2023, 22:29

@roadie, the .cache folder is now properly fixed/removed. It turns out that we were starting NetworkManager in a really old way.

And, yes these old scripts need to be rewritten. I did it for makeinitrd, but I didn't have time/energy to do the same for mloop.

beny
Full of knowledge
Full of knowledge
Posts: 2253
Joined: 02 Jan 2011, 11:33
Location: italy

PorteuX 0.8 has been released

Post#17 by beny » 20 Nov 2023, 19:00

Code: Select all

  #!/bin/bash
# Script to mount most archives on a loop device

# Color definitions
txtund=$(tput sgr 0 1)            # Underline
txtbld=$(tput bold)               # Bold
txtgreen=${txtbld}$(tput setaf 2) #  green
txtcyan=${txtbld}$(tput setaf 6)  #  cyan
txtred=${txtbld}$(tput setaf 1)   #  red
rst=$(tput sgr0)                  # Reset

function green() {
echo -e $txtgreen "$1" $rst
}

function cyan() {
echo -e $txtcyan "$1" $rst
}

function red() {
echo -e $txtred "$1" $rst
}

function sanity_check(){
for dep in $@; do
	`which $dep >/dev/null 2>&1` || sanity+=("$dep")
done
}

usage() {
clear
echo
echo "##########################"
echo Usage of $0:
echo "##########################"
echo -e $txtbld "`basename $0` /path/to/module.xzm" $rst
echo -e $txtbld "`basename $0` /path/to/file.iso" $rst
echo -e $txtbld "`basename $0` /path/to/file.dat" $rst
echo -e $txtbld "`basename $0` /path/to/file.img" $rst
echo -e $txtbld "`basename $0` /path/to/initrd.xz" $rst
echo -e $txtbld "`basename $0` /path/to/initrd.zst" $rst
echo -e $txtbld "`basename $0` /path/to/file.tar" $rst
echo -e $txtbld "`basename $0` /path/to/file.tar.gz" $rst
echo -e $txtbld "`basename $0` /path/to/file.tar.bz2" $rst
echo
echo "File given will be mounted on a loop at /mnt/loop"
echo "You can use uloop to unmout loop."
echo
echo
}

[ ! $1 ] && usage && exit 0

# Switch to root
if [ `whoami` != "root" ]; then
	cyan "Please enter root's password below"
	mod=`readlink -f $1`
	su - -c "/opt/porteux-scripts/mloop $mod"
	exit
fi

# Sanity check
sanity=""
sanity_check "archivemount"
[[ ! -z ${sanity[*]} ]] && { echo -e $txtcyan "mloop requires the following:" $rst "${sanity[*]}"; exit; }

mpoint=/mnt/loop
tmp=/tmp/mloop
xfile=$1
ext=${xfile##*.}
real=`realpath $1 2>/dev/null`
termc=`tput cols`
terml=`tput lines`

# Make sure that we have at least one free loop device
x=`losetup -a | tail -n1 | cut -d: -f1 | sed s^/dev/loop^^`; let y=x+1
if [ ! -b /dev/loop$y ]; then
	echo "Adding new loop device: mknod /dev/loop$y b 7 $y"
	mknod /dev/loop$y b 7 $y
else
	echo "using /dev/loop$y"
fi

if [ "$xfile" == "" -o "$xfile" == "--help" -o "$xfile" == "-h" -o "$xfile" == "-help" -o "$xfile" == "help" ]; then
	usage
	exit
fi

#######################
# Begin mount process
#######################

# Check for loop mount dir
if [ ! -d $mpoint ]; then
	mkdir $mpoint
		else
	xls=`ls $mpoint`
fi

if [ "$xls" != "" ]; then
	umount $mpoint
fi

xmodule() {
mount -t auto -o loop $xfile $mpoint
clear
echo
echo -e $txtcyan "#################################"
echo " Your module has been mounted at:" $rst
echo $mpoint
echo
echo " You can unmount it by typing uloop"
echo
echo " Here is a list of the files:"
ls $mpoint
echo
exit
}

xiso() {
mount -t iso9660 -o loop $xfile $mpoint
clear
echo
echo -e $txtcyan "#################################"
echo "Your image has been mounted at:" $rst
echo $mpoint
echo
echo " You can unmount it by typing uloop"
echo
echo " Here is a list of the files:"
ls $mpoint
echo
exit
}

xdat() {
if file $xfile | grep -qo LUKS; then
	losetup /dev/loop$y $xfile
	echo "found .dat container encrypted with LUKS..."
	cryptsetup luksOpen /dev/loop$y mloop-crypt
	mount /dev/mapper/mloop-crypt $mpoint 2>/dev/null
else
	mount -t auto -o loop $xfile $mpoint
fi
clear
echo
echo -e $txtcyan "#################################"
echo " Your data file has been mounted at:" $rst
echo $mpoint
echo
echo "You can unmount it by typing uloop"
echo
echo "Here is a list of the files:"
ls $mpoint
echo
exit
}

ximg() {
mount -t auto -o loop $xfile $mpoint
clear
echo
echo -e $txtcyan "#################################"
echo "Your .img file has been mounted at:" $rst
echo $mpoint
echo
echo "You can unmount it by typing uloop"
echo
echo "Here is a list of the files:"
ls $mpoint
echo
exit
}

xinit() {
clear
echo
echo -e $txtgreen "Backing up initrd ...." $rst

[ ! -d $tmp ] && mkdir $tmp || rm -rf $tmp/*
cp $real ${real}.bak
echo $xfile > $tmp/initrd.txt

# We can not mount this initrd so we will
# unpack it instead.
cd $tmp
xz -d < $real | cpio -i
cd - >/dev/null
echo
echo "##################################################"
echo "Your original initrd.xz is still intact"
echo "and has been backed up as $xfile.bak"
echo
echo -e $txtcyan "Your initrd.xz can not be mounted so it has been unpacked to:" $rst
echo $tmp
echo
echo "To repack the initrd move into the directory containing"
echo "the files and type: " $txtcyan "makeinitrd" $rst
echo
echo "Here is a list of the files:"
ls $tmp
echo
exit
}

xinitz() {
clear
echo
echo -e $txtgreen "Backing up initrd ...." $rst

[ ! -d $tmp ] && mkdir $tmp || rm -rf $tmp/*
cp $real ${real}.bak

# We can not mount this initrd so we will
# unpack it instead.
cd $tmp
zstd -dc < $real | cpio -i
cd ../
echo
echo "##################################################"
echo "Your original initrd.zst is still intact"
echo "and has been backed up as $xfile.bak"
echo
echo -e $txtcyan "Your initrd.zst can not be mounted so it has been unpacked to:" $rst
echo $tmp
echo
echo "To repack the initrd move into the directory" $txtred "/tmp/mloop" $rst
echo "and type: " $txtcyan "makeinitrd -z to use zstd compression, or" $rst
echo   "          " $txtcyan "makeinitrd -x to use xz compression" $rst
echo
echo "Here is a list of the files:"
ls $tmp
echo
exit
}

xtargz() {
# Make sure file is gzip
file $real|grep -o "gzip" >/dev/null || { echo -e $txtcyan "This is not a valid gzip file!"; exit; }
pkg=${real##*/}
pkgname=`sed -e 's@\.tar@@g' -e 's@\.gz@@g' <<<$pkg`

archivemount $real $mpoint 2>/dev/null
clear
echo
echo -e $txtcyan "#################################"
echo " Your gzip file has been mounted at:" $rst
echo $mpoint
echo
echo "You can unmount it by typing uloop"
echo
echo "Here is a list of the files:"
ls $mpoint
echo
exit
}

xtarbz2() {
# Make sure file is bzip
file $real|grep -o "bzip2" >/dev/null || { echo -e $txtcyan "This is not a valid bzip2 file!"; exit; }
pkg=${real##*/}
pkgname=`sed -e 's@\.tar@@g' -e 's@\.bz2@@g' <<<$pkg`

archivemount $real $mpoint 2>/dev/null
clear
echo
echo -e $txtcyan "#################################"
echo " Your bzip file has been mounted at:" $rst
echo $mpoint
echo
echo "You can unmount it by typing uloop"
echo
echo "Here is a list of the files:"
ls $mpoint
echo
exit
}

xtar() {
# Make sure file is tar
file $real|grep -o "tar" >/dev/null || { echo -e $txtcyan "This is not a valid tarball file!"; exit; }
pkg=${real##*/}
pkgname=`sed 's@\.tar@@g' <<<$pkg`

archivemount $real $mpoint 2>/dev/null
clear
echo
echo -e $txtcyan "#################################"
echo " Your tarball file has been mounted at:" $rst
echo $mpoint
echo
echo "You can unmount it by typing uloop"
echo
echo "Here is a list of the files:"
ls $mpoint
echo
exit
}

# write the unloop script if needed

echo
echo "Please wait while I gather some info ...."
echo

chk_uloop() {
if [ ! -f /opt/porteux-scripts/uloop ]; then
cat > /opt/porteux-scripts/uloop << "EOF"
#!/bin/bash

if [ `whoami` != "root" ]; then
	su - -c "uloop"
	exit
fi

[ -d /mnt/loop ] && mls=`grep /mnt/loop /proc/mounts | wc -l`

if [[ "$mls" -gt 0 ]]; then
	umount /mnt/loop
	declare -i returnval=$?
	if [ $returnval -eq 0 ]; then
		[ -b /dev/mapper/mloop-crypt ] && cryptsetup luksClose mloop-crypt
		rmdir /mnt/loop
		echo -e "\n /mnt/loop has been unmounted\n"
	else
		echo -e "\n\033[1m\033[31m WARNING! /mnt/loop has NOT been unmounted. \n unmount returned an error. See above for possible reasons.\033[m\n"
		exit $returnval
	fi
else
	echo -e "\n Nothing is mounted in /mnt/loop.\n"
fi

exit
EOF
chmod +x /opt/porteux-scripts/uloop
fi
}

# check for umount loop script
chk_uloop

# check for anything mounted in /mnt/loop , if so unmount it...maybe?
uloop

# check that file given exists
case "$ext" in
		xzm)
			xmodule
			;;

		iso|ISO)
			xiso
			;;

		dat)
			xdat
			;;

		xz)
			xinit
		;;

        zst)
			xinitz
			;;
          
          img)
			ximg
			;;
		gz)
			xtargz
			;;
		bz2)
			xtarbz2
			;;
		tar)
			xtar
			;;
		*)
			echo  "Sorry, no supported file found"
			;;
esac

clear
echo
echo  "Sorry, no supported file found"
exit

                                                                              
hi roadie this is the mloop modified in porteux take a look if work for you,backup the old one and run the new

roadie
Full of knowledge
Full of knowledge
Posts: 428
Joined: 02 Jan 2011, 18:41
Distribution: Porteus v5.01.....PorteuX v1.4
Location: In the bush now

PorteuX 0.8 has been released

Post#18 by roadie » 21 Nov 2023, 01:17

porteux wrote:
18 Nov 2023, 22:29
@roadie, the .cache folder is now properly fixed/removed. It turns out that we were starting NetworkManager in a really old way.

And, yes these old scripts need to be rewritten. I did it for makeinitrd, but I didn't have time/energy to do the same for mloop.
I'm wondering what you changed as I edited /etc/rc.d/rc.networkmanager at line 36, but it made no difference. I even removed it completely with the same result.

roadie
Full of knowledge
Full of knowledge
Posts: 428
Joined: 02 Jan 2011, 18:41
Distribution: Porteus v5.01.....PorteuX v1.4
Location: In the bush now

PorteuX 0.8 has been released

Post#19 by roadie » 21 Nov 2023, 01:27

beny wrote:
20 Nov 2023, 19:00
hi roadie this is the mloop modified in porteux take a look if work for you,backup the old one and run the new


Thanks beny, I have it working here.

porteux
Shogun
Shogun
Posts: 271
Joined: 12 Mar 2023, 22:10
Distribution: PorteuX

PorteuX 0.8 has been released

Post#20 by porteux » 21 Nov 2023, 07:53

roadie wrote:
21 Nov 2023, 01:17
I'm wondering what you changed as I edited /etc/rc.d/rc.networkmanager at line 36, but it made no difference. I even removed it completely with the same result.
Give it a try (it's the current version) and let me know:

https://www.mediafire.com/file/pof8i07m ... -alpha.zip

roadie
Full of knowledge
Full of knowledge
Posts: 428
Joined: 02 Jan 2011, 18:41
Distribution: Porteus v5.01.....PorteuX v1.4
Location: In the bush now

PorteuX 0.8 has been released

Post#21 by roadie » 21 Nov 2023, 17:02

porteux wrote:
21 Nov 2023, 07:53
roadie wrote:
21 Nov 2023, 01:17
I'm wondering what you changed as I edited /etc/rc.d/rc.networkmanager at line 36, but it made no difference. I even removed it completely with the same result.
Give it a try (it's the current version) and let me know:

https://www.mediafire.com/file/pof8i07m ... -alpha.zip
Yes, working fine here, it's nice to not see that offensive folder without running /etc/rc.d/rc.local. I'm finding too that lxdm is behaving much better with my video card lately. On previous versions of PorteuX, I had to replace lxdm with slim to have a decent boot time. Both v0.7 and v0.8 are booting as fast as my rebuilds with slim.

seed_clapper
Black ninja
Black ninja
Posts: 48
Joined: 17 Oct 2022, 13:22
Distribution: Porteus 5

PorteuX 0.8 has been released

Post#22 by seed_clapper » 22 Nov 2023, 04:23

mpv 0.37.0 was released https://github.com/mpv-player/mpv/releases/tag/v0.37.0
There are new quality profiles https://github.com/mpv-player/mpv/commi ... c0fff476a7
- fast (similar to "default" in mpv 0.36.0)
- default (uses more gpu, close to old "gpu-hq" profile)
- high-quality

@porteux what do you think about this change? If PorteuX is meant to run on any hardware (even ten year old ones) then you should probably switch mpv settings to fast profile. Otherwise I do not think that many people with good/new PC will even notice increase in gpu usage.

User avatar
Ed_P
Contributor
Contributor
Posts: 8908
Joined: 06 Feb 2013, 22:12
Distribution: Cinnamon 5.01 ISO
Location: Western NY, USA

PorteuX 0.8 has been released

Post#23 by Ed_P » 22 Nov 2023, 06:35

I found in the PorteuX Apps menu KeePassXC. Curious of it's capabilities and how it would compare to the Porteus modules I downloaded it, created a module, and found it executes bash to read a file that is not a readable text file! :o I thought bash was a scripting language by definition so surprised to see I can't read it and that bash executes AppImage files.

I also found it can't be started with my existing kdbx file.

Code: Select all

guest@porteus:~$ sh -c /opt/keepassxc/keepassxc-2.7.6-x86_64.AppImage /mnt/$DRV/Users/EdPs/My?Utilities/KeePassX/KeePass.kdbx
guest@porteus:~$ su
Password: 
root@porteus:/home/guest# sh -c /opt/keepassxc/keepassxc-2.7.6-x86_64.AppImage /mnt/$DRV/Users/EdPs/My?Utilities/KeePassX/KeePass.kdbx
QStandardPaths: runtime directory '/run/user/1000' is not owned by UID 0, but a directory permissions 0700 owned by UID 1000 GID 100
My kdbx file is on a NTFS drive and is usable by KeePassX apps on Windows and Porteus 5.1 when I start them there.

porteux
Shogun
Shogun
Posts: 271
Joined: 12 Mar 2023, 22:10
Distribution: PorteuX

PorteuX 0.8 has been released

Post#24 by porteux » 22 Nov 2023, 10:49

@seed_clapper, thanks!

I'm willing to use the default option and if someone struggles to run anything we can think about it.

Wanna give it a try? :)

https://www.mediafire.com/file/aa65lwzw ... ed-mpv.xzm

Better to use it with the base modules (0.9 alpha) I posted above, without the xtra module of course.

User avatar
Ed_P
Contributor
Contributor
Posts: 8908
Joined: 06 Feb 2013, 22:12
Distribution: Cinnamon 5.01 ISO
Location: Western NY, USA

PorteuX 0.8 has been released

Post#25 by Ed_P » 22 Nov 2023, 17:33

I tried using the keepassx module from Porteus 5.1 and got this:

Code: Select all

guest@porteux:/mnt/nvme0n1p7/porteux/Guest$ keepassx /mnt/$DRV/Users/EdPs/My?Utilities/KeePassX/KeePass.kdbx
Unable to load library icui18n "Cannot load library icui18n: (icui18n: cannot open shared object file: No such file or directory)" 
QGtkStyle could not resolve GTK. Make sure you have installed the proper libraries.
guest@porteux:/mnt/nvme0n1p7/porteux/Guest$
Does PorteuX have slapt-mod?

beny
Full of knowledge
Full of knowledge
Posts: 2253
Joined: 02 Jan 2011, 11:33
Location: italy

PorteuX 0.8 has been released

Post#26 by beny » 22 Nov 2023, 21:48

hi Ed_P, you don't need slapt-mod if the packages that you need are on slackware system:this link is for the 15.0
https://slackware.nl/slakfinder/index.p ... e=#results

User avatar
Ed_P
Contributor
Contributor
Posts: 8908
Joined: 06 Feb 2013, 22:12
Distribution: Cinnamon 5.01 ISO
Location: Western NY, USA

PorteuX 0.8 has been released

Post#27 by Ed_P » 22 Nov 2023, 23:17

Thank you beny. :beer:

I downloaded the top one in your link. It resulted in a 12.5 MB xzm module! And keepassx works. :good:

seed_clapper
Black ninja
Black ninja
Posts: 48
Joined: 17 Oct 2022, 13:22
Distribution: Porteus 5

PorteuX 0.8 has been released

Post#28 by seed_clapper » 23 Nov 2023, 15:27

porteux wrote:
22 Nov 2023, 10:49
Wanna give it a try?
When double-clicking on a video file only top part of mpv window appear and then instantly disappear. Starting from terminal does the same and says "Segmentation fault".
Same result in porteux 0.8 current.

porteux
Shogun
Shogun
Posts: 271
Joined: 12 Mar 2023, 22:10
Distribution: PorteuX

PorteuX 0.8 has been released

Post#29 by porteux » 23 Nov 2023, 18:49

@seed_clapper, if booting in Always Fresh doesn't fix your issue, please paste the content of your /mnt/live/memory/images/

beny
Full of knowledge
Full of knowledge
Posts: 2253
Joined: 02 Jan 2011, 11:33
Location: italy

PorteuX 0.8 has been released

Post#30 by beny » 23 Nov 2023, 19:13

hi porteux your module on porteux 0.7 work,if seed_clapper have a seg fault no way to use mpv -v option that is useful for debug? PS: would you share the 6.6 kernel config the size of your vmlinuz are interesting

Post Reply