You are not logged in.
Hello,
I am new to Arch Linux. I 3want to build and boot 3.* kernel from Linus' git repository. It seems to build OK, but I cannot boot it successfuly. I stops at processing uevents and drops me to shell. I build it with makepkg -ci method . I suspect that something with my initramdisk is not OK, I tried to build one on my own, but it failed the same.
My PKGBUILD is:
pkgname=kernel30-3.0.0
basekernel=3.0.0
pkgver=3.0.0
pkgrel=1
pkgdesc="The Linux Kernel and modules"
arch=('i686' 'x86_64')
license=('GPL')
url="http://www.kernel.org"
depends=('module-init-tools' 'mkinitcpio')
provides=(kernel30)
install=kernel30.install
build() {
  LOCAL_VERSION="$(grep "CONFIG_LOCALVERSION=" $startdir/.config | sed 's/.*"\(.*\)"/\1/')"
cd ..
  # Modify the make line below to make -j[# of processors + 1] if you
  # have a multi-core system. This will enable you to compile the kernel faster.
  make -j 9 || return 1
  mkdir -p $startdir/pkg/{lib/modules,boot}
  make INSTALL_MOD_PATH=$startdir/pkg modules_install || return 1
  # There's no separation of firmware depending on kernel version - 
  # comment this line if you intend on using the built kernel exclusively,
  # otherwise there'll be file conflicts with the existing kernel
  rm -rf $startdir/pkg/lib/firmware
  install -Dm644 "System.map" "$startdir/pkg/boot/System.map30$LOCAL_VERSION"
  install -Dm644 "arch/x86/boot/bzImage" "$startdir/pkg/boot/vmlinuz30$LOCAL_VERSION"
  # Change the version strings in kernel30.install
  sed -i \
        -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=\"$basekernel\"/" \
        -e "s/LOCAL_VERSION=.*/LOCAL_VERSION=\"$LOCAL_VERSION\"/" \
        $startdir/kernel30.install
}
My kernel30.install is:
KERNEL_VERSION="3.0.0"
LOCAL_VERSION="-ARCH"
post_install () {
  echo ">>> Updating module dependencies..."
  /sbin/depmod -A -v ${KERNEL_VERSION}${LOCAL_VERSION}
  echo ">>> Creating initial ramdisk..."
  mkinitcpio -k "${KERNEL_VERSION}${LOCAL_VERSION}" -g "/boot/kernel30${LOCAL_VERSION}.img"
}
post_upgrade() {
  echo ">>> Updating module dependencies..."
  /sbin/depmod -A -v ${KERNEL_VERSION}${LOCAL_VERSION}
  echo ">>> Creating initial ramdisk..."
  mkinitcpio -k "${KERNEL_VERSION}${LOCAL_VERSION}" -g "/boot/kernel30${LOCAL_VERSION}.img"
}
I'd appreciate any help. I'd be happy to have environment that is capable as Debian, which I am used to.
Thanks in advance,
Piotr Hosowicz
Offline
What version are you trying to build?
the standard rc1 & rc2 are OK, but rc3 & rc4 have a permissions problem with scripts/depmod.sh
You need to
chmod +x  scripts/depmod.sh for the kernel to be able to boot (unless you have zero modules)
I have filed a bug here:
https://bugzilla.kernel.org/show_bug.cgi?id=37562
I have had no other problems with linux-3.0 on arch, gentoo or slackware.
If this helped you, please take the time to rate the value of this post:
 http://rate.affero.net/andrewthomas/
Offline
My version is 3.0.0 rc4. The persmissions are OK, as you wrote.
Offline
I forgot to say it. In the mergency shell I see that there are no /dev/by-uuid and by-label too. There is something wrong with udev I think.
Offline
I'm not sure if this will be any help, but I had a similar problem a year ago and filed this bug report:
https://bugs.archlinux.org/task/19493
The part of interest in there is the missing binaries I listed -- maybe some of those are missing from your boot image, and that's why by-uuid and by-label are missing?
~Felix.
Offline