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