Building Blocks

Here is a place for your projects which are not officially supported by the Porteus Team. For example: your own kernel patched with extra features; desktops not included in the standard ISO like Gnome; base modules that are different than the standard ISO, etc...
Bogomips
Full of knowledge
Full of knowledge
Posts: 2564
Joined: 25 Jun 2014, 15:21
Distribution: 3.2.2 Cinnamon & KDE5
Location: London

Building Blocks

Post#1 by Bogomips » 08 Jan 2016, 13:09

TT4Foss wrote:A good learning task for new volunteers might to see if Slack.Porteus v3.1 could be recreated. Are there any script files used for that release (say perhaps in GitHub or some other fine repo)?

If enough people could pick up the skills to recreate Slack.Porteus v3.1 then an updated release should be much easier. There might be enough interest in Slack.Porteus for volunteers to start learning. It might be a painful process but the skills learned might prove to be invaluable down the road.

Not sure if there would be enough interest in such a group effort. If there is enough interest then perhaps start a new topic.

I've never built a system before so I'm guessing as to what skills would be required.
Some knowledge of bash would be required as would knowledge of how to build/install programs from source (including being able to read configure & make files) and a good overview of the boot process specific to the Linux base distribution (they are all a bit different).
A lot of us do not know just what is involved in a build. So let's start from scratch, and put together a step by step HOWTO. Hopefully someone who has previously grappled with this could provide Step One.

UPDATES UPDATES UPDATES UPDATES UPDATES UPDATES UPDATES UPDATES UPDATES

Upcoming iso Update

Rootcopy
  • Porteus Scripts
10th Feb 2016
md5sum: 82bda87a2d994ea462c0c1a8e9d20c08 abSlak_100216.iso

Boot Medium: USB (8-2-16)
  • vfat (8-2-16)
Boot Medium: CD/DVD (5-2-16)
  • iso (5-2-16 Jack verified)
  • udf
Boot Filesystem
  • vfat
  • ntfs
  • xfs
  • nfs
Rootcopy (porteusifying darkstar):
  • Install usm,gpm
  • Activate gpm
  • Porteus Scripts
5th Feb 2016

Update by Rootcopy resulting in porteusified Darkstar. 8) (See Earlier Post this Thread)

Accomplished on extracted Porteus Data or by ISO Modification. Seems less complicated to modify ISO. As an Example:
  1. Create Replacement Rootcopy Directory
  2. Populate with Porteus Procedures

    Code: Select all

    guest@porteus:~$ mkdir rootcopy/etc
    
    # Access Porteus Procedures
    guest@porteus:~$ mkdir  z  x 
    guest@porteus:~$ sudo mount Porteus-XFCE-v3.1-x86_64.iso z
    mount: block device /home/guest/Porteus-XFCE-v3.1-x86_64.iso is write-protected, mounting read-only
    guest@porteus:~$ sudo mount z/porteus/base/001-core.xzm x
    guest@porteus:~$ d=$(echo x/etc/*.d)
    guest@porteus:~$ echo "$d"
    x/etc/cron.d x/etc/dnsmasq.d x/etc/init.d x/etc/logrotate.d x/etc/modprobe.d x/etc/profile.d x/etc/rc.d x/etc/rc0.d x/etc/rc1.d x/etc/rc2.d x/etc/rc3.d x/etc/rc4.d x/etc/rc5.d x/etc/rc6.d x/etc/rcS.d x/etc/sensors.d x/etc/usb_modeswitch.d
    guest@porteus:~$ sudo cp -a $d rootcopy/etc
    guest@porteus:~$ sudo umount x z
    
  3. Using Iso Editor (Apps>Multimedia):
    1. Open abSlak_030216.iso
    2. Click open porteus directory
    3. Remove rootcopy
    4. Add replacement rootcopy directory
    5. Save as abSlak_050216.iso
  4. Enjoy!
3rd Feb 2016
ISO with porteus.cfg amended. All initrd.xz replaced with initrd.img.
md5sum: 915a798e416ed0cddae8641c040d1299 abSlak_030216.iso
Linux porteus 4.4.0-porteus #3 SMP PREEMPT Sat Jan 23 07:01:55 UTC 2016 i686 AMD Sempron(tm) 140 Processor AuthenticAMD GNU/Linux
NVIDIA Corporation C61 [GeForce 6150SE nForce 430] (rev a2) MemTotal: 901760 kB MemFree: 66752 kB

neko
DEV Team
DEV Team
Posts: 2109
Joined: 09 Feb 2013, 09:55
Distribution: APorteus-FVWM-ja-x86_64.iso
Location: japan

Re: Building Blocks

Post#2 by neko » 08 Jan 2016, 14:17

@Bogomips
wrote
"let's start from scratch."
Is it real ?

There are many softwares.
They almost have original base softwares.
Pure stand alone softwares that are not influenced from another may be a little.

I think that it might be better to employ the reverse engineering method.
First the current Porteus should be analysed.
And then, old packages might be replaced with new ones or new ideas might be implemented.

Thanks.

Bogomips
Full of knowledge
Full of knowledge
Posts: 2564
Joined: 25 Jun 2014, 15:21
Distribution: 3.2.2 Cinnamon & KDE5
Location: London

Re: Building Blocks

Post#3 by Bogomips » 08 Jan 2016, 16:03

neko wrote:I think that it might be better to employ the reverse engineering method.
First the current Porteus should be analysed.
Unfortunately if one is not a computer scientist, one would have no idea where to begin with the analysis. IMHO for us ordinary users it's got to be learning by doing. :(

Would an acceptable first step be to start off with Alien Bob's Live Slackware?
Linux porteus 4.4.0-porteus #3 SMP PREEMPT Sat Jan 23 07:01:55 UTC 2016 i686 AMD Sempron(tm) 140 Processor AuthenticAMD GNU/Linux
NVIDIA Corporation C61 [GeForce 6150SE nForce 430] (rev a2) MemTotal: 901760 kB MemFree: 66752 kB

kalo86
Samurai
Samurai
Posts: 177
Joined: 28 Mar 2011, 18:04
Location: Italy

Re: Building Blocks

Post#4 by kalo86 » 09 Jan 2016, 14:52

I would like to know this famous "Step One" :)
I made a little modification on Porteus v3.1 upgrading the xorg module but the procedure (specially when it's done manually) is very slow and difficult.
I would appreciate to understand the right procedure.
Regards,

kalo86

Bogomips
Full of knowledge
Full of knowledge
Posts: 2564
Joined: 25 Jun 2014, 15:21
Distribution: 3.2.2 Cinnamon & KDE5
Location: London

Re: Building Blocks

Post#5 by Bogomips » 10 Jan 2016, 01:43

No objections to Step One. So Step Two I would see as tinkering with the initrd. Following neko's recommendation for reverse engineering, one would replace all the object files with those from the new release as a start.
Linux porteus 4.4.0-porteus #3 SMP PREEMPT Sat Jan 23 07:01:55 UTC 2016 i686 AMD Sempron(tm) 140 Processor AuthenticAMD GNU/Linux
NVIDIA Corporation C61 [GeForce 6150SE nForce 430] (rev a2) MemTotal: 901760 kB MemFree: 66752 kB

neko
DEV Team
DEV Team
Posts: 2109
Joined: 09 Feb 2013, 09:55
Distribution: APorteus-FVWM-ja-x86_64.iso
Location: japan

Re: Building Blocks

Post#6 by neko » 10 Jan 2016, 02:45

@Bogomips
[For "Step Two"]
I have traced source of linuxrc in initrd.xz that was written by fanthom and modified by brokenman.
I rewrote whole, inserted new functions, and integrated original version and nemesis version.
If this result might be referenced for you to tinker initrd, I am glad.

http://www.mediafire.com/download/4ty06 ... .initrd.xz

Thanks.

Bogomips
Full of knowledge
Full of knowledge
Posts: 2564
Joined: 25 Jun 2014, 15:21
Distribution: 3.2.2 Cinnamon & KDE5
Location: London

Re: Building Blocks

Post#7 by Bogomips » 10 Jan 2016, 14:59

Thanks, neko. Being a JIT person, only just yesterday got to look at linuxrc. Will be interesting to see how your rewrite compares with the original. However at the moment having trouble cracking an rpm. Looks like will have to put it to the big boys at Stack Overflow. :wink:

Mloop came up with confusing messages, when being used to view initrd. Now worked out that that is all geared to tinkering with the initrd. :) Just came across a nifty little tar that can be used for listing initrd, or, for example, extracting just the one file from initrd: 'bsdtar -xf initrd.xz linuxrc'. Does all compressions and even does rpm:

Code: Select all

guest@porteus:~/tst$ bsdtar -tf libffi5-3.0.9-5-rosa.lts2012.0.i586.rpm
./usr/lib/libffi.so.5
./usr/lib/libffi.so.5.0.10
./usr/share/doc/libffi5
./usr/share/doc/libffi5/LICENSE
./usr/share/doc/libffi5/README
Linux porteus 4.4.0-porteus #3 SMP PREEMPT Sat Jan 23 07:01:55 UTC 2016 i686 AMD Sempron(tm) 140 Processor AuthenticAMD GNU/Linux
NVIDIA Corporation C61 [GeForce 6150SE nForce 430] (rev a2) MemTotal: 901760 kB MemFree: 66752 kB

User avatar
brokenman
Site Admin
Site Admin
Posts: 6105
Joined: 27 Dec 2010, 03:50
Distribution: Porteus v4 all desktops
Location: Brazil

Re: Building Blocks

Post#8 by brokenman » 10 Jan 2016, 22:07

Here is a list of packages I am using for 001-core.xzm in slackware-current porteus.

Code: Select all

NetworkManager-1.0.10-x86_64-1.txz
aaa_base-14.1-x86_64-1.txz
aaa_elflibs-14.2-x86_64-9.txz
aaa_terminfo-5.9-x86_64-1.txz
acl-2.2.52-x86_64-1.txz
acpid-2.0.23-x86_64-1.txz
alsa-lib-1.1.0-x86_64-1.txz
alsa-utils-1.1.0-x86_64-1.txz
attr-2.4.47-x86_64-1.txz
bash-4.3.042-x86_64-1.txz
bc-1.06.95-x86_64-3.txz
bin-11.1-x86_64-1.txz
bridge-utils-1.5-x86_64-1.txz
bzip2-1.0.6-x86_64-1.txz
cdrtools-3.01-x86_64-2.txz
cgmanager-20140710_986cd44-x86_64-1.txz
cifs-utils-6.4-x86_64-1.txz
coreutils-8.24-x86_64-1.txz
cpio-2.11-x86_64-2.txz
curl-7.45.0-x86_64-1.txz
cyrus-sasl-2.1.26-x86_64-1.txz
dbus-1.10.4-x86_64-1.txz
dcron-4.5-x86_64-4.txz
dhcpcd-6.8.2-x86_64-2.txz
dialog-1.2_20130523-x86_64-1.txz
diffutils-3.3-x86_64-1.txz
dmapi-2.2.12-x86_64-1.txz
dmidecode-2.12-x86_64-1.txz
dnsmasq-2.72-x86_64-1.txz
dosfstools-3.0.28-x86_64-1.txz
dvd+rw-tools-7.1-x86_64-2.txz
e2fsprogs-1.42.13-x86_64-2.txz
eject-2.1.5-x86_64-4.txz
elfutils-0.163-x86_64-1.txz
etc-14.2-x86_64-4.txz
ethtool-3.10-x86_64-1.txz
eudev-3.1.5-x86_64-7jay.txz
file-5.25-x86_64-1.txz
findutils-4.4.2-x86_64-1.txz
floppy-5.5-x86_64-1.txz
fuse-2.9.3-x86_64-1.txz
gawk-4.1.3-x86_64-1.txz
gdbm-1.11-x86_64-1.txz
gettext-0.19.6-x86_64-1.txz
glibc-solibs-2.22-x86_64-1.txz
glibc-zoneinfo-2015g-noarch-1.txz
gpm-1.20.7-x86_64-3.txz
gptfdisk-1.0.0-x86_64-1.txz
grep-2.22-x86_64-1.txz
groff-1.22.3-x86_64-1.txz
gzip-1.6-x86_64-1.txz
hdparm-9.48-x86_64-1.txz
httpfs2-0.1.5-x86_64-1jay.txz
hwdata-0.283-noarch-1.txz
ifenslave-1.1.0-x86_64-1ftm.tgz
infozip-6.0-x86_64-3.txz
iproute2-3.18.0-x86_64-2.txz
iptables-1.4.21-x86_64-1.txz
iputils-s20140519-x86_64-1.txz
ipw2100-fw-1.3-fw-1.txz
ipw2200-fw-3.1-fw-1.txz
kbd-1.15.3-x86_64-2.txz
kmod-22-x86_64-1.txz
laptop-mode-tools-1.65-x86_64-1jay.tgz
less-481-x86_64-1.txz
libcap-2.22-x86_64-1.txz
libffi-3.2.1-x86_64-1.txz
libgudev-230-x86_64-1.txz
libidn-1.30-x86_64-1.txz
libmnl-1.0.3-x86_64-1.txz
libndp-1.4-x86_64-1.txz
libnetfilter_conntrack-1.0.4-x86_64-1.txz
libnfnetlink-1.0.1-x86_64-1.txz
libnftnl-1.0.3-x86_64-1.txz
libnih-1.0.3-x86_64-2.txz
libnl3-3.2.25-x86_64-1.txz
libpcap-1.7.4-x86_64-1.txz
libraw1394-2.1.0-x86_64-1.txz
libraw1394-2.1.1-x86_64-1.txz
libssh2-1.6.0-x86_64-1.txz
libtermcap-1.2.3-x86_64-7.txz
libusb-1.0.20-x86_64-1.txz
libusb-compat-0.1.5-x86_64-2.txz
lm_sensors-3.4.0-x86_64-1.txz
logrotate-3.8.9-x86_64-1.txz
lsof-4.83-x86_64-1.txz
lvm2-2.02.134-x86_64-1.txz
lynx-2.8.7-x86_64-3.txz
lzip-1.16-x86_64-1.txz
lzo-2.09-x86_64-1.txz
man-1.6g-x86_64-3.txz
mc-4.8.15-x86_64-1.txz
mdadm-3.3.2-x86_64-1.txz
mpfr-3.1.3-x86_64-1.txz
ncurses-5.9-x86_64-4.txz
net-tools-1.60.20120726git-x86_64-1.txz
network-scripts-14.2-noarch-1.txz
newt-0.52.18-x86_64-1.txz
nfs-utils-1.3.3-x86_64-1.txz
ntfs-3g-2015.3.14-x86_64-1jay.txz
openssh-7.1p1-x86_64-1.txz
openssl-1.0.2e-x86_64-1.txz
openvpn-2.3.6-x86_64-1.txz
p7zip-9.38.1-x86_64-2jay.txz
parted-3.2-x86_64-2.txz
patch-2.7.4-x86_64-1.txz
pciutils-3.4.0-x86_64-1.txz
pcre-8.38-x86_64-1.txz
perl-5.22.0-x86_64-1.txz
pkgtools-14.2-noarch-4.txz
popt-1.16-x86_64-2.txz
portmap-6.0-x86_64-1.txz
powertop-2.8-x86_64-1.txz
ppp-2.4.7-x86_64-1.txz
pptp-1.8.0-x86_64-1jay.tgz
procps-ng-3.3.10-x86_64-4.txz
readline-6.3-x86_64-2.txz
reiserfsprogs-3.6.24-x86_64-1.txz
rfkill-0.5-x86_64-1.txz
rp-pppoe-3.12-x86_64-1.txz
rpm-4.10.0-x86_64-1.txz
rpm2tgz-1.2.2-x86_64-1.txz
rsync-3.1.1-x86_64-1.txz
screen-4.3.1-x86_64-2.txz
sdparm-1.08-x86_64-1.txz
sed-4.2.2-x86_64-1.txz
sg3_utils-1.36-x86_64-1.txz
shadow-4.2.1-x86_64-1.txz
slocate-3.1-x86_64-4.txz
smartmontools-6.4-x86_64-1.txz
sqlite-3.9.2-x86_64-2.txz
squashfs-tools-4.3-x86_64-1.txz
sshfs-fuse-2.5-x86_64-1jay.tgz
strace-4.10-x86_64-1.txz
sysfsutils-2.1.0-x86_64-1.txz
sysklogd-1.5-x86_64-2.txz
sysvinit-2.88dsf-x86_64-4.txz
sysvinit-functions-8.53-x86_64-2.txz
sysvinit-scripts-2.0-noarch-24.txz
tar-1.26-x86_64-1.tgz
telnet-0.17-x86_64-2.txz
tofrodos-1.7.13-x86_64-1jay.txz
traceroute-2.0.19-x86_64-1.txz
unrar-5.3.4-x86_64-1jay.txz
usb_modeswitch-2.2.1-x86_64-1.txz
usbmuxd-1.1.0-x86_64-1.txz
usbutils-007-x86_64-3.txz
usm-3.1.9-noarch-1.txz
utempter-1.1.5-x86_64-1.txz
util-linux-2.26.2-x86_64-2.txz
webfs-1.21-x86_64-1jay.txz
wget-1.17-x86_64-1.txz
wgetpaste-2.25-noarch-1jay.tgz
which-2.20-x86_64-1.txz
whois-5.2.10-x86_64-1.txz
wireless-tools-29-x86_64-9.txz
wpa_supplicant-2.4-x86_64-2.txz
xfsdump-3.1.6-x86_64-1.txz
xfsprogs-4.3.0-x86_64-1.txz
xz-5.2.2-x86_64-1.txz
zd1211-firmware-1.4-fw-1.txz
zlib-1.2.8-x86_64-1.txz
To dismantle initrd.xz please use:

Code: Select all

mkdir /tmp/initrd
cd /tmp/initrd
xz -d < /path/to/initrd.xz | cpio -i
How do i become super user?
Wear your underpants on the outside and put on a cape.

Kriss
Samurai
Samurai
Posts: 135
Joined: 06 Jul 2011, 07:07
Location: Russia

Re: Building Blocks

Post#9 by Kriss » 11 Jan 2016, 09:31

May I ask the purpose of these actions? As usual, I'm not sure I understand it completely...
Why someone want to create Porteus from scratch?
Something was changed since Porteus 3.1?
I mean it's slackware 14.1, only "current" is newer than that...
In this case it's easier to just repack corresponding module.

In short, as I see it the process is quite simple:
1)Place and tune syslinux on your media
2)initrd.xz and vmlinuz
vmlinuz - it's a kernel, don't know what else to say...
Most interesting in initrd.xz is linuxrc file.
I had to tweak it only once, brokenman already said how to dismantle it.
You can create initrd.xz from the files in current directory using "find | cpio -H newc -o | xz --check=crc32 --x86 --lzma2 > ../initrd.xz" (I found it on these forums in one of the fanthom's post)
3)Modules
If I'm not mistaken, their contents can be seen in /mnt/live/memory/images/$MODULENAME.xzm/var/log/packages)
Not sure how "slimmed down" they are and if it's reflected somewhere.
Also, there are scripts in 001-core.xzm/opt/porteus-scripts and they aren't mentioned anywhere...
Last edited by Kriss on 11 Jan 2016, 10:15, edited 1 time in total.
Suggestions/corrections/additions are always welcome.

fullmoonremix

Re: Building Blocks

Post#10 by fullmoonremix » 11 Jan 2016, 10:12

Salutations... :good:

@kalo86... I can attest to the difficulty of a 002-xorg redo. :wall: I used brokenman's idea
about possibly creating a Nemesis 002-openbox to build the rest on (eg. 003-lxqt).
Removing all modules above 002 should boot you into an openbox DM with an xterm popup after boot, ready for installin whatever you wish.
However... my version is 002-pekwm (PekWM is a Mint like frontend fork of Awesome using NO toolkits or Mesa only "xcb").
I got SlimDM to install without errors but still do NOT have a functional PekWM/SlimDM environment.
File:PekWM running on Arch Linux.png
http://slakfinder.org/index.php?act=sea ... e=#results

I'm trying to build a </= 150mb Porteus so if anyone knows how to do this module (and post the module and/or tutorial) I'll sign up. :Yahoo!:
@brokenman... where do I go to get my status bumped back up to "Shogun"??? After alll... I am blue4meridian (I can't access my old account).

Best Regards... :beer:
Last edited by fullmoonremix on 17 Jan 2016, 09:44, edited 2 times in total.

Bogomips
Full of knowledge
Full of knowledge
Posts: 2564
Joined: 25 Jun 2014, 15:21
Distribution: 3.2.2 Cinnamon & KDE5
Location: London

Re: Building Blocks

Post#11 by Bogomips » 11 Jan 2016, 13:42

Kriss wrote:May I ask the purpose of these actions? As usual, I'm not sure I understand it completely...
This is a learning exercise for us who know nothing. Please feel free to contribute. :wink:
brokenman wrote:Here is a list of packages I am using for 001-core.xzm in slackware-current porteus.
Thanks.
brokenman wrote:To dismantle initrd.xz please use:

Code: Select all

mkdir /tmp/initrd
cd /tmp/initrd
xz -d < /path/to/initrd.xz | cpio -i
But your mloop seems to be doing sterling job, at least for 3.1. Made backup of initrd.xz, then unpacked into /tmp/mloop, and informed to cd to that directory and invoke mkinitrd, probably using initrd.txt to update the backed up initrd.
Kriss wrote:Why someone want to create Porteus from scratch?
Something was changed since Porteus 3.1?
I mean it's slackware 14.1, only "current" is newer than that...
Wishing to be titch more amitious than 3.1, and proceed from AB's live cd as already proposed first step.
Kriss wrote:Also, there are scripts in 001-core.xzm/opt/porteus-scripts and they aren't mentioned anywhere...
Good to know. :)
Linux porteus 4.4.0-porteus #3 SMP PREEMPT Sat Jan 23 07:01:55 UTC 2016 i686 AMD Sempron(tm) 140 Processor AuthenticAMD GNU/Linux
NVIDIA Corporation C61 [GeForce 6150SE nForce 430] (rev a2) MemTotal: 901760 kB MemFree: 66752 kB

Bogomips
Full of knowledge
Full of knowledge
Posts: 2564
Joined: 25 Jun 2014, 15:21
Distribution: 3.2.2 Cinnamon & KDE5
Location: London

Re: Building Blocks

Post#12 by Bogomips » 13 Jan 2016, 23:57

Now have 4 x linuxrc to examine and compare: 3.1, Alien Bob's, neko's rewrite and MagOS. 8)

Code: Select all

guest@porteus:~$ bsdtar -tf slackware64-live-xfce-current.iso | less
guest@porteus:~$ bsdtar -xf slackware64-live-xfce-current.iso boot/initrd.img
guest@porteus:~$ mv boot/initrd.img boot/initrd.gz
guest@porteus:~$ mkdir tst
guest@porteus:~$ cd tst
guest@porteus:~/tst$ gunzip ../boot/initrd.gz 

guest@porteus:~$ file boot/initrd 
boot/initrd: ASCII cpio archive (SVR4 with no CRC)
guest@porteus:~$ ls -lh boot/initrd 
-rw-r--r-- 1 guest guest 19M Dec 24 12:10 boot/initrd

guest@porteus:~/tst$ cpio -dim < ../boot/initrd   
cpio: dev/null: Cannot mknod: Operation not permitted
cpio: dev/ram12: Cannot mknod: Operation not permitted
cpio: dev/loop0: Cannot mknod: Operation not permitted
...
cpio: dev/ram: Cannot mknod: Operation not permitted
cpio: dev/vdb1: Cannot mknod: Operation not permitted
38401 blocks
guest@porteus:~/tst$ ls
bin/  init*        lib/                  luksdev  proc/      rootdev  sbin/  wait-for-root
dev/  initrd-name  lib64/                lukskey  resumedev  rootfs   sys/
etc/  keymap       load_kernel_modules*  mnt/     root/      run/     usr/
No linuxrc here, but found an 'init'.
@neko
Thought how they do modules in their initrd could be of interest: md5sum initrd.gz
55ef4174390b8547639f51778f019414 initrd.gz. Also their linuxrc seems to be pretty straight forward. :)
Linux porteus 4.4.0-porteus #3 SMP PREEMPT Sat Jan 23 07:01:55 UTC 2016 i686 AMD Sempron(tm) 140 Processor AuthenticAMD GNU/Linux
NVIDIA Corporation C61 [GeForce 6150SE nForce 430] (rev a2) MemTotal: 901760 kB MemFree: 66752 kB

Kriss
Samurai
Samurai
Posts: 135
Joined: 06 Jul 2011, 07:07
Location: Russia

Re: Building Blocks

Post#13 by Kriss » 14 Jan 2016, 07:02

Bogomips wrote:...
Wishing to be titch more amitious than 3.1, and proceed from AB's live cd as already proposed first step.
...
Yes, it's good to know that there's slackware-live, but it's in beta stage and as I understand (I didn't have much time to study it yet), it works directly from usb flash without using RAM and that limits its usage for me.
I'll try to take a look at it on the weekend, things are hectic at the work when we wrap-up documents for the past year. And I'm generally slow :D

Oh, BTW, here's the script I use to unpack/pack initrd:

Code: Select all

#!/bin/bash

#Renaming initrd.img to initrd.gz
INITRDIMG=$(find ./ -type f -maxdepth 1 -iname "initrd*" -iname "*.img")
if [ ! "$INITRDIMG" == "" ] && [ $(echo "$INITRDIMG" | wc -l) -eq 1 ];then
  mv "$INITRDIMG" "${INITRDIMG::-4}.gz"
fi

#Unpacking and removing initrd*.xz or initrd*.gz
INITRDGZ=$(find ./ -type f -maxdepth 1 -iname "initrd*" -iname "*.gz")
INITRDXZ=$(find ./ -type f -maxdepth 1 -iname "initrd*" -iname "*.xz")
if [ ! "$INITRDXZ" == "" ] && [ $(echo "$INITRDXZ" | wc -l) -eq 1 ];then
    xz -d < "$INITRDXZ" | cpio -i
    rm "$INITRDXZ"
elif [ ! "$INITRDGZ" == "" ] && [ $(echo "$INITRDGZ" | wc -l) -eq 1 ];then
    gunzip "$INITRDGZ"
    cpio -id < "${INITRDGZ::-3}"
    rm "${INITRDGZ::-3}"
elif [ "$*" == "xz" ];then
    find | cpio -H newc -o | xz --check=crc32 --x86 --lzma2 > ../newinitrd.xz
elif [ "$*" == "gz" ];then
    find . | cpio --create --format='newc' | gzip > ../newinitrd.gz
fi
using this script with "xz" or "gz" parameters will create ../newinitrd.xz or ../newinitrd.gz containing files in your current directory
otherwise it will rename any initrd.img to initrd.gz, then unpack any initrd*.gz and initrd*.xz to current directory and delete it

For those, wishing to compare:
init from Slackware-live
linuxrc from Porteus (with simple tweak, I placed vga_detect under EXTRAMOD, so it's almost nothing)
Suggestions/corrections/additions are always welcome.

Jack
Contributor
Contributor
Posts: 1857
Joined: 09 Aug 2013, 14:25
Distribution: Porteus and Nemesis
Location: USA

Re: Building Blocks

Post#14 by Jack » 17 Jan 2016, 06:36

brokenman wrote:Here is a list of packages I am using for 001-core.xzm in slackware-current porteus.

Code: Select all

NetworkManager-1.0.10-x86_64-1.txz
aaa_base-14.1-x86_64-1.txz
aaa_elflibs-14.2-x86_64-9.txz
aaa_terminfo-5.9-x86_64-1.txz
acl-2.2.52-x86_64-1.txz
acpid-2.0.23-x86_64-1.txz
alsa-lib-1.1.0-x86_64-1.txz
alsa-utils-1.1.0-x86_64-1.txz
attr-2.4.47-x86_64-1.txz
bash-4.3.042-x86_64-1.txz
bc-1.06.95-x86_64-3.txz
bin-11.1-x86_64-1.txz
bridge-utils-1.5-x86_64-1.txz
bzip2-1.0.6-x86_64-1.txz
cdrtools-3.01-x86_64-2.txz
cgmanager-20140710_986cd44-x86_64-1.txz
cifs-utils-6.4-x86_64-1.txz
coreutils-8.24-x86_64-1.txz
cpio-2.11-x86_64-2.txz
curl-7.45.0-x86_64-1.txz
cyrus-sasl-2.1.26-x86_64-1.txz
dbus-1.10.4-x86_64-1.txz
dcron-4.5-x86_64-4.txz
dhcpcd-6.8.2-x86_64-2.txz
dialog-1.2_20130523-x86_64-1.txz
diffutils-3.3-x86_64-1.txz
dmapi-2.2.12-x86_64-1.txz
dmidecode-2.12-x86_64-1.txz
dnsmasq-2.72-x86_64-1.txz
dosfstools-3.0.28-x86_64-1.txz
dvd+rw-tools-7.1-x86_64-2.txz
e2fsprogs-1.42.13-x86_64-2.txz
eject-2.1.5-x86_64-4.txz
elfutils-0.163-x86_64-1.txz
etc-14.2-x86_64-4.txz
ethtool-3.10-x86_64-1.txz
eudev-3.1.5-x86_64-7jay.txz
file-5.25-x86_64-1.txz
findutils-4.4.2-x86_64-1.txz
floppy-5.5-x86_64-1.txz
fuse-2.9.3-x86_64-1.txz
gawk-4.1.3-x86_64-1.txz
gdbm-1.11-x86_64-1.txz
gettext-0.19.6-x86_64-1.txz
glibc-solibs-2.22-x86_64-1.txz
glibc-zoneinfo-2015g-noarch-1.txz
gpm-1.20.7-x86_64-3.txz
gptfdisk-1.0.0-x86_64-1.txz
grep-2.22-x86_64-1.txz
groff-1.22.3-x86_64-1.txz
gzip-1.6-x86_64-1.txz
hdparm-9.48-x86_64-1.txz
httpfs2-0.1.5-x86_64-1jay.txz
hwdata-0.283-noarch-1.txz
ifenslave-1.1.0-x86_64-1ftm.tgz
infozip-6.0-x86_64-3.txz
iproute2-3.18.0-x86_64-2.txz
iptables-1.4.21-x86_64-1.txz
iputils-s20140519-x86_64-1.txz
ipw2100-fw-1.3-fw-1.txz
ipw2200-fw-3.1-fw-1.txz
kbd-1.15.3-x86_64-2.txz
kmod-22-x86_64-1.txz
laptop-mode-tools-1.65-x86_64-1jay.tgz
less-481-x86_64-1.txz
libcap-2.22-x86_64-1.txz
libffi-3.2.1-x86_64-1.txz
libgudev-230-x86_64-1.txz
libidn-1.30-x86_64-1.txz
libmnl-1.0.3-x86_64-1.txz
libndp-1.4-x86_64-1.txz
libnetfilter_conntrack-1.0.4-x86_64-1.txz
libnfnetlink-1.0.1-x86_64-1.txz
libnftnl-1.0.3-x86_64-1.txz
libnih-1.0.3-x86_64-2.txz
libnl3-3.2.25-x86_64-1.txz
libpcap-1.7.4-x86_64-1.txz
libraw1394-2.1.0-x86_64-1.txz
libraw1394-2.1.1-x86_64-1.txz
libssh2-1.6.0-x86_64-1.txz
libtermcap-1.2.3-x86_64-7.txz
libusb-1.0.20-x86_64-1.txz
libusb-compat-0.1.5-x86_64-2.txz
lm_sensors-3.4.0-x86_64-1.txz
logrotate-3.8.9-x86_64-1.txz
lsof-4.83-x86_64-1.txz
lvm2-2.02.134-x86_64-1.txz
lynx-2.8.7-x86_64-3.txz
lzip-1.16-x86_64-1.txz
lzo-2.09-x86_64-1.txz
man-1.6g-x86_64-3.txz
mc-4.8.15-x86_64-1.txz
mdadm-3.3.2-x86_64-1.txz
mpfr-3.1.3-x86_64-1.txz
ncurses-5.9-x86_64-4.txz
net-tools-1.60.20120726git-x86_64-1.txz
network-scripts-14.2-noarch-1.txz
newt-0.52.18-x86_64-1.txz
nfs-utils-1.3.3-x86_64-1.txz
ntfs-3g-2015.3.14-x86_64-1jay.txz
openssh-7.1p1-x86_64-1.txz
openssl-1.0.2e-x86_64-1.txz
openvpn-2.3.6-x86_64-1.txz
p7zip-9.38.1-x86_64-2jay.txz
parted-3.2-x86_64-2.txz
patch-2.7.4-x86_64-1.txz
pciutils-3.4.0-x86_64-1.txz
pcre-8.38-x86_64-1.txz
perl-5.22.0-x86_64-1.txz
pkgtools-14.2-noarch-4.txz
popt-1.16-x86_64-2.txz
portmap-6.0-x86_64-1.txz
powertop-2.8-x86_64-1.txz
ppp-2.4.7-x86_64-1.txz
pptp-1.8.0-x86_64-1jay.tgz
procps-ng-3.3.10-x86_64-4.txz
readline-6.3-x86_64-2.txz
reiserfsprogs-3.6.24-x86_64-1.txz
rfkill-0.5-x86_64-1.txz
rp-pppoe-3.12-x86_64-1.txz
rpm-4.10.0-x86_64-1.txz
rpm2tgz-1.2.2-x86_64-1.txz
rsync-3.1.1-x86_64-1.txz
screen-4.3.1-x86_64-2.txz
sdparm-1.08-x86_64-1.txz
sed-4.2.2-x86_64-1.txz
sg3_utils-1.36-x86_64-1.txz
shadow-4.2.1-x86_64-1.txz
slocate-3.1-x86_64-4.txz
smartmontools-6.4-x86_64-1.txz
sqlite-3.9.2-x86_64-2.txz
squashfs-tools-4.3-x86_64-1.txz
sshfs-fuse-2.5-x86_64-1jay.tgz
strace-4.10-x86_64-1.txz
sysfsutils-2.1.0-x86_64-1.txz
sysklogd-1.5-x86_64-2.txz
sysvinit-2.88dsf-x86_64-4.txz
sysvinit-functions-8.53-x86_64-2.txz
sysvinit-scripts-2.0-noarch-24.txz
tar-1.26-x86_64-1.tgz
telnet-0.17-x86_64-2.txz
tofrodos-1.7.13-x86_64-1jay.txz
traceroute-2.0.19-x86_64-1.txz
unrar-5.3.4-x86_64-1jay.txz
usb_modeswitch-2.2.1-x86_64-1.txz
usbmuxd-1.1.0-x86_64-1.txz
usbutils-007-x86_64-3.txz
usm-3.1.9-noarch-1.txz
utempter-1.1.5-x86_64-1.txz
util-linux-2.26.2-x86_64-2.txz
webfs-1.21-x86_64-1jay.txz
wget-1.17-x86_64-1.txz
wgetpaste-2.25-noarch-1jay.tgz
which-2.20-x86_64-1.txz
whois-5.2.10-x86_64-1.txz
wireless-tools-29-x86_64-9.txz
wpa_supplicant-2.4-x86_64-2.txz
xfsdump-3.1.6-x86_64-1.txz
xfsprogs-4.3.0-x86_64-1.txz
xz-5.2.2-x86_64-1.txz
zd1211-firmware-1.4-fw-1.txz
zlib-1.2.8-x86_64-1.txz
To dismantle initrd.xz please use:

Code: Select all

mkdir /tmp/initrd
cd /tmp/initrd
xz -d < /path/to/initrd.xz | cpio -i
brokenman,

Do you have the slackware-current porteus list for 002-xorg.xzm? If so do you care to post it?

Jack
I just like Slackware because I think it teach you about Linux to build packages where Ubuntu is like Windows you just install programs you want.

Kriss
Samurai
Samurai
Posts: 135
Joined: 06 Jul 2011, 07:07
Location: Russia

Re: Building Blocks

Post#15 by Kriss » 17 Jan 2016, 08:24

Tweaked Slackware-live init to include "toram" option. At least it should work that way...
Also, subdirectories in "system" and "addons" are checked for modules.
https://cbkoin.ru:450/uploads/Files/init.before
https://cbkoin.ru:450/uploads/Files/init.after
https://cbkoin.ru:450/uploads/Files/init.diff
https://cbkoin.ru:450/uploads/Files/initrd.img

Added vgadetect option to "initrd.img" along with fanthom's code (hope he don't mind...), but it doesn't work yet.
Edit: deleted vgadetect for the time being.
Last edited by Kriss on 19 Jan 2016, 02:05, edited 1 time in total.
Suggestions/corrections/additions are always welcome.

Post Reply