~webtom/+junk/linux-image-i386-non-pae

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
So 28. Apr 01:13:30 CEST 2013
info@thomas-reith.de

Regarding the disappointing decision, that Ubuntu 12.10 and above doesn't
provide non PAE Kernels for the i386 architecture, anymore, I've compiled 
a custom kernel based on the latest offical Ubuntu kernel source package,
with PAE (HIGHMEM) disabled.

The kernel has been tested and compiled on ThinkPad T42, but should run 
on other Intel non PAE systems, too.

regards

webtom

ATTENTION: 3.8.x kernels have NOT been tested on Ubuntu 12.10, 
           upgrade to Ubuntu 13.04 first.

Build Steps:

1.1 apt-get source linux-[current version]-generic
    (example: apt-get source linux-image-3.5.0-19-generic)

    if there are linux-* files from previous builds in your directory, 
    simply remove them or save time doing the following steps:
    tar xvzf linux_3.x.0.orig.tar.gz (which should be there)
    rm -rf linux-3.x.0; mv linux-3.x linux-3.x.0
    gzip -d < linux_[version].diff.gz | patch -p0

1.2 get make-ubuntu-kernel-de.sh from 
    https://code.launchpad.net/make-ubuntu-kernel
    into ~/bin 
   
1.3 comment out
    linux-[version]/debian/control-scripts/preinst
    line 93 - 100
    ...
    #$arch = `uname -i`;
    #if ($arch =~ m/86/) {
    #       system ("grep -q ' pae ' /proc/cpuinfo");
    #       if ($?) {
    #                       print STDERR "This kernel does not support a non-PAE CPU.\n";
    #                       exit 1;
    #       }
    #}
    ...

1.4 chmod -R 755 linux-[version]/debian/scripts
    chmod 755 linux-[version]/debian/rules
   
1.5 change directory into linux-[version]
    call sudo ~/bin/make-ubuntu-kernel-de.sh wt-non-pae
    ...
    kernel menuconfig: Processor type and features 
    High Memory Support = (off)
    PAE (Physical Address Extension) Support = [ ] (false)
    ...
    wait...

1.6 or simply download and install the prebuild packages with
    dpkg -i linux-image-[version]-wt-non-pae_[version]_i386.deb
    dpkg -i linux-headers-[version]_all.deb
    dpkg -i linux-headers-[version]-wt-non-pae_[version]_i386.deb
    from
    http://bazaar.launchpad.net/~webtom/+junk/linux-image-i386-non-pae/files

1.7 reboot and enjoy :-)


2.1  Fresh Ubuntu Installation from stick

2.2  Ubuntu Desktop 12.10: vmlinuz-3.5.0-17-wt-non-pae_3.5.0-17.28_i386 
                           initrd-3.5.0-17-wt-non-pae_3.5.0-17.28_i386.lz
     Ubuntu Desktop 13.02: vmlinuz-3.8.0-19-wt-non-pae_3.8.0-19.29_i386
                           initrd-3.8.0-19-wt-non-pae_3.8.0-19.29_i386.lz

2.3  create an usb stick with "usb-creator-gtk"

2.4  remount the stick

2.5  replace /media/[stick]/casper/vmlinuz with vmlinuz-[version]
     what is it? it's the kernel from linux-image-[version]

2.6  replace /media/[stick]/casper/initrd.lz with initrd-[version]
     what is it? it's the ubuntu initrd.lz enhanced with lib/modules/[version]-wt-non-pae/ 
     (Developer Info: don't forget using option '-H newc' with cpio (it took me hours)

2.7  copy linux-headers-[version].deb to /media/[stick]/

2.8  copy linux-image-[version].deb to /media/[stick]/

2.9  boot from stick and complete the Ubuntu installation

2.10 before the system reboots press ALT+CTRL+F1 to switch to the console
     ATTENTION: This step is important to get the modules installed.
                Without these modules, your system won't boot correctly!

2.11 change directory to /cdrom, wich is your stick 

2.12 run "dpkg --root=/target -i linux-image-[version].deb"
     ignore the warnings, all you need at this time are 
     /target/lib/modules/[version]-wt-non-pae/

2.13 run "dpkg --root=/target -i linux-headers-[version].deb"

2.14 run "dkpg --root=/target -i linux-headers-[version]_all.deb

2.15 reboot 

2.16 install most recent linux-image and linux-headers; there should be no warnings, now

2.16 enjoy :-)