You are not logged in.

#1 2011-03-06 20:31:42

zuargo
Member
From: Concepción, Chile
Registered: 2009-08-20
Posts: 116

[solved] Problem with kernel PAE compiled using PKGBUILD from AUR

Hello everyone

I have installed Archlinux 32bits with the default kernel. But few months ago I added 2GB more of ram to my machine, so, now, it has 4 GB of ram.

For that Archlinux 32bits detects this amount of ram, I decided compile a new kernel using the PKGBUILD from the AUR for PAE-Kernel: http://aur.archlinux.org/packages.php?ID=24469

I was successful doing it.

I edited the file /boot/grub/menu.lst and added the new kernel. But when it loads I get this error:

ERROR: Unable to determine major/minor number of root device '/dev/sda1'

I have searched in the forum and I find a lot of information related to this error.

But what catches my attention is that I have compared the PKGBUILD of the default kernel and its corresponding config file with the PKGBUILD of the PAE Kernel from the AUR and its corresponding config file, and I don't see any change in the PKGBUILD and in the config file from PAE kernel that could to cause the mentioned error, I mean the files are almost identical:

$ diff -w kernel26/PKGBUILD kernel26-pae/PKGBUILD
4,6c4,6
< pkgbase="kernel26"
< pkgname=('kernel26' 'kernel26-headers' 'kernel26-docs') # Build stock -ARCH kernel
< # pkgname=kernel26-custom       # Build kernel with a different name
---
> # Contributor: Tom Wizetek <tom@wizetek.com>
> pkgbase="kernel26-pae"
> pkgname=('kernel26-pae' 'kernel26-pae-headers')
11d10
< makedepends=('xmlto' 'docbook-xsl')
26,28c25,26
<          'cc49d27766f55df22f9cb78228880e78'
<          '8f8059fa252e2f81b31be0c1bdbef123'
<          '25584700a0a679542929c4bed31433b6')
---
>          '823a5f7304bcde8e5cf6133e1d97a8ff'
>          '8640846f681d6f2b3f4c4043d7974cfb')
64,65c62,63
< package_kernel26() {
<   pkgdesc="The Linux Kernel and modules"
---
> package_kernel26-pae() {
>   pkgdesc="The Linux Kernel and modules with PAE support (HIGHMEM64G)"
113,114c111,112
< package_kernel26-headers() {
<   pkgdesc="Header files and scripts for building modules for kernel26"
---
> package_kernel26-pae-headers() {
>   pkgdesc="Header files and scripts for building modules for kernel26-pae"
222c220
< package_kernel26-docs() {
---
> package_kernel26-pae-docs() {
232a231,234
> 
> # workaround for AUR split package upload
> pkgname=kernel26-pae
> pkgdesc="The Linux Kernel and modules with PAE support (HIGHMEM64G)"
$ diff -w kernel26/config kernel26-pae/config
384,385c384,385
< CONFIG_HIGHMEM4G=y
< # CONFIG_HIGHMEM64G is not set
---
> # CONFIG_HIGHMEM4G is not set
> CONFIG_HIGHMEM64G=y
5464a5465,5468
> 
> # Tom Wizetek: settings not included in stock config (set to default)
> CONFIG_XEN=n
> CONFIG_I2O_EXT_ADAPTEC_DMA64=y

As you see in the comparation of the PKGBUILD files, the PKGBUILD for default kernel of Archlinux has this line:

makedepends=('xmlto' 'docbook-xsl')

The PKGBUILD for PAE kernel does not have this line.

Also, in the comparation of config files the difference is in the config file for PAE kernel has disabled CONFIG_HIGHMEM4G, enabled CONFIG_HIGHMEM64G and added CONFIG_XEN=n and CONFIG_I2O_EXT_ADAPTEC_DMA64=y.

Regarding to CONFIG_HIGHMEM4G and CONFIG_HIGHMEM64G I think this is correct becouse this is what I want.

Regarding to CONFIG_XEN=n and CONFIG_I2O_EXT_ADAPTEC_DMA64=y, I have searched information related, I understood this parameters has no relation in some way with the error mentioned (perhaps I am wrong about this).

Respect to the line makedepends=('xmlto' 'docbook-xsl') included in the PGKBUILD of default kernel but not in the PKGBUILD of PAE-Kernel, I think it does not have relation with the error, merely, is a dependency to the compilation process, but in that process, I don't got any message of error.

Maybe I am wrong with all this, maybe the mentioned parameters, yes, are related to the error.

Can anyone say if am I wrong or not?.

In case I am right about this, why I get that error if the new Kernel (PAE) was compiled changing parameters that has no relation with the correct recognition of partitions at the hard disk?

Thanks in advance.

Additional information:

/boot/grub/menu.lst:

# Config file for GRUB - The GNU GRand Unified Bootloader
# /boot/grub/menu.lst

# DEVICE NAME CONVERSIONS 
#
#  Linux           Grub
# -------------------------
#  /dev/fd0        (fd0)
#  /dev/sda        (hd0)
#  /dev/sdb2       (hd1,1)
#  /dev/sda3       (hd0,2)
#

#  FRAMEBUFFER RESOLUTION SETTINGS
#     +-------------------------------------------------+
#          | 640x480    800x600    1024x768   1280x1024
#      ----+--------------------------------------------
#      256 | 0x301=769  0x303=771  0x305=773   0x307=775
#      32K | 0x310=784  0x313=787  0x316=790   0x319=793
#      64K | 0x311=785  0x314=788  0x317=791   0x31A=794
#      16M | 0x312=786  0x315=789  0x318=792   0x31B=795
#     +-------------------------------------------------+
#  for more details and different resolutions see
#  http://wiki.archlinux.org/index.php/GRUB#Framebuffer_Resolution 

# general configuration:
timeout   5
default   0
color light-blue/black light-cyan/blue

# boot sections follow
# each is implicitly numbered from 0 in the order of appearance below
#
# TIP: If you want a 1024x768 framebuffer, add "vga=773" to your kernel line.
#
#-*

# (0) Arch Linux
title  Arch Linux
root   (hd0,0)
kernel /boot/vmlinuz26 root=/dev/sda1 ro
initrd /boot/kernel26.img

# (1) Arch Linux
title  Arch Linux (PAE Kernel)
root   (hd0,0)
kernel /boot/vmlinuz26 root=/dev/sda1 ro
initrd /boot/kernel26-pae.img

# (2) Arch Linux
title  Arch Linux Fallback
root   (hd0,0)
kernel /boot/vmlinuz26 root=/dev/sda1 ro
initrd /boot/kernel26-fallback.img

# (3) Arch Linux
title  Arch Linux Fallback (PAE Kernel)
root   (hd0,0)
kernel /boot/vmlinuz26 root=/dev/sda1 ro
initrd /boot/kernel26-pae-fallback.img

# (4) Windows
title Windows
rootnoverify (hd0,3)
makeactive
chainloader +1

You can see the PKGBUILD and config file to compile the ABS Kernel in the AUR: http://aur.archlinux.org/packages.php?ID=24469

/etc/mkinitcpio.conf:

MODULES=""
BINARIES=""
FILES=""
HOOKS="base udev autodetect pata scsi sata filesystems"

/etc/fstab:

# 
# /etc/fstab: static file system information
#
# <file system>        <dir>         <type>    <options>          <dump> <pass>
devpts                 /dev/pts      devpts    defaults            0      0
shm                    /dev/shm      tmpfs     nodev,nosuid        0      0

#/dev/cdrom             /media/cd   auto    ro,user,noauto,unhide   0      0
#/dev/dvd               /media/dvd  auto    ro,user,noauto,unhide   0      0
#/dev/fd0               /media/fl   auto    user,noauto             0      0

/dev/sda1 / ext4 defaults 0 1
/dev/sda2 swap swap defaults 0 0
/dev/sda3 /home ext4 defaults 0 1
/dev/sdb1 /media/usbstick vfat rw,flush,user 0 0

Last edited by zuargo (2011-03-07 09:15:01)

Offline

#2 2011-03-07 04:16:00

stqn
Member
Registered: 2010-03-19
Posts: 1,191
Website

Re: [solved] Problem with kernel PAE compiled using PKGBUILD from AUR

Shouldn't your grub kernel line for the PAE kernel mention "vmlinuz26-pae" instead of "vmlinuz26"?

I think posting the default Arch kernel .config and PKGBUILD wasn't necessary smile. That's quite a bit of text.

Offline

#3 2011-03-07 09:14:10

zuargo
Member
From: Concepción, Chile
Registered: 2009-08-20
Posts: 116

Re: [solved] Problem with kernel PAE compiled using PKGBUILD from AUR

Sorry, my mistake, that solved the problem.

Sorry, I am very newbie in all of this.

Thank you very much smile

Offline

#4 2011-03-07 19:30:02

stqn
Member
Registered: 2010-03-19
Posts: 1,191
Website

Re: [solved] Problem with kernel PAE compiled using PKGBUILD from AUR

No worries, you provided the required information to solve the problem... smile Glad to have been of help.

Offline

Board footer

Powered by FluxBB