Making Buntu >= 12.10 work on a Pentium M-CPU without PAE.
For example a ThinkPad t40 or other models from that era with this Pentium-M CPU?
ONLY if you can afford to make it unbootable (and know how to restore it back to a working Precise) please tell me if this works:
0) (X|L|U)buntu precise is installed and running
1) download this http://paste.ubuntu.com/1622104/
Edit: improved version: http://paste.ubuntu.com/1629628/
Edit2: I have made a deb package, see post #12: http://ubuntuforums.org/showpost.php...9&postcount=12
2) make it executable and execute it as root (sudo)
3) cat /proc/cpuinfo and verify that it now contains the pae flag.
4) sudo update-manager
5) upgrade the entire system to 12.10
6.) Did it install the 3.5 kernel without errors, does it still boot (with that kernel), are there any broken/unconfigured packages regarding the kernel?
Re: [non-pae] Anybody with an old ThinkPad who wants to do a small experiment?
I have a T43p (2006) vintage that I plan on upgrading from Jaunty, but I have to copy data off of it before I upgrade, so it will be a few days.
What is the purpose of this test? I thought most Pentium-M's supported PAE, but there might be a few early-production chips that don't.
I plan on either doing a clean install or adding a partition and making it dual boot. I have a 320GB drive, so I have some room to add another partition.
Re: [non-pae] Anybody with an old ThinkPad who wants to do a small experiment?
Quote:
Originally Posted by
tgalati4
I have a T43p (2006) vintage that I plan on upgrading from Jaunty, but I have to copy data off of it before I upgrade, so it will be a few days.
What is the purpose of this test? I thought most Pentium-M's supported PAE, but there might be a few early-production chips that don't.
I plan on either doing a clean install or adding a partition and making it dual boot. I have a 320GB drive, so I have some room to add another partition.
if there is no pae flag in your /proc/cpuinfo then the deb package for the new kernel images (Quantal and later) will simply refuse to install (and leave the entire package system in en inconsistent state) although at least *some* of these Pentium-M would perfectly run these new kernels if it *would* be possible to install them. The purpose of this script is to patch /proc/cpuinfo to trick the kernel .deb install script into thinking it will be installed on a compatible CPU.
If you do a cat /proc/cpuinfo and don't find any mention of "pae" in the flags then it will probably refuse to boot from the 12.10 install CD and also for 12.04 there are only a few (Xubuntu, Lubuntu) CD images that allow to boot. Again this is not the fault of the kernel, in this case it is the bootloader of the CD that will check the CPU capabilities and simply refuse to even try to boot the kernel anyways!
This means the problem is twofold:
* apt-get will work until 12.04 and from then on refuse any later kernel
* install cd bootloader also has this check and refuses to even try to start the boot process
12.04 still has the non-pae kernels in the repositories (only some of the install CD-Images don't have it), so it is still possible to intall 12.04 without any nasty hacks but then upgrading to 12.10 will lead to problems with the kernel upgrades and apt-get getting stuck.
There is a recommendation to download 3rd party non-pae-builds of these new kernels and install them *manually* but it seems some of the Pentium-M are indeed capable of running the original Ubuntu pae kernel and only don't show this stupid flag in the cpuinfo. ThinkPad T40 definitely *can* run the pae kernels (and probably similar thinkpads too), its just the apt-get that will not allow these kernels to be installed.
Re: [non-pae] Anybody with an old ThinkPad who wants to do a small experiment?
I have a T42 without pae. I'm running Lubuntu 12.04 now. Have you found any problem? I guess it would be a problem to run with more than 2 GB RAM (I have 1.25 GB).
Maybe I will get time to test your method during this week-end. (I can clone the internal drive to a USB drive to get a backup while I'm tampering with it).
Re: [non-pae] Anybody with an old ThinkPad who wants to do a small experiment?
Quote:
Originally Posted by
sudodus
I have a T42 without pae. I'm running Lubuntu 12.04 now. Have you found any problem? I guess it would be a problem to run with more than 2 GB RAM (I have 1.25 GB).
Maybe I will get time to test your method during this week-end. (I can clone the internal drive to a USB drive to get a backup while I'm tampering with it).
You can try to install
sudo apt-get install linux-generic-lts-quantal
this will pull in a bunch of other linux-* meta packages and linux-* packages from the 3.5 kernel (better save the list of packages it wants to install so you can remove them all again later) and then somewhere in the middle of this installation it will fail with error about missing pae and incompatible CPU and report broken/unconfigured packages (if it fails then remove everything it tried to install to make apt-get happy again)
if you run that script before you do this then apt-get will succeed and then you can reboot and it should boot with the new pae kernel although the CPU is not officially pae capable.
The script is only there to make apt-get believe it is ok to install these kernels, it does not affect the kernel itself, you need to run it only before you do a kernel update to suppress the pae related apt-get errors.
Re: [non-pae] Anybody with an old ThinkPad who wants to do a small experiment?
cat /proc/cpuinfo | grep sizes
address sizes : 36 bits physical, 32 bits virtual
It seems these Pentium-M do indeed have PAE built in and just do not announce it in their flags, otherwise there would be no way this CPU could have 36 bits physical address space (64GB) instead of 32 bit (non-pae, 4GB)
This means my method would work for all those Laptops that don't have pae in the flags but still have 36 bits physical address space.
The CD-Bootloader should be fixed to check for physical address space instead of that flag (which was accidentally forgotten in these particular Pentium-Ms) and the .deb install scripts should also be fixed to not grep for "pae" but for "36 bits physical" instead.
Re: [non-pae] Anybody with an old ThinkPad who wants to do a small experiment?
Hmm interesting - I recently put wheezy (from the mini iso iirc) on my old X30 and it insisted there was no suitable kernel - I ended up having to drop to the installer shell from which I was able to install 3.2.0.-4-686-pae manually - I thought it was something wrong with the iso
It's a PIII-M and also shows 36 bits physical in /proc/cpuinfo
I will have a play with your test if I get a chance
Re: [non-pae] Anybody with an old ThinkPad who wants to do a small experiment?
I have improved the script a little bit, now it will put the pae flag into the flags line to the other flags, check that it isn't run a second time or on CPUs that already have the pae flag and output some diagnostic information to the console and also contains some explanations about the script in the comment block at the top.
http://paste.ubuntu.com/1629628/
Re: [non-pae] Anybody with an old ThinkPad who wants to do a small experiment?
Quote:
Originally Posted by
7bit
You can try to install
sudo apt-get install linux-generic-lts-quantal
this will pull in a bunch of other linux-* meta packages and linux-* packages from the 3.5 kernel (better save the list of packages it wants to install so you can remove them all again later) and then somewhere in the middle of this installation it will fail with error about missing pae and incompatible CPU and report broken/unconfigured packages (if it fails then remove everything it tried to install to make apt-get happy again)
if you run that script before you do this then apt-get will succeed and then you can reboot and it should boot with the new pae kernel although the CPU is not officially pae capable.
The script is only there to make apt-get believe it is ok to install these kernels, it does not affect the kernel itself, you need to run it only before you do a kernel update to suppress the pae related apt-get errors.
After cloning the drive I started:
- Your script warned that there are only 32 bits physical and virtual memory.
- I continued with
Code:
sudo apt-get install linux-generic-lts-quantal
and it worked without complaints.
- I rebooted and the system is now running '3.5.0-23-generic'
Code:
sudodus@usb-lub:~$ uname -a
Linux usb-lub 3.5.0-23-generic #35~precise1-Ubuntu SMP Fri Jan 25 17:15:33 UTC 2013 i686 i686 i386 GNU/Linux
sudodus@usb-lub:~$ grep 32 /proc/cpuinfo
address sizes : 36 bits physical, 32 bits virtual
sudodus@usb-lub:~$ grep pae /proc/cpuinfo
sudodus@usb-lub:~$ ls -l /boot
...
-rw-r--r-- 1 root root 20115951 feb 1 20:59 initrd.img-3.2.0-37-generic
-rw-r--r-- 1 root root 21716879 feb 10 18:33 initrd.img-3.5.0-23-generic
...
Can you confirm that this is a pae kernel, that is now running in my T42 with Pentium M processor without pae?
Code:
model name : Intel(R) Pentium(R) M processor 1.70GHz
And now it recognizes 36 bits physical memory.
Done :-)
Re: [non-pae] Anybody with an old ThinkPad who wants to do a small experiment?
Quote:
Originally Posted by
sudodus
Can you confirm that this is a pae kernel, that is now running in my T42 with Pentium M processor without pae?
Yes, it seems I was wrong assuming they would show 36 bits even *before* the pae kernel is installed. It seems it will always show 32 bit if it is a non-pae kernel. I should remove this 32 bit warning, its probably meaningless anyways.
If the the kernel boots without panic then everything should be ok. Probably this can be only found out by actually trying. Fortunately installing a new kernel will always leave your old kernels untouched, so in case it won't boot you can always go back to the older kernel.
I'm currently trying to make this script into an upstart job, installable with a simple .deb package. I'm then going to upload it to launchpad and post it here.
BTW today I finally tried it myself too, upgrading my ThinkPad T40 from Xubuntu Precise to Xubuntu Quantal with this method and everything went smoothly :-)
This is what I did:
* execute the script
* sudo update-manager (and upgrade to 12.10 without problems)
* reboot (and everything works)