Page 1 of 1

Porteus-2.0 changelog

Posted: 23 Dec 2012, 21:25
by fanthom
Posting 2.0 changelog in advance so users can familiarize with changes made to the ISO.
Let us know if something is unclear so we can explain it with more details.

Long lecture so be prepared :)

- merged 'from_dev=' 'from_dir=' and 'from_iso' into one 'from=' cheatcode. See cheatcodes.txt for more on the 'from=' cheatcode as its behavior has changed from Porteus 1.2
- merged 'toroot' and 'noautologin' cheatcodes into one 'login=user_name' cheatcode. When no username is specified (or is spelled incorrectly) then booting stops at the kdm/lxdm/gdm login screen. Examples: 'login=root' 'login='
- extended 'changes=' cheatcode with 'changes=EXIT:' extenstion which tells linuxrc to save changes only once during shutdown and not in real-time.
- extended 'vga_detect' cheatcode with support for "amd-catalyst-legacy" drivers (HD2000-HD4000 series)
- added support for multiple folders to the 'extramod=' cheatcode. Example: 'extramod=folder1;folder2' (thanks to Thor for the suggestion).
- added the 'rammod=' cheatcode which lets users specify which modules should be loaded to RAM, for example: 'rammod=002;003' will copy only the xorg and lxde modules to RAM while the rest of the modules will be accessed from your booting media as normal. This may be useful for older PC's/netbooks with less RAM (thanks to Thor for suggestion).
- added 'zram=some_value%' cheatcode which converts the specified percentage of RAM into a compressed swap device, reducing I/O from the hard drive
- dropped 'iocharset=' and 'lang=' cheatcodes as they are obsolete. Please use Porteus-Settings-Centre to set your language/encoding in the system
- dropped 'passwd' cheatcode as we also have PSC for this task

wider comment on 'changes=EXIT:'
directories which are saved with the 'changes=EXIT:' cheatcode are tweakeable in /etc/changes_exit.conf. Users can for example remove everything and leave just /etc and /home or /var or /home/fanthom. The following directories are omitted by default: /boot /dev /media /mnt /proc /run /srv /sys /tmp.
'changes=EXIT:' has some important advantages:
- Porteus works as fast as it does in 'Always Fresh' mode as RAM serves as a buffer and data is dumped onto the user's drive only once during shutdown.
- reduced number of I/O should extend the life of usb sticks/SSD drives
- 'changes=EXIT:' still preserves complete 'persistence' functionality.
Here are the disadvantages:
- session is lost in the case of a hang (kernel crash) or power interrupt
- root's partition (/) size is limited to 60% of RAM (tweakeable with ramsize=some_value% cheatcode).

other linuxrc/initrd changes:
- switched to initramfs which still behaves like initrd (thanks to Tomas M from for reminding us about this possibility)
- added a separate initramfs that contains network drivers for PXE booting. Porteus-2.0 should support all wired devices out of the box.
- tweaked 'changes=' function to mount the aufs writable branch to /memory/changes instead of /memory. This way /images /xino /copy2ram folders will never be created in the'changes=destination' file/folder as they are not necessary there.
- all devices are mounted at the very beginning of linuxrc and moved to /union with 'mount --move' command. This way booting is faster as devices don't have to be mounted/unmounted twice: first time by linuxrc and second time by rc.S
- the /lib/modules folder from 000-kernel.xzm is bound to /lib/modules inside initrd once linuxrc finds the .sgn file. This way we have early access to all drivers so it's possible to place changes/additional_xzm's/rootcopy on filesystems not compiled directly into the kernel. For example it will be possible to boot from FAT (or ntfs, ext*, reiserfs, xfs) with changes saved on btrfs, nilfs2 or any other filesystem compiled as a kernel module.
- when the 'copy2ram' cheatcode is used, removable media will be still mounted in /mnt/sdXY if changes are saved on them
- the copy2ram function copies modules one by one and not all together. If there is not enough memory to load all modules then the rest are skipped so booting can continue.
- added 'asyncs' to default mounting options to extend usb stick/SSD drive lifetime.
- added 'utf8' mounting flag for FAT to get rid of the iocharset kernel warning
- vga_detect function updated to reflect the new name for ati drivers which from now on will be named as 'amd-catalyst' (supporting latest AMD GPU cards) and 'amd-catalyst-legacy' (supporting only HD2000-HD4000 series)
- at the end of the linuxrc phase all unneeded libraries, utilities and drivers (in case of PXE boot) are deleted from initrd to free up the memory
- tweaked cleanup script for ultra-fast and safe shutdown

wider comment on optimized shutdown time:
Porteus shutdown procedure has 3 scenarios:
a) "changes are not saved anywhere" in this scenario we do not care about anything. All processes get killed without a delay so shutdown is almost immediate.
b) "changes are saved on a device/file with changes= cheatcode" - in this scenario there is 2 sec delay before killing processes to let them terminate cleanly.
c) "changes are saved 'on exit'" - there is 3 sec delay during which the user can:
- press enter or space to start saving data from RAM to a drive immediately
- press any other key to skip saving changes. This is useful when something went wrong and user does not want to save this particular session
- do nothing and changes will be saved automatically after 3 sec delay

kernel config changes:
- added bonding support (stalane request)
- brought back multicast support (svqb request)

/boot and /porteus folder changes:
- moved all files and folders except for /docs and installers to /boot/syslinux folder to make /boot less cluttered
- replaced '' with new '' tool which automatically detects the filesystem type and uses extlinux for FAT/NTFS/EXT*/BTRFS filesystems and LILO for the rest. The installer also detects if the user is installing Porteus inside a subfolder and updates the 'from=' cheatcode automatically in the bootloader config. Please run the installer with the arguement '-- -s' to leave bootloader configs untouched.
- replaced 'with_start_here.hta' with new 'Porteus-installer-for-Windows.exe'
- upgraded to syslinux-4.06 which adds ntfs support
- removed 'Safe Vesa' mode from porteus.cfg and lilo.conf as it's not needed anymore.
- removed 'autoexec=telinit~3' from bootloader configs as Porteus-2.0 supports native runlevel switching built into /sbin/init. Providing runlevel number is enough to switch to it during boot. Examples: '1' for single user mode, '3' for text mode, '4' for GUI (default in Porteus) and '6' for reboot
- dropped vga=791 parameter form bootloader configs as the VESA framebuffer was causing booting problems on some PC's (Rava bug report)
- removed /porteus/tools and the /porteus/make_iso.bat script
- added "-l" flag to the /porteus/ script to allow up to 31 characters in the file names (thanks to sams)

rc.* script changes:
- tweaked rc.6 to take advantage of paralell deactivation, giving much faster shutdown in cases where many modules were activated during the live session
- added RAID support to rc.S and rc.6. These scripts will also search for LVM volumes on RAID devices.
- added "watch-xorg" script to rc.4 which loads xorg vesa config in case of Xorg failures. When the 'drm_kms_helper' driver is loaded then the modesetting driver is used instead of vesa.
- added non-executable /etc/rc.d/rc.inet1 to 002-xorg because when this module is present then Network Manager takes over the job.

porteus scripts changes:
- improved the pxe-boot script to rely on the /mnt/live/porteus symlink rather than /boot
- changes-time script wont copy empty directories to the final destination otherwise some unneeded files may also be copied
- fixed ungzipping of man archives placed in /usr/local directory in the txz2xzm script (thanks to sams)
- added a function to the dir2xzm script that ungzips man archives placed in /usr/local

userland changes:
- KDEVARTMP variable is set to /mnt/live/var/tmp instead of /var/tmp. This way, the big kde-cache files are always kept on tmpfs (in RAM), so KDE4 should be more responsive when the 'changes=' cheatcode is used.
- removed support for OSS (Open Sound System) as it has been deprecated in the kernel and userland for a long time
- almost all firmware is now merged into the 'extra-firmware' package
- added openvpn and pptp plugins to Network Manager
- omni.ja archive is re-compressed with 0 compression ratio resulting in smaller module (thanks to Tomas M for this tip)
- ungzipped svgz icons to save some space in the ISO (once again - thanks to Tomas M)
- added ifenslave utility (along with bonding support in kernel config)
- fixed deactivation of modules in text mode (thanks to Ahau)
- fixed lxpanel transparency issue. No more lxterminal popping up after login to LXDE session
- tweaked 'watch-proprietary' script which now removes /etc/X11/xorg.conf which may still be present after unloading nVidia/fglrx drivers (thanks to oranus for bug report)
- merged xterm tweaks to /etc/X11/xinit/.Xresources (thanks to bigbass)
- removed a setting for kbd delay under KDE4 for much faster response time
- enabled recursive activation/deactivation of folders containing xzm's (Hamza's request). Use '-o' flag to limit searches to one level only. Example: 'activate -o /folder/with_modules'
- disabled some apps which have equivalents in other desktops. example: lxtask wont be shown in KDE4 and ksysquard in LXDE
- tweaked wifi settings of pns-tool (cli version) as per Kiosk Edition defaults to make it more robust
- Laptop-Mode-Tools are enabled by default and controls all power related settings in Porteus
- removed support for wicd from boot scripts and 'nonetwork' cheatcode
- updated ksplash, kdm theme and sound theme
- added networkmanagement to KDE4 as nm-applet was not displayed properly in the systray (bug:
- added logrotate utility to prevent logs from growing too large

more to come....

Re: Porteus-2.0 changelog

Posted: 24 Dec 2012, 18:44
by Ahau
Here's the changelog for the Xfce editions (both architectures are essentially the same). All of the changes above apply to Xfce as well, except those specific to LXDE or KDE.

-added gtk3
-new gtk2/gtk3/xfwm4 theme (Evolve), icon theme (Meliae 1.2), and mouse pointer theme (Aero)
-added udisks2 and compiled gvfs against it, so gnome-disk-utility is no longer needed for automounting in thunar. Devices are now automounted to /run/media/$user/$uuid; showexec parameter has been removed from udisks2's mount options (this has been the case with udisks1 in earlier versions of Porteus as well)
-upgraded Thunar to latest development version (now with TABS!)
-replaced retrovol with volumeicon - this fits better with the panel theme. Note that if you right click and "open mixer" you will get alsamixer in a terminal. Unfortunately, every mixer I have been able to find is incredibly ugly, featureless, or brings in a mountain of dependencies. If anyone knows of any good apps, please let me know (but I've already tried at least a dozen without finding what I'm looking for)
-slock has been upgraded to 1.1 -- note that in this version, once you start typing, you get a blank blue screen instead of a blank black screen. This helps users know their keystrokes are getting recognized and the system isn't frozen or still sleeping.
-squeeze has been replaced by fileroller (made possible with gtk3). This now supports extracting/creating iso's in addition to all sorts of tar's, zips, etc.
-upgraded to geany 1.22 -you can now open tabs into new windows :)
-changed default font size in Terminal to 10 so that it doesn't take up so much room on the screen
-patched Thunar and mouse pad to remove warnings about being root user
-added: xfce4-sensors-plugin, xfce4-places-plugin, xfce4-netload-plugin, xfce4-mount-plugin, xfce4-dict (compiled by Robby Workman)
-New wallpaper (chameleon water)

-KNOWN BUG: ristretto freezes when you try to open svg's in it.

Please let me know if you run into any problems. Please be on the lookout for missing icons, as there are always some that I miss when I switch icon themes :)


Re: Porteus-2.0 changelog

Posted: 25 Dec 2012, 08:30
by kadalka
This part astonished me :
dropped 'iocharset=' and 'lang=' cheatcodes as they are obsolete. Please use Porteus-Settings-Centre to set your language/encoding in the system
It is something that we do need for every day use.

For example, I do want this feature because I would like the iocharset=iso... then after it loads I do want UTF-8.
I do need an english user interface with UTF-8 with fr as keyboard layout (AZERTY).
I don't want to go to PSC each time I use Porteus... :shock:

Most people do use Porteus as a Live CD... 8)

For example I do use Porteus Live CD now and it is not the original one but the one that loads some modules I've created !
I would not install Porteus: Slackware is to be installed if needed in some computers.

When new things are seen, then I recreate a new CD... :D

I did not read seriously all the stuff but I will do this as soon as possible.

Re: Porteus-2.0 changelog

Posted: 25 Dec 2012, 08:35
by kadalka
fanthom wrote:Posting 2.0 changelog in advance so users can familiarize with changes made to the ISO.
Let us know if something is unclear so we can explain it with more details.
removed 'Safe Vesa' mode from porteus.cfg and lilo.conf as it's not needed anymore
I do use safe vesa when the video driver is not correct. You can't use X without it !
I've done that three days ago ...

Re: Porteus-2.0 changelog

Posted: 25 Dec 2012, 08:53
by fanthom
I do want this feature because I would like the iocharset=iso... then after it loads I do want UTF-8.
we were using iocharset= cheat to set encoding for FAT and ISO9660 filesystems.
do you really want to mount these fs with (let's say) cp1250 and then remount everything with utf8?
what's the point?

btw: if user wants to have several language modules/encodings then they can use PSC->LST (language selection tool) and create "profiles" (xzm modules) with different settings. next step is to use 'load/noload' cheats and all should be ok.

the main thing behind cheatcode changes was to make them simpler and reduce their number by merging (where it was possible).
I do use safe vesa when the video driver is not correct. You can't use X without it !
Porteus is almost unbreakable as per:

Code: Select all

- added "watch-xorg" script to rc.4 which loads xorg vesa config in case of Xorg failures. When the 'drm_kms_helper' driver is loaded then the modesetting driver is used instead of vesa.
so yeah - we dont need 'safe vesa' anymore. Porteus should reach the GUI no matter what.
please test :)

thanks for the feedback.

Re: Porteus-2.0 changelog

Posted: 26 Dec 2012, 01:24
by francois
I find interesting the systematization of the cheatcodes. This is a good idea. I am trying to change my menu.lst with different cheatcodes. What would be the new menu.lst.
Here is my menu.lst for porteus 1.2 (kde 64bit):

Code: Select all

title porteus v10_64 on sda5 /64bit_v12
kernel (hd0,4)/64bit_v12/boot/vmlinuz from_dev=UUID:50edcee1-f9da-40ea-a91d-f969a784d748 from_dir=/64bit_v12/porteus changes=UUID:50edcee1-f9da-40ea-a91d-f969a784d748/64bit_v12/1.2_cfg toroot autoexec=
Here is the menu.lst that I have tried for 2.0:

Code: Select all

title porteus v2_64 on sda5 /64bit_v2_XFCE
kernel (hd0,4)/64bit_v2_XFCE/boot/vmlinuz from=/dev/sda5/porteus changes=EXIT login=root autoexec=
What is the problem? :)

Re: Porteus-2.0 changelog

Posted: 26 Dec 2012, 08:08
by fanthom

your menu.lst for porteus-2.0 should be:

Code: Select all

title porteus v2_64 on sda5 /64bit_v2_XFCE
kernel (hd0,4)/64bit_v2_XFCE/boot/syslinux/vmlinuz from=/dev/sda5/64bit_v2_XFCE changes=EXIT:/64bit_v2_XFCE/porteus login=root
first: kernel and initrd are placed in /boot/syslinux folder and not /boot (as it was in porteus-1.2) so please remember to change that for 3rd party bootloaders.
second: i wasn't sure where you want to save your changes so i used standard /porteus placed inside 64bit_v2_XFCE subfolder.
third: added 'EXIT:' extension so your changes will be saved only during reboot/shutdown.

should be ok now :wink:

Re: Porteus-2.0 changelog

Posted: 27 Dec 2012, 04:22
by francois
It works just fine. :D

The only problem is in dual display. We have spoke about this issue in 1.2, at that time you said that you might look at the problem for 2.0.

The screen on the two monitors is considered as if it was one, while you get xrandr values stating that it has two screen. The fact that it considers the two screen as being one spreads the panel across the two screens which is not very practical. You can imagine firefox covering the hole space of two screens? I have found a good thread on the topic: ... bug/403610
In post 35, citation:
As a workaround, I use ARandR ...
*** I have not been able to build arandr from source, neither I was successful to use some slackware binary source.
In post 38, the solution is to use output and left of:

Code: Select all

root@porteus:~/Desktop# xrandr --output LVDS1 --left-of VGA1
*** this does not work.
In addition, I have tried to work with the dual display from system settings > display and monitor, with no avail. :(

According to these guys the bug should had been fixed. I have tried porteus xfce 2.0. There is no such problem. However, the problem is there for razor-qt.

Thanks. :)

Re: Porteus-2.0 changelog

Posted: 20 Jan 2013, 08:31
by bdheeman
Most, if not all, of the live distributions support netboot over NFS. On a Debian workstation cum demo server I have:

cat /etc/fstab |grep /srv/live

Code: Select all

/mnt/sda9/boot/iso/debian-wheezy-xfce-32bit-dvd.iso  /srv/live/debian  iso9660  auto,ro,loop  0  0
/mnt/sda9/boot/iso/debian-wheezy-xfce-64bit-dvd.iso  /srv/live/debian64  iso9660  auto,ro,loop  0  0
/mnt/sda9/boot/iso/linuxmint-13-xfce-32bit-dvd.iso  /srv/live/mint  iso9660  auto,ro,loop  0  0
/mnt/sda9/boot/iso/linuxmint-13-xfce-64bit-dvd.iso  /srv/live/mint64  iso9660  auto,ro,loop  0  0
/mnt/sda9/boot/iso/porteus-2.0-xfce-32bit-cd.iso  /srv/live/porteus  iso9660  auto,ro,loop  0  0
/mnt/sda9/boot/iso/ubuntu-12.04-unity-32bit-dvd.iso  /srv/live/ubuntu  iso9660  auto,ro,loop  0  0
/mnt/sda9/boot/iso/zenlive-7.2-xfce-32bit-dvd.iso  /srv/live/zenwalk  iso9660  auto,ro,loop  0  0
so that I may make these available to local network over NFS as follows:

cat /etc/exports |grep ^/srv/live

Code: Select all

I also run DHCP and TFTP servers/daemons and have relevant entries for above in the /srv/tftp/pxelinux.cfg/default and relevant kernels and initrd images in the /srv/tftp in this way I may/can present net/remote booting on the road shows I organize and, or deliver to the F/OSS sponsors'. We can/may also use similar setup for cyber cafes, schools, universities and, or SME for net/remote booting 10s of 100s linux machines via PXE without touching their current installation and, or HDDs.

Everything else is working fine except for the Porteus and ZenLive, just because the linuxrc on these does not support mounting NFS shares.

IMHO, it would be nice to have such an important feature available on both the Porteus and ZenLive as well.

Re: Porteus-2.0 changelog

Posted: 20 Jan 2013, 11:00
by fanthom
added NFS support to my TODO list. it wont be done for 2.0 (too late for that) but will try to implement if for Porteus-2.1

Thanks for suggestion.