[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

custom kernel/local repository problem




HI !

 trying lb for a workshop image for a hands-on session
 basically the lb config, add package list, lb build
 worked perfect. The problem is that I need a different kernel
 than the default 3.2.51. The core problem is that the 3.2.51-rt does 
 not have AUFS turned on - so the package is a rebuild with a changed
 config only.

 Using the live-build from debian wheeze
Package: live-build
Version: 3.0.5-1


Attempts 1:

 to switch to the new kernel I did the following steps 

 * apt-get source linux-image-3.2.0-4-rt-amd64
 * unpacked the rt patch and patched the kernel
 * reused the 3.2.0-4 kernel config without change (non-rt)
 * build the kernel with make-kpkg 
 * installed apache/reprepro on the local system
 * added the .deb to the repository with reprepro
 * checked on the build host with apt-get update,
    apt-cache search linux-image-3.2.51-ws-rt72 if the image is found
 * changed config/chroot
    LB_LINUX_PACKAGES="linux-image-3.2.51-ws-rt72"
 * added live/lb/config/archives/my.list.chroot 
    with just one line
    deb http://localhost/debian/ wheezy main
    (also tried the local LAN IP address)
 * lb clean
 * lb build

 As it seems the kernel package is expected to have amd64 in its name I rebuilt
 the kernel-image and have both names available
apt-cache search rt72 gives me:
  linux-image-3.2.51-ws-rt72 - Linux kernel binary image for version 3.2.51-ws-rt72
  linux-image-3.2.51-ws-rt72-amd64 - Linux kernel binary image for version 3.2.51-ws-rt72-amd64

But lb build fails with a message that the package is not found

<snip>
Building dependency tree       
Reading state information... Done
Del linux-image-3.2.51-ws-rt72-amd64 3.2.51-ws-RTLWS15 [33.2 MB]
[2013-10-16 11:41:29] lb chroot_install-packages install
P: Begin installing packages (install pass)...
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'cmake-qt-gui' instead of 'cmake-gui'
E: Unable to locate package linux-image-3.2.51-ws-rt72-amd64
E: Couldn't find any package by regex 'linux-image-3.2.51-ws-rt72-amd64'
P: Begin unmounting filesystems...
P: Saving caches...
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Del linux-image-3.2.51-ws-rt72-amd64 3.2.51-ws-RTLWS15 [33.2 MB]

 so it seems that it kind of finds it but then does not use it ??
 also if I chroot to the chroot build and use apt-cache search
 any clue ?

Attempt 2:
As a second attempt I placed the .deb package into config/packages.chroot/
and passing
 LB_LINUX_PACKAGES="linux-image-rt"
which is the default wheeze rt kernel (but that does not boot on live-build
doe to missing AUFS).
 This builds almost to copmletion and then fails with

<snip>
Setting up librsvg2-bin (2.36.1-1) ...
Setting up syslinux-common (2:4.05+dfsg-6+deb7u1) ...
Setting up syslinux (2:4.05+dfsg-6+deb7u1) ...
cp: cannot stat `/root/isolinux/libutil.c32': No such file or directory
cp: cannot stat `/root/isolinux/libcom32.c32': No such file or directory
cp: cannot stat `/root/isolinux/ldlinux.c32': No such file or directory
mv: target `binary/live/vmlinuz' is not a directory
P: Begin unmounting filesystems...
P: Saving caches...
Reading package lists... Done
Building dependency tree       
Reading state information... Done
root@debian:~/live/lb# ls chroot/boot/
config-3.2.0-4-rt-amd64       memtest86+_multiboot.bin
config-3.2.51-rtlws-rt72      System.map-3.2.0-4-rt-amd64
initrd.img-3.2.0-4-rt-amd64   System.map-3.2.51-rtlws-rt72
initrd.img-3.2.51-rtlws-rt72  vmlinuz-3.2.0-4-rt-amd64
memtest86+.bin                vmlinuz-3.2.51-rtlws-rt72
root@debian:~/live/lb# ls binary/live/
filesystem.packages           initrd.img-3.2.51-rtlws-rt72
filesystem.packages-remove    memtest
filesystem.squashfs           vmlinuz-3.2.0-4-rt-amd64
initrd.img-3.2.0-4-rt-amd64   vmlinuz-3.2.51-rtlws-rt72
root@debian:~/live/lb#

both kernels seem to be available - no idea how to interpret the eror message...


Can anyone point me to what step I screwed up in the first method ? The second method does not really seem like a resonable approach to me - but maybe it also can resolve the problem...

thx!
hofrat


Reply to: