RPM: Switching from i686 to Pentium4
Article Info | |
---|---|
Author | Martin Iturbide |
Date | 2022-03-02 |
OS Version | ArcaOS 5.0.7 |
Companion File | N/A |
Source | N/A |
Checking the latest ways to distribuite OS/2 software on the RPM server, I noticed that the new applications (specially Qt 5 and libraries for the new browser) are getting classified under "pentium4". This seems to be way on how the software is compiled and seems that all the new stuff will be under this category.
On my case I had an ArcaOS 5.0.7 VM with all the packages on i686, so I wanted to test a way to switch everything to pentium4. I asked for help on the OS2World forum and this is what I had documented about that change on my VM.
Getting Ready
- Warnings and Requirements
- Remember that this is experimental and different things may results depending on the installed software and hardware.
- Please, always backup your system
- Install Arca Noae Package Manger 1.0.7
- Locate the ANPM icon in a traybar of your desktop (very at hand)
- The Steps
I was recommend to do the following steps:
- Run a REXX Script to get a list of the RPM packages you have installed
- Rename the /usr and /etc folders, so newer one can be created
- Reinstall RPM/YUM but this time specifing that you are going to use pentium4
Every steps has their specifics tricks and this is how I do it for my VM. It may change according to each individual personal experience.
Getting the list of Installed Software
Andy Willis provided me two scripts he used to extract the list. I used this one:
/* REXX to get just package names from RPM installed output */ rc = SysLoadFuncs() Parse Arg fileout rc = SysFileDelete(fileout) fileinv = holdrpm.txt address cmd 'yum list |grep install >'fileinv list = '' do while Lines(fileinv) text = LineIn(fileinv) parse var text package'.'. list = list || ' ' || package end rc = Lineout(fileout,'yum install -y 'list) rc = SysFileDelete(fileinv)
I named it "list.cmd" and run it with 4OS/2 like:
list.cmd >out.txt
It will generate a file called "holdrpm.txt" that will let you know all you have installed and a "out.txt" file with the "yum install..." command to reinstall everything later.
Here it is the out.txt on my case:
Rename the /usr and /etc folders
This part is tricky since you need to unlock some files and kill a process before being able to rename /usr .
First I run the unlock command:
unlock c:\*.exe c:\*.dll /r
Here I exaggerated and little bit and unlocked every DLL and EXE on the C:\ HDD, but worked for me.
After that I access the famous CAD (Control+Alt+Delete) acceded TOP and killed a process for CUPS. It is C:\USR\SBIN\CUPSD.EXE
Now I'm ready to rename /usr and /etc to /usr-old and /etc-old. This part is the delicate one since your system may became unstable.
Reinstalling RPM - YUM
It had been a long time since I installed the RPM-YUM bootstrap and I didn't want to do again directly. So I choose to use Arca Noae Package Manager and let that tool take change of installing RPM-RUM.
I run the ANPM icon that I strategically located in my tray bar.
It will complain that RPM-YUM is not installed on the system and ask you if you want to install it. Select "YES".
Later it will ask you which platform you will like to install, select "pentium4".
Allow ANPM do it's install job.
It will ask you if you want to change your UNIXROOT drive, in my case it is "No".
And the final message.
Let's restart and pray.
On the next restart you may notice some errors on the WPS since you are missing a lot of the libraries that some applications you use. On my case Gotcha! complained it can not run, because we are missing some of it's graphics libraries.
Reinstalling all the Packages
Now it is the moment of truth, grab out.txt, rename it out.cmd, open 4OS2 and run it.
It will start to check all the components that you used to have installed on you system and will install it on your system.
After that I recommend and restart and my VM worked fine. Later you can delete the older /usr and /etc that you renamed if you think there are nothing that you want to backup from there.
Please remember this may not be a "one solution fits all" kind of thing, this is experimental and risky to do on an important production environment.