Page 1 of 4

[How to] manually upgrade 3.5 base modules

Posted: 18 Dec 2016, 01:17
by ncmprhnsbl
one way to upgrade porteus/nemesis 3.5 001, 002 modules
Heres the ones i made:
find them here: 2019 updated base modules

NOTE: this was the process as of DEC-2016, please read the whole thread to see subsequent changes
Most important is that Manjaro core repo are now replaced with Artix repos(system,galaxy,world), since that (soon) Manjaro-openrc will be discontinued.
As of 26-Sept-2017: Manjaro repos(extra,community) will no longer be used, instead, Arch repos(extra,community) will be used.
I recomend using the supplied updated modules above


Here i describe my process for upgrading the base modules of nemesis..
all steps were done using a partially upgraded(with an extra module) version,
so ssl and dcadec issues weren't encountered..
everthing done in X environment with a terminal, cut and paste, and a filemanager.

step1
make a directory on a ext() partition(say for eg. sdaX), we'll call it 'update'
copy 001-core.xzm to 'update'
extract it:

Code: Select all

# cd /mnt/sdaX/update 
# mkdir 001-core
# xzm2dir  001-core.xzm 001-core
step2
copy the /var/lib/pacman/local/ALPM_DB_VERSION from the live system to extracted 001-core

step3
this command will supply a text file to /tmp named pkglist with the names of all the package names (without version info) in the target module

Code: Select all

# pacman -Qr /path/to/extracted/module | awk '{print $1}' > /tmp/pkglist
List of packages:

001-core (19.12.2016):

Code: Select all

acl acpid acpid-openrc archlinux-keyring attr bash bzip2 ca-certificates ca-certificates-cacert ca-certificates-mozilla ca-certificates-utils cdrtools cgmanager cgmanager-openrc consolekit consolekit-openrc coreutils cpio cracklib cronie cronie-openrc curl db dbus-glib dbus-openrc dbus-x11 device-mapper device-mapper-openrc dhclient dhcpcd dhcpcd-openrc dialog diffutils dmidecode dnssec-anchors dosfstools downgrade e2fsprogs elfutils eudev eudev-systemd eventlog expac expat file filesystem findutils fuse-common fuse2 gawk gcc-libs gdbm gettext glib-networking glib2 glibc glibc-openrc gmp gnupg gnutls gpgme gpm gpm-openrc gptfdisk grep gsettings-desktop-schemas gzip haveged haveged-openrc hddtemp hdparm hwids iana-etc inetutils inetutils-openrc inotify-tools inxi iproute2 iptables iptables-openrc iputils ipw2100-fw ipw2200-fw jansson js17 json-c kbd kbproto keyutils kmod krb5 ldns less libarchive libassuan libatomic_ops libcap libdaemon libdbi libedit libelf libeudev libeudev-systemd libevdev libffi libgcrypt libgpg-error libgudev libidn libinput libksba libldap libmm-glib libmnl libndp libnewt libnftnl libnih libnl libnm-glib libpcap libpgm libproxy libpsl libsasl libseccomp libsecret libsodium libsoup libssh2 libtasn1 libteam libtirpc libtool libunistring libusb libutil-linux libwacom libx11 libxau libxcb libxdmcp libxml2 linux-api-headers lm_sensors logrotate lsof lynx lz4 lzo manjaro-keyring mc mdadm mdadm-openrc mpfr mtdev nano ncurses net-tools netifrc nettle networkmanager-consolekit networkmanager-openrc npth nspr nss ntfs-3g ntp ntp-openrc openrc openresolv openssh openssh-openrc openssl openvpn openvpn-openrc p11-kit package-query pacman pacman-mirrorlist pam pambase parted patch pciutils pcre perl pinentry pkcs11-helper polkit-consolekit popt ppp procps-ng psmisc python readline rfkill rp-pppoe rsync run-parts screen sdparm sed shadow slang sqlite squashfs-tools sudo sysfsutils syslog-ng syslog-ng-openrc sysvinit tar tcl texinfo tzdata udev-openrc unrar unzip usb_modeswitch usbutils util-linux vi wget which wpa_supplicant xcb-proto xfsprogs xproto xz yajl zd1211-firmware zeromq zip zlib
002-gui (19.12.2016):

Code: Select all

atk avahi cairo compositeproto damageproto fixesproto fontconfig fontsproto freeglut freetype2 gdk-pixbuf2 giflib glew glu graphite gtk-update-icon-cache gtk2 harfbuzz hicolor-icon-theme hwinfo imlib2 inputproto jasper json-c libcroco libcups libdatrie libdrm libepoxy libfontenc libice libid3tag libjpeg-turbo libomxil-bellagio libpciaccess libpng librsvg libsm libthai libtiff libtxc_dxtn libunwind libutempter libxemu libxaw libxcomposite libxcursor libxdamage libxext libxfixes libxfont libxft libxi libxinerama libxkbcommon-x11 libxkbfile libxmu libxpm libxrandr libxrender libxshmfence libxt libxtst libxv libxvmc libxxf86vm llvm-libs mcpp mesa mesa-demos mhwd mhwd-amdgpu mhwd-ati mhwd-catalyst mhwd-db mhwd-nvidia mhwd-nvidia-304xx mhwd-nvidia-340xx openbox pango pixman pm-utils randrproto recordproto renderproto shared-mime-info startup-notification upower v86d videoproto vte vte-common wayland xbitmaps xcb-util xextproto xf86-input-evdev xf86-input-joystick xf86-input-keyboard xf86-input-mouse xf86-input-synaptics xf86-input-vmmouse xf86-input-void xf86-video-amdgpu xf86-video-ark xf86-video-ati xf86-video-dummy xf86-video-fbdev xf86-video-glint xf86-video-i128 xf86-video-intel xf86-video-mach64 xf86-video-neomagic xf86-video-nouveau xf86-video-nv xf86-video-openchrome xf86-video-r128 xf86-video-savage xf86-video-siliconmotion xf86-video-sis xf86-video-tdfx xf86-video-trident xf86-video-vesa xf86-video-vmware xf86-video-voodoo xf86vidmodeproto xineramaproto xkeyboard-config xorg-bdftopcf xorg-font-util xorg-font-utils xorg-fonts-alias xorg-fonts-encodings xorg-fonts-misc xorg-iceauth xorg-luit xorg-mkfontdir xorg-mkfontscale xorg-server xorg-server-common xorg-server-utils xorg-sessreg xorg-setxkbmap xorg-xauth xorg-xbacklight xorg-xcmsdb xorg-xgamma xorg-xhost xorg-xinit xorg-xinput xorg-xkbcomp xorg-xmessage xorg-xmodmap xorg-xprop xorg-xrandr xorg-xrdb xorg-xrefresh xorg-xset xorg-xsetroot xterm
002-xtra (19.12.2016):

Code: Select all

a52dec aalib alsa-lib alsa-utils alsa-utils-openrc at-spi2-atk at-spi2-core cifs-utils dcadec desktop-file-utils dmxproto enca faac faad2 ffmpeg fftw flac fribidi gsm gtkdialog hdf5 icu ilmbase jack lame lcms2 libass libasyncns libatasmart libavc1394 libbluray libbsd libcap-ng libcddb libcdio libcdio-paranoia libdmx libdvdread libev libevent libexif libglade libgusb libiec61883 libimobiledevice libkeybinder2 libmodplug libmp4v2 libogg libplist libpulse libraw1394 libsamplerate libsndfile libsoxr libssh libtheora libunique libusbmuxd libva libva-intel-driver libva-vdpau-driver libvdpau libvdpau-va-gl libvorbis libvpx libwbclient libwebp libwnck libx264 libxkbcommon libxres libxxf86dga mime-types mpg123 netcdf opencore-amr openexr openjpeg openjpeg2 opus orc pm-quirks recode schroedinger sdl sdl2 speex speexdsp talloc ttf-dejavu twolame v4l-utils vid.stab wavpack x265 xcb-util-image xclip xdg-user-dirs xdg-utils xf86dgaproto xvidcore zita-alsa-pcmi zita-resampler
step4
note: if you need wifi network, you can use: terminal/console > nmtui
if you haven't already, set up pacman mirrors, etc with:

Code: Select all

setup-pman
sync to packagebase and install the keyrings to the live system(and keep the pkgs in the cache)

Code: Select all

# pacman -Sy archlinux-keyring manjaro-keyring
first to check the list of packages for nonexistent, AUR, wrong named packages)(say n to install)

Code: Select all

# pacman -S <list of packages> 
this may spit errors like:

Code: Select all

rror: target not found: cower
error: target not found: eudev-systemdcompat
error: target not found: ipw2100
error: target not found: ipw2200
:: There are 2 providers available for libdbus:
:: Repository core
   1) dbus  2) dbus-x11
error: target not found: ntfs-3g-fuse
error: target not found: pacaur
cower and pacaur are from AUR so remove them from list (have since rebuilt these added them to module above)
ipw2100 was incorrectly stripped of -fw
eudev-systemdcompat is replaced by eudev-systemd and libeudev-systemd
libdus replaced by dbus-x11
To compare the list against a pacman -Syu list of upgrades
to find packages that dont need to be upgraded and remove them from the list do this:

Code: Select all

# pacman -Qu | awk '{print $1}' > /tmp/full-update-list   (to get a full list of updates)
then
# comm -12 /tmp/full-update-list /tmp/pkglist > /tmp/updatesformodule  (which gives a list of packages to be updated for target module

step4
get the required packages to cache(without installing them) using a text file with a list of package names
before, make sure that all that is in cache is the keyrings you installed earlier

Code: Select all

# pacman -Sw `cat /tmp/pkglist`  (for all the packages)
or
# pacman -Sw `cat /tmp/updatesformodule`  (for just the out of date packages)
install these packages to 001-core

Code: Select all

# pacman -Uddr /sdaX/update/001-core /var/cache/pacman/pkg/*.pkg.tar.*
or

Code: Select all

# pacman -Udd -needed -r /sdaX/update/001-core /var/cache/pacman/pkg/*.pkg.tar.*
to avoid reinstalling packages left on the list that didnt require updating

step5 (this section is incomplete)
remove some things:

Code: Select all

/usr/share/locale/ (keep the required locales if you use other than US_en)
/usr/share/doc/
/usr/share/gtk-doc/
/usr/share/man/
/usr/share/gir/
/usr/share/info/
/usr/share/i18n/locales
/usr/share/licenses/
/usr/share/texinfo/
/usr/include/       [color=#FF0000]these header files should kept somewhere to include in devel[/color]
/usr/lib/python3.5/test/
more...maybe (different for each 00 module)
step6
make the module..

Code: Select all

# dir2xzm /sdaX/update/001-core 001-core-1.xzm
step7
repeat for 002-gui and 002-xtra, clearing var/cache/pacman/pkg/ beforehand.
suggestion: keep the extracted modules for future upgrades.

todo:
revise/improve steps
include alternative approach(es)

Re: [How to] manually upgrade 3.5 base modules

Posted: 18 Dec 2016, 02:45
by francois
Hum! It does not like my 000-kernel module:
https://www.mediafire.com/?7hl9zjpikb7ge

Re: [How to] manually upgrade 3.5 base modules

Posted: 18 Dec 2016, 08:36
by ncmprhnsbl
works for me :

Code: Select all

# Modules activated during boot time:
/mnt/sdb1/porteus/base/000-kernel.xzm
/mnt/sdb1/porteus/base/001-core-4.xzm
/mnt/sdb1/porteus/base/002-gui-1.xzm
/mnt/sdb1/porteus/base/002-xtra-1.xzm
/mnt/sdb1/porteus/base/003-util-3.xzm

guest ~ $ uname -a
Linux porteus 4.8.11-porteus #1 SMP PREEMPT Mon Nov 28 00:18:06 BRST 2016 x86_64 GNU/Linux
using your kernel and matching vmlinuz from 3.2.1 :good:

Code: Select all

root /home/guest # pacman -Syu
:: Synchronizing package databases...
 core is up to date
 extra                   1911.3 KiB   289K/s 00:07 [######################] 100%
 community is up to date
 multilib is up to date
:: Starting full system upgrade...
 there is nothing to do
8)

Re: [How to] manually upgrade 3.5 base modules

Posted: 19 Dec 2016, 13:45
by Blaze
ncmprhnsbl, I've updated the step 2 of your manual.

I think, that not bad to add:
1) [how to] 000-kernel to this topic.
2) [how to] for some desktop environments to this topic.
3) [how to] automate updating through scripts.

Re: [How to] manually upgrade 3.5 base modules

Posted: 20 Dec 2016, 01:19
by francois
@ncmprhnsbl:
Thanks for testing. :D

Re: [How to] manually upgrade 3.5 base modules

Posted: 20 Dec 2016, 06:46
by ncmprhnsbl
Blaze wrote:ncmprhnsbl, I've updated the step 2 of your manual.
thanks blaze
Blaze wrote: I think, that not bad to add:
1) [how to] 000-kernel to this topic.
2) [how to] for some desktop environments to this topic.
3) [how to] automate updating through scripts.
that sounds like a good idea :good:
francois wrote:Thanks for testing. :D
thanks for making it... y'know we seem to come full circle(almost) with (like stifilings sensei) a 'slackware' kernel with arch(manjaro) userland .. :%)

Re: [How to] manually upgrade 3.5 base modules

Posted: 20 Dec 2016, 11:52
by francois
This is true. But is not the the product of brokenman more sophisticated with the pman wrapper and with the porteus structure and base modules?

Building a striped desktop is easy and could be done from here in minutes.

God save the soul of Stifiling who has provided the archetype and seeded nemesis into our spirits and flesh.

Re: [How to] manually upgrade 3.5 base modules

Posted: 21 Dec 2016, 22:18
by ncmprhnsbl
updated first post:
linked to new 001-core (pacaur and cower updated= can now search aur(need to run update-ca-trust first) need 05-devel to build packages, but that is another story...
added note about nmtui for network/wifi settings..

Re: [How to] manually upgrade 3.5 base modules

Posted: 22 Dec 2016, 00:17
by brokenman
The 000-kernel.xzm module is not slackware based. It is made from firmware and kernel modules produced during the kernel compilation. After this extra firmware files are added from a slackware package but could just as easily be added from an arch package. The only slackware package added is the broadcom-sta package which could also quite easily be gleaned from the arch pasture.

It is essentially distro agnostic.

Re: [How to] manually upgrade 3.5 base modules

Posted: 22 Dec 2016, 01:56
by ncmprhnsbl
thanks for clearing that up...now that i take the time to extract it and look i see the file structure is the same.. :oops:
double :oops: hang on no it isnt.. the kernel itself is agnostic but the kernel module(.xzm) isnt, notably /lib symlink to /usr/lib..
hence francois' hacking to make it arch compatible...?..

Re: [How to] manually upgrade 3.5 base modules

Posted: 22 Dec 2016, 03:06
by francois
need 05-devel to build packages
From porteus 3.2.1?

Re: [How to] manually upgrade 3.5 base modules

Posted: 22 Dec 2016, 03:35
by ncmprhnsbl
francois wrote:
need 05-devel to build packages
From porteus 3.2.1?
partly, as in the kernel headers i expect...
but the rest, as in utilities like make and so on, should be from manjaro..
i have made an attempt at upgrading the nemesis 05-devel and adding the kernel headers from 3.2.1 devel but have had mixed results:
for instance: makepkg fails at the end, trying to compress the package, complaining about too many levels of symlinks(whatever that means)
this needs its own topic....doing it now

Re: [How to] manually upgrade 3.5 base modules

Posted: 23 Dec 2016, 04:46
by ncmprhnsbl
updated to 002-gui-2.xzm
changes:
removed usr/share/docs/* (that i missed before)
removed /usr/share/applications/xterm.desktop & uxterm.desktop (so they dont show up in DE menus)
removed usr/share/xsessions/openbox-kde.desktop (uneeded, dont think it works with plasma5 anyway)
replaced /etc/xdg/openbox/menu.xml with a more useful version eg. mc, mcedit, xterm, nmtui, logout, shutdown, reboot

Re: [How to] manually upgrade 3.5 base modules

Posted: 22 Jan 2017, 13:05
by ncmprhnsbl
updated the base modules 22-01-2017
some changes include:
xorg-server-1.19.1-1 and related packages, and in particular, the removal of these drivers:
xf86-input-joystick xf86-video-ark xf86-video-glint xf86-video-i128 xf86-video-mach64 xf86-video-neomagic xf86-video-nv xf86-video-r128
xf86-video-savage xf86-video-siliconmotion xf86-video-sis xf86-video-tdfx xf86-video-trident
which have been moved to the AUR
archlinux-keyring is updated
core has grown some more due mainly to a python3 component that is now 20mb...

Re: [How to] manually upgrade 3.5 base modules

Posted: 02 Apr 2017, 01:44
by ncmprhnsbl
base modules updated 2-april-2017 (links in first post updated)

packages updated:

Code: Select all

core =  acpid-openrc bash bzip2 ca-certificates ca-certificates-mozilla ca-certificates-utils cdrtools cgmanager-openrc cronie-openrc consolekit consolekit-openrc curl dbus-openrc dbus-x11 device-mapper-openrc dhcpcd-openrc dialog dnssec-anchors dosfstools e2fsprogs eudev eudev-systemd gcc-libs glib2 glibc glibc-openrc gnupg gnutls gpgme gpm-openrc grep haveged-openrc hdparm iana-etc inetutils-openrc inxi iproute2 iptables-openrc js jansson kbd keyutils kmod ldns libarchive libeudev libeudev-systemd libgcrypt libgpg-error libgudev libinput libldap libnewt libnl libnm libnm-glib libproxy libpsl libseccomp libtasn1 libteam libutil-linux libwacom libx11 libxml2 linux-api-headers lz4 lzo mc mdadm mdadm-openrc nano ncurses networkmanager-consolekit networkmanager-openrc nss ntfs-3g ntp-openrc openrc openresolv openssh-openrc openssl openvpn-openrc p11-kit pacman-mirrorlist pciutils pcre perl pkcs11-helper polkit-consolekit python python-npyscreen readline screen sed sqlite sudo syslog-ng syslog-ng-openrc tzdata usb_modeswitch util-linux wget xfsprogs zlib
(new packages=libnm python-npyscreen) 

Code: Select all

gui= atk fixesproto gdk-pixbuf2 gtk-update-icon-cache harfbuzz hwinfo jasper libcups libdatrie libdrm libepoxy libthai libxi libxkbcommon-x11 mesa mhwd mhwd-db mhwd-nvidia pango pm-utils shared-mime-info startup-notification wayland xf86-input-evdev xf86-input-libinput xf86-input-wacom xf86-video-amdgpu xf86-video-ati xf86-video-intel xf86-video-nouveau xf86-video-openchrome xkeyboard-config xorg-fonts-misc xorg-mkfontdir xorg-server xorg-server-common xorg-sessreg xorg-xauth

Code: Select all

xtra= alsa-utils alsa-utils-openrc cifs-utils ffmpeg fftw flac lcms2 libev libgusb libimobiledevice usbmuxd libplist libpulse libssh libvpx libwbclient libwebp libxkbcommon opencore-amr opus orc sdl2 talloc v4l-utils wavpack xdg-utils
removed = pm-quirks(obsolete)
notes: pacaur, cower have not been updated, which may be why pman is broken> will look into this..
must : rm /etc/ssl/certs/ca-certificates.crt from 001-core before updating it.