Porteus USB live install

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

Porteus USB live install

Post#16 by Ed_P » 21 Mar 2025, 18:01

ncmprhnsbl wrote:
21 Mar 2025, 05:15
another one: option to download a browser module from the mirror/modules folder and place it in porteus/modules
An excellent suggestion. :good: And set it's default homepage to https://forum.porteus.org/ so if the user has install problems/questions it will be easy for them to find an answer. :happy62:

robang74
Black ninja
Black ninja
Posts: 58
Joined: 20 Mar 2025, 02:16
Distribution: Ubuntu

Porteus USB live install

Post#17 by robang74 » 21 Mar 2025, 18:15

Ed_P wrote:
21 Mar 2025, 18:01
An excellent suggestion.
Which browser? There are many available.
Is there not an app to download modules?
I saw it, why users cannot use that?

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

Porteus USB live install

Post#18 by Ed_P » 21 Mar 2025, 18:30

robang74 wrote:
21 Mar 2025, 08:37
Plus, using the BSD 3-clauses as license, rather than a "GPLv2 or later" I am impliciting claiming that "what you get is AS-IS".
Hopefully our users note that.
robang74 wrote:
21 Mar 2025, 18:15
Which browser? There are many available.
How does your script know which ISO to download? Use the same approach. :)
robang74 wrote:
21 Mar 2025, 18:15
Is there not an app to download modules?
There is, your script could note that to users. It could also note there is a Porteus Install app they can use. :happy62:

Code: Select all

sh /opt/porteus-scripts/xorg/psu "/opt/porteus-scripts/pinstaller"

robang74
Black ninja
Black ninja
Posts: 58
Joined: 20 Mar 2025, 02:16
Distribution: Ubuntu

Porteus USB live install

Post#19 by robang74 » 21 Mar 2025, 20:27

Ed_P wrote:
21 Mar 2025, 18:30
There is, your script could note that to users. It could also note there is a Porteus Install app they can use
Which does not work on a plain disk without partitions and it is not useful for a automatic management like creating a VM, and booting them without tweaking by hands (for example). Or a on-demand usb-key initialisation.

robang74
Black ninja
Black ninja
Posts: 58
Joined: 20 Mar 2025, 02:16
Distribution: Ubuntu

Porteus USB live install

Post#20 by robang74 » 21 Mar 2025, 20:31

ncmprhnsbl wrote:
21 Mar 2025, 10:34
lol, ok
+ 8624869 - 2025-03-21 - porteus-usb-install.sh: mode --ext4-install, tested

+ d790f7e - 2025-03-21 - porteus-iso-kmapchange.sh: added new

The 2nd change the kmap straight directly into the ISO while the 1st prepare an USB bootable which uses a real EXT4 (journaled) partition for saving.

Time to complete the task of creating the USB might vary depending the speed of the USB key between 30s and 240s. Usually 90-120s expected.

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

Porteus USB live install

Post#21 by Ed_P » 21 Mar 2025, 22:02

ncmprhnsbl wrote:
21 Mar 2025, 05:15
while i'm thinking of options, one for no persistence might be nice too...
An option that would support this, reduce operating overhead, and support saving changes is the EXIT= cheatcode. Changes are saved in memory until shutting down Porteus where a user has the option to exit without saving changes or to save them. :good: Should be the default. :)

robang74
Black ninja
Black ninja
Posts: 58
Joined: 20 Mar 2025, 02:16
Distribution: Ubuntu

Porteus USB live install

Post#22 by robang74 » 22 Mar 2025, 06:02

About creating an ISO with updated components, the following script can be useful

https://github.com/robang74/porteus-usb ... install.sh

At the moment, it download the latest ISO available on stable branch, can change the keyboard layout and write an USB with that modified ISO. With that USB, an user can boot into RAMFS mode, made it configuration and then installing everything directly on the same USB (that script has not written, yet). However, it has no sense download 438MB and later update ALL the base components which are another 400MB, at least.

https://github.com/robang74/porteus-usb ... lection.sh

This brings to the conclusion that the porteus-net-install.sh should leverage the fastest mirror (using the script above) to download the MBR and the boot/ EFI/ folders and the Porteus folder structure, to prepare the USB image. At that point, it is possible to download the latest version of every base/ components and put all together.

https://github.com/robang74/porteus-usb ... install.sh

Finally, the script above will create the bootable USB key and with the `--ext4-install` option, the whole USB will be a persistent system running on an USB key (not anymore a Live). While using the same approach from a every other live ISO which can be Ubuntu, TinyCore, and old version of Porteus, or a Slax, it is possible use the LIVE with my scripts to install Porteus on an internal HDD/SDD.

I know your first thought: why the hell do you care do all this work for Porteus? Download Slax based on slackware and you have a desktop USB bootable out of the box! *HERE* :D

nanZor
Shogun
Shogun
Posts: 489
Joined: 09 Apr 2019, 03:27
Distribution: Porteus 5.1 Alpha OpenBox

Porteus USB live install

Post#23 by nanZor » 23 Mar 2025, 11:34

Fascinating scripting! But how about this: the distribution iso containing an empty 512mb porteussave.dat (xfs fs internally by default), whereupon the newb end-user can go into the Settings Center and expand it with the tool if they choose. All a simple fat32 exercise. And the system will hunt for porteussave.dat and find it, even though one will probably want to explicitly state it in the APPEND line...

That way they can kick the tires with a little persistence automated, and then use your scripts or manual editing as skills improve to move to ext filesystems etc ...

(running and ducking) :)
That's a UNIX book - cool. -Garth

robang74
Black ninja
Black ninja
Posts: 58
Joined: 20 Mar 2025, 02:16
Distribution: Ubuntu

Porteus USB live install

Post#24 by robang74 » 23 Mar 2025, 14:33

nanZor wrote:
23 Mar 2025, 11:34
And the system will hunt for porteussave.dat and find it
A long post to suggest me to stick to 512MB as default size, default name `porteussave.dat` and default XFS otherwise end-users relying on default Porteuse apps are in the mud, seriously?

It is hard to believe for me that a cheerishing "combination of dumb users & dumb tools" cannot walk out of the swamps by themselves... :ROFL:

== SERIOUSLY ==

What are you trying to say, here? Porteus knows at boot time which is the name of the persistence file and which filesystem adopt in it. Therefore, every Porteus app should cope with it smoothly because: 1. the name is just a convention; 2. the EXT4 filesystem is supported among those available for persistence. Moreover, the `.dat` extension match the original canvas.

Later, I will give a check about ext4 vs xfs for this specific case: saving data on a loop file written into a VFAT32 partition [*]. However, my default choice of 128MB and EXT4 without journaling seems reasonable as long as `--ext4-installation` allows people to use the whole remaining USB stick space as "persistence" in a real partition and with "direct" access to underlying device. Which is - de facto - an installation not a Live anymore.

By the way, this forum lack of [tt] fixed spacing text [/tt], AFAIK.

Note

[*] https://chatgpt.com/share/67e01ea8-a0f4 ... d1c76337e9 -- The choice to have a journaled filesystem on a loop file save on a VFAT32 mostly depends on which is the outlook for its usage. In unsupervised systems like Kiosk, the most effective journaling filesystem available is a good choice. Also as per default choice when DEV wish to avoid as much as possible "data loss" hostilities from their users base especially that userbase is unskilled. Instead, those who refer to skilled techies which are going to adopt a specific approach for a specific goal (live for testing & maintenance) then data loss is less relevant than performances and extending USB working life. Moreover, those are interested in having a persistence because they are using Porteus as alternative to Windows, then `--ext4-installation` solve the matter and because EXT4 is adopted, then - supposedly - the EXT4 Windows drivers can read it. While, I never used a XFS Windows driver to R/W - hence as every human - I tend to put in a second line unknown solution.

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

Porteus USB live install

Post#25 by Ed_P » 23 Mar 2025, 18:04

robang74 wrote:
23 Mar 2025, 14:33
It is hard to believe for me that a cheerishing "combination of dumb users & dumb tools" cannot walk out of the swamps by themselves...
Some people like being lead and taught by people smarter than themselves so they can learn to be like them. :happy62:

robang74
Black ninja
Black ninja
Posts: 58
Joined: 20 Mar 2025, 02:16
Distribution: Ubuntu

Porteus USB live install

Post#26 by robang74 » 23 Mar 2025, 21:57

Ed_P wrote:
23 Mar 2025, 18:04
Some people like being lead and taught by people smarter than themselves so they can learn to be like them.
Some people think that they switched to "Linux" because they managed to burn a ISO file on a USB stick and boot a PC with it.

Some people think that Linux is nice because Ubuntu looks eye-candy and it is also user-friendly because they can use the mouse.

Nothing of this, is my fault! *HERE* :P

vinnie
Shogun
Shogun
Posts: 210
Joined: 13 Jun 2024, 08:25
Distribution: alpine

Porteus USB live install

Post#27 by vinnie » 23 Mar 2025, 23:23

I think you confused Ed_P's courtesy with an intention to denigrate your work.

Alcune persone si identificano in quello che fanno, altre in quello che sono.

robang74
Black ninja
Black ninja
Posts: 58
Joined: 20 Mar 2025, 02:16
Distribution: Ubuntu

Porteus USB live install

Post#28 by robang74 » 24 Mar 2025, 13:44

vinnie wrote:
23 Mar 2025, 23:23
I think you confused Ed_P's courtesy with an intention to denigrate your work.
I think that if people posting and commenting on technical forum would stick to "facts" - all these "emotional psychodramas" will end soon.
vinnie wrote:
23 Mar 2025, 23:23
Alcune persone si identificano in quello che fanno, altre in quello che sono.
Bah, disse un saggio - non basta una vita per conoscere se stessi, eppure c'è gente che giudica.

In the meantime, I reach a version that start to be "nice" for others people testing, and soon I will tag the v0.3.2 as well (faster, much faster)

Code: Select all

#!/bin/bash
#
# (C) 2025, Roberto A. Foglietta <[email protected]> - 3-clause BSD
#
# Support for expert users wishing to test on-demand installation starts from
#
# URL: https://raw.githubusercontent.com/robang74/porteus-usb-installer
# VER:                         /refs/tags/v0.3.1/porteus-net-install.sh
# MAN:                           ?tab=readme-ov-file#usage-quick--dirty
#
# It is suggest testing on a spare machine that does NOT hold valuable data,
# possibly using a Porteus MATE v5.0.1 with the network support available.
#
################################################################################
We should not forget that this project started on 20 March 2025, 4 days ago.
In total, it is a product of less than 120 commits. Too early to test?

User avatar
M. Eerie
Moderator
Moderator
Posts: 711
Joined: 31 Aug 2017, 21:18
Distribution: Nemesis Xfce/MATE x64

Porteus USB live install

Post#29 by M. Eerie » 24 Mar 2025, 16:20

When I run porteus-mirror-selection.sh, I get the following:

Code: Select all

'head: unable to open '' for reading: file or directory does not exist.


Fastest --> <--

updated 'porteus-mirror-selected.txt' file
updated 'porteus-mirror-allhttps.txt' file
created 'porteus-mirror-selected.log' file
All wget .logs show that an additional / is being inserted in the url.

I.e.: https://ftp.vim.org/ftp/os/Linux/distr/porteus//x86_64 etc...
> Does not compute_ 🖖

https://forum.porteus.org/viewtopic.php?p=94310#p94310
https://forum.porteus.org/viewtopic.php?p=102066#p102066
https://forum.porteus.org/viewtopic.php?p=102306#p102306
https://forum.porteus.org/viewtopic.php?p=72741#p72741

robang74
Black ninja
Black ninja
Posts: 58
Joined: 20 Mar 2025, 02:16
Distribution: Ubuntu

Porteus USB live install

Post#30 by robang74 » 24 Mar 2025, 17:26

M. Eerie wrote:
24 Mar 2025, 16:20
All wget .logs show that an additional / is being inserted in the url.
Hi, M. Eerie

It do not think that an additional `/` is the problem. I think is better to see this log of mine. For example.

- short link for the script on tags v0.3.1: tinyurl.com/2csl7ae3
- short link for the script on the main head: tinyurl.com/2bn89qqo (RISKY!!)

There are many script but one is the main that rules all the others. Anyway, by a certain degree all of them should be able to work independently.

Running the remote script as user -- not root -- on Ubuntu 22.04. First problem here: to drop the effort an "embedded" system should be used.
It can be Porteus itself but a TinyCore as X.org on framebuffer 23MB seems more reasonable and quick to download, everything else on-demand. Let see the log.

As you can see here below, the search for the fastest mirror succeeded but unfortunately hits the ONLY mirror out of standard in naming: dl.porteus.org.

Despite this, it is a bug into the script. In fact, using `bash -xi` it is clear the problem:
instead of
As you can see, it works also with THREE slashes. In conclusion: thanks for your test. I found a bug but not the one you notified. Try with like I did, and in case `bash -ix` and `ls -1 ./ ./moonwalker`

Code: Select all

# as user -- not root -- on Ubuntu 22.04

roberto@x280[3]:~mkdir -p /tmp/test; cd test

roberto@x280[3]:/tmp/test$ bash -i <(wget -qO- tinyurl.com/2csl7ae3) --clean

WARNING: the ISO image files are left untouched, do it manually

roberto@x280[3]:/tmp/test$ bash -i <(wget -qO- tinyurl.com/2csl7ae3) 

-> pwd: /tmp/test/moonwalker

###############################################

This is an on-demand from remote running script

###############################################

WARNING: script suggests 'v0.3.1' as last tagged, check for updates? [Y/n] 

-> tag: v0.3.1

WARNING: no any mirror selected, using 'https://mirrors.dotsrc.org'

Do you want to check for the fastest mirror available? [Y/n] 

WARNING: the script 'porteus-mirror-selection.sh' is missng

Downloading file: porteus-mirror-selection.sh

Do you want to download it from github? [Y/n] 
porteus-mirror-selection.sh      100%[===...=>]   2.87K  --.-KB/s    in 0.009s  

Sending one ping to all the mirrors, DNS caching ... done

Download speed testing for every mirror, wait.

01: https://ftp.cc.uoc.gr/pub/linux/porteus/
02: https://ftpmirror1.infania.net/mirror/porteus/
03: https://ftp.nluug.nl/os/Linux/distr/porteus/
04: https://ftp.riken.jp/Linux/porteus/
05: https://ftp.vim.org/ftp/os/Linux/distr/porteus/
06: https://linux.rz.rub.de/porteus/
07: https://mirrors.dotsrc.org/porteus/
08: https://mirror.yandex.ru/mirrors/porteus/
09: https://www6.frugalware.org/mirrors/linux/porteus/
10: https://www.mirrorservice.org/sites/dl.porteus.org/

10-wget-log: 1100 KB/s
08-wget-log: 741 KB/s
03-wget-log: 720 KB/s
07-wget-log: 674 KB/s
06-wget-log: 617 KB/s
02-wget-log: 535 KB/s
01-wget-log: 498 KB/s
04-wget-log: 203 KB/s

Fastest --> https://www.mirrorservice.org/sites/dl.porteus.org/ <-- 10: 1100 KB/s

updated 'porteus-mirror-selected.txt' file
updated 'porteus-mirror-allhttps.txt' file
created 'porteus-mirror-selected.log' file

done.

Downloading file: sha256sums.txt

Are you sure to continue? [Y/n]

[b]ERROR: downloading 'sha256sums.txt', abort![/b]

POST SCRIPTUM

Hopefully, these two commits will solve the issue you have notified to me:
  • + 7a42f0f - 2025-03-24 - test by M. Eerie: url composition bug found & fixed, p.2
  • + d832198 - 2025-03-24 - test by M. Eerie: url composition bug found & fixed
As long as, I managed to replicate your working conditions.

Post Reply