You are not logged in.
Your problem may be caused by Windows using CRLF instead of just LF to encode newlines. Anyway, this should work:
I ran it again and it still made a warning that the patch file ends in the middle however this time it didn't crash so we'll have to see if it was successful if/when it finishes compiling. How will I check.
Also I set the flag to j6 but looking in top it doesn't seem to be using much of each core. Is that normal? I expected 100% number crunching.
Offline
mich41 wrote:Your problem may be caused by Windows using CRLF instead of just LF to encode newlines. Anyway, this should work:
I ran it again and it still made a warning that the patch file ends in the middle however this time it didn't crash so we'll have to see if it was successful if/when it finishes compiling. How will I check.
Also I set the flag to j6 but looking in top it doesn't seem to be using much of each core. Is that normal? I expected 100% number crunching.
Kernel compilation is pretty intensive. I have mine set (as recommended in /etc/makepkg.conf) to the number of physical cores + 1 on my machine, so that's 3 + 1, and it doesn't go at 100%, but I know it's working away and will be done in about 35 minutes for a generic build, so all is good.
Claire is fine.
Problems? I have dysgraphia, so clear and concise please.
My public GPG key for package signing
My x86_64 package repository
Offline
Will be a little bit before I can try again since I forgot that I only alloted a small partition for my vm so when I tried on that one I ran out of room.
So I need to make a new partition before I have another go.
Maybe I'll have another bash on the old one again. It might not crash with the new patch though it might well have been hardware related.
Offline
Hmm segmentations fault again on the old computer. Is that due to hardware or something fixable?
fs/udf/udftime.c: In function ‘udf_time_to_disk_stamp’:
fs/udf/udftime.c:168:1: internal compiler error: Segmentation fault
}
^
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://bugs.archlinux.org/> for instructions.
scripts/Makefile.build:258: recipe for target 'fs/udf/udftime.o' failed
make[2]: *** [fs/udf/udftime.o] Error 1
scripts/Makefile.build:407: recipe for target 'fs/udf' failed
make[1]: *** [fs/udf] Error 2
Makefile:950: recipe for target 'fs' failed
make: *** [fs] Error 2
==> ERROR: A failure occurred in build().
Aborting...
Offline
Nobody else has such issues, so...
Check CPU temperature during compilation, install microcode updates if it's Intel from 2013+, run memtest86, prime95.
Offline
wow ... after 3 hours yet again...
==> ERROR: A failure occurred in package_linux-usbhub().
Aborting...
Last time it was space issues but I just expanded by 50 gig.
What switches are you guys using to run it?
Also how do yours finish so quickly and mine takes hours? is it something to do with bieng amd? I am using 6 cores but it has made no difference at all that I can notice in compiling speed.
Last edited by MarthaParkin (2016-05-13 22:54:16)
Offline
That's not the same error. This time it failed at package stage which means it finished compiling successfully. This usually means there's something wrong with the PKGBUILD. Post it here so we can check it.
Last edited by bstaletic (2016-05-14 10:17:23)
Offline
Thanks. I wasn't sure about the naming of the .install file in the main directory. Don't know if that has anything to do with it. Because in the Kernels/Arch Build System[2] wiki it said
Depending on the PKGBUILD you may have to also rename linux.install to match the modified pkgbase (e.g. for linux-grsec).
but didn't explain when or why you would need to do this. So I renamed mine linuxusb.install so Im not sure if that is wrong or not since I was just winging it based on the elusive message in the wiki.
# $Id: PKGBUILD 265148 2016-04-19 06:55:26Z tpowa $
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
# Maintainer: Thomas Baechler <thomas@archlinux.org>
#pkgbase=linux # Build stock -ARCH kernel
pkgbase=linux-usbhub # Build kernel with a different name
#pkgbase=linux-custom # Build kernel with a different name
_srcname=linux-4.5
pkgver=4.5.1
pkgrel=1
arch=('i686' 'x86_64')
url="http://www.kernel.org/"
license=('GPL2')
makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'bc')
options=('!strip')
source=("https://www.kernel.org/pub/linux/kernel/v4.x/${_srcname}.tar.xz"
"https://www.kernel.org/pub/linux/kernel/v4.x/${_srcname}.tar.sign"
"https://www.kernel.org/pub/linux/kernel/v4.x/patch-${pkgver}.xz"
"https://www.kernel.org/pub/linux/kernel/v4.x/patch-${pkgver}.sign"
# the main kernel config files
'config' 'config.x86_64'
# standard config files for mkinitcpio ramdisk
'linux.preset'
'change-default-console-loglevel.patch'
'mich41.patch')
sha256sums=('a40defb401e01b37d6b8c8ad5c1bbab665be6ac6310cdeed59950c96b31a519c'
'SKIP'
'060ad091ebfa2b63d62e86beaf68c3a5d4638c506c3ac941c1825ba756e830b1'
'SKIP'
'8a8a955f015ee8342701231a63836cec0e300fd7e96d30e8696fde8a383fcdc9'
'8b60911aad591306336e300e27071f2d108c5016e66a04327b82ac69acbfefff'
'f0d90e756f14533ee67afda280500511a62465b4f76adcc5effa95a40045179c'
'1256b241cd477b265a3c2d64bdc19ffe3c9bbcee82ea3994c590c2c76e767d99'
'1c783930f12088539883a5f4d007bfde9a86a49069c3715da98fed154b211b27')
validpgpkeys=(
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
'647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman
)
_kernelname=${pkgbase#linux}
prepare() {
cd "${srcdir}/${_srcname}"
# add usb patch
patch -p1 -i "${srcdir}/mich41.patch"
# add upstream patch
patch -p1 -i "${srcdir}/patch-${pkgver}"
# add latest fixes from stable queue, if needed
# http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git
# set DEFAULT_CONSOLE_LOGLEVEL to 4 (same value as the 'quiet' kernel param)
# remove this when a Kconfig knob is made available by upstream
# (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227)
patch -p1 -i "${srcdir}/change-default-console-loglevel.patch"
if [ "${CARCH}" = "x86_64" ]; then
cat "${srcdir}/config.x86_64" > ./.config
else
cat "${srcdir}/config" > ./.config
fi
if [ "${_kernelname}" != "" ]; then
sed -i "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"${_kernelname}\"|g" ./.config
sed -i "s|CONFIG_LOCALVERSION_AUTO=.*|CONFIG_LOCALVERSION_AUTO=n|" ./.config
fi
# set extraversion to pkgrel
sed -ri "s|^(EXTRAVERSION =).*|\1 -${pkgrel}|" Makefile
# don't run depmod on 'make install'. We'll do this ourselves in packaging
sed -i '2iexit 0' scripts/depmod.sh
# get kernel version
make prepare
# load configuration
# Configure the kernel. Replace the line below with one of your choice.
#make menuconfig # CLI menu for configuration
#make nconfig # new CLI menu for configuration
#make xconfig # X-based configuration
#make oldconfig # using old config from previous kernel version
# ... or manually edit .config
# rewrite configuration
yes "" | make config >/dev/null
}
build() {
cd "${srcdir}/${_srcname}"
make ${MAKEFLAGS} LOCALVERSION= bzImage modules
}
_package() {
pkgdesc="The ${pkgbase/linux/Linux} kernel and modules"
[ "${pkgbase}" = "linux" ] && groups=('base')
depends=('coreutils' 'linux-firmware' 'kmod' 'mkinitcpio>=0.7')
optdepends=('crda: to set the correct wireless channels of your country')
backup=("etc/mkinitcpio.d/${pkgbase}.preset")
#install=linux-usbhub.install
cd "${srcdir}/${_srcname}"
KARCH=x86
# get kernel version
_kernver="$(make LOCALVERSION= kernelrelease)"
_basekernel=${_kernver%%-*}
_basekernel=${_basekernel%.*}
mkdir -p "${pkgdir}"/{lib/modules,lib/firmware,boot}
make LOCALVERSION= INSTALL_MOD_PATH="${pkgdir}" modules_install
cp arch/$KARCH/boot/bzImage "${pkgdir}/boot/vmlinuz-${pkgbase}"
# set correct depmod command for install
cp -f "${startdir}/${install}" "${startdir}/${install}.pkg"
true && install=${install}.pkg
sed \
-e "s/KERNEL_NAME=.*/KERNEL_NAME=${_kernelname}/" \
-e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/" \
-i "${startdir}/${install}"
# install mkinitcpio preset file for kernel
install -D -m644 "${srcdir}/linux.preset" "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset"
sed \
-e "1s|'linux.*'|'${pkgbase}'|" \
-e "s|ALL_kver=.*|ALL_kver=\"/boot/vmlinuz-${pkgbase}\"|" \
-e "s|default_image=.*|default_image=\"/boot/initramfs-${pkgbase}.img\"|" \
-e "s|fallback_image=.*|fallback_image=\"/boot/initramfs-${pkgbase}-fallback.img\"|" \
-i "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset"
# remove build and source links
rm -f "${pkgdir}"/lib/modules/${_kernver}/{source,build}
# remove the firmware
rm -rf "${pkgdir}/lib/firmware"
# make room for external modules
ln -s "../extramodules-${_basekernel}${_kernelname:--ARCH}" "${pkgdir}/lib/modules/${_kernver}/extramodules"
# add real version for building modules and running depmod from post_install/upgrade
mkdir -p "${pkgdir}/lib/modules/extramodules-${_basekernel}${_kernelname:--ARCH}"
echo "${_kernver}" > "${pkgdir}/lib/modules/extramodules-${_basekernel}${_kernelname:--ARCH}/version"
# Now we call depmod...
depmod -b "${pkgdir}" -F System.map "${_kernver}"
# move module tree /lib -> /usr/lib
mkdir -p "${pkgdir}/usr"
mv "${pkgdir}/lib" "${pkgdir}/usr/"
# add vmlinux
install -D -m644 vmlinux "${pkgdir}/usr/lib/modules/${_kernver}/build/vmlinux"
}
_package-headers() {
pkgdesc="Header files and scripts for building modules for ${pkgbase/linux/Linux} kernel"
install -dm755 "${pkgdir}/usr/lib/modules/${_kernver}"
cd "${srcdir}/${_srcname}"
install -D -m644 Makefile \
"${pkgdir}/usr/lib/modules/${_kernver}/build/Makefile"
install -D -m644 kernel/Makefile \
"${pkgdir}/usr/lib/modules/${_kernver}/build/kernel/Makefile"
install -D -m644 .config \
"${pkgdir}/usr/lib/modules/${_kernver}/build/.config"
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/include"
for i in acpi asm-generic config crypto drm generated keys linux math-emu \
media net pcmcia scsi sound trace uapi video xen; do
cp -a include/${i} "${pkgdir}/usr/lib/modules/${_kernver}/build/include/"
done
# copy arch includes for external modules
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/x86"
cp -a arch/x86/include "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/x86/"
# copy files necessary for later builds, like nvidia and vmware
cp Module.symvers "${pkgdir}/usr/lib/modules/${_kernver}/build"
cp -a scripts "${pkgdir}/usr/lib/modules/${_kernver}/build"
# fix permissions on scripts dir
chmod og-w -R "${pkgdir}/usr/lib/modules/${_kernver}/build/scripts"
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/.tmp_versions"
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}/kernel"
cp arch/${KARCH}/Makefile "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}/"
if [ "${CARCH}" = "i686" ]; then
cp arch/${KARCH}/Makefile_32.cpu "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}/"
fi
cp arch/${KARCH}/kernel/asm-offsets.s "${pkgdir}/usr/lib/modules/${_kernver}/build/arch/${KARCH}/kernel/"
# add docbook makefile
install -D -m644 Documentation/DocBook/Makefile \
"${pkgdir}/usr/lib/modules/${_kernver}/build/Documentation/DocBook/Makefile"
# add dm headers
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/md"
cp drivers/md/*.h "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/md"
# add inotify.h
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/include/linux"
cp include/linux/inotify.h "${pkgdir}/usr/lib/modules/${_kernver}/build/include/linux/"
# add wireless headers
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/net/mac80211/"
cp net/mac80211/*.h "${pkgdir}/usr/lib/modules/${_kernver}/build/net/mac80211/"
# add dvb headers for external modules
# in reference to:
# http://bugs.archlinux.org/task/9912
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/dvb-core"
cp drivers/media/dvb-core/*.h "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/dvb-core/"
# and...
# http://bugs.archlinux.org/task/11194
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/include/config/dvb/"
cp include/config/dvb/*.h "${pkgdir}/usr/lib/modules/${_kernver}/build/include/config/dvb/"
# add dvb headers for http://mcentral.de/hg/~mrec/em28xx-new
# in reference to:
# http://bugs.archlinux.org/task/13146
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/dvb-frontends/"
cp drivers/media/dvb-frontends/lgdt330x.h "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/dvb-frontends/"
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/i2c/"
cp drivers/media/i2c/msp3400-driver.h "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/i2c/"
# add dvb headers
# in reference to:
# http://bugs.archlinux.org/task/20402
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/usb/dvb-usb"
cp drivers/media/usb/dvb-usb/*.h "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/usb/dvb-usb/"
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/dvb-frontends"
cp drivers/media/dvb-frontends/*.h "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/dvb-frontends/"
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/tuners"
cp drivers/media/tuners/*.h "${pkgdir}/usr/lib/modules/${_kernver}/build/drivers/media/tuners/"
# add xfs and shmem for aufs building
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/fs/xfs"
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build/mm"
# removed in 3.17 series
# cp fs/xfs/xfs_sb.h "${pkgdir}/usr/lib/modules/${_kernver}/build/fs/xfs/xfs_sb.h"
# copy in Kconfig files
for i in $(find . -name "Kconfig*"); do
mkdir -p "${pkgdir}"/usr/lib/modules/${_kernver}/build/`echo ${i} | sed 's|/Kconfig.*||'`
cp ${i} "${pkgdir}/usr/lib/modules/${_kernver}/build/${i}"
done
chown -R root.root "${pkgdir}/usr/lib/modules/${_kernver}/build"
find "${pkgdir}/usr/lib/modules/${_kernver}/build" -type d -exec chmod 755 {} \;
# strip scripts directory
find "${pkgdir}/usr/lib/modules/${_kernver}/build/scripts" -type f -perm -u+w 2>/dev/null | while read binary ; do
case "$(file -bi "${binary}")" in
*application/x-sharedlib*) # Libraries (.so)
/usr/bin/strip ${STRIP_SHARED} "${binary}";;
*application/x-archive*) # Libraries (.a)
/usr/bin/strip ${STRIP_STATIC} "${binary}";;
*application/x-executable*) # Binaries
/usr/bin/strip ${STRIP_BINARIES} "${binary}";;
esac
done
# remove unneeded architectures
rm -rf "${pkgdir}"/usr/lib/modules/${_kernver}/build/arch/{alpha,arc,arm,arm26,arm64,avr32,blackfin,c6x,cris,frv,h8300,hexagon,ia64,m32r,m68k,m68knommu,metag,mips,microblaze,mn10300,openrisc,parisc,powerpc,ppc,s390,score,sh,sh64,sparc,sparc64,tile,unicore32,um,v850,xtensa}
# remove a files already in linux-docs package
rm -f "${pkgdir}/usr/lib/modules/${_kernver}/build/Documentation/kbuild/Kconfig.recursion-issue-01"
rm -f "${pkgdir}/usr/lib/modules/${_kernver}/build/Documentation/kbuild/Kconfig.recursion-issue-02"
rm -f "${pkgdir}/usr/lib/modules/${_kernver}/build/Documentation/kbuild/Kconfig.select-break"
}
_package-docs() {
pkgdesc="Kernel hackers manual - HTML documentation that comes with the ${pkgbase/linux/Linux} kernel"
cd "${srcdir}/${_srcname}"
mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build"
cp -al Documentation "${pkgdir}/usr/lib/modules/${_kernver}/build"
find "${pkgdir}" -type f -exec chmod 444 {} \;
find "${pkgdir}" -type d -exec chmod 755 {} \;
# remove a file already in linux package
rm -f "${pkgdir}/usr/lib/modules/${_kernver}/build/Documentation/DocBook/Makefile"
}
pkgname=("${pkgbase}" "${pkgbase}-headers" "${pkgbase}-docs")
for _p in ${pkgname[@]}; do
eval "package_${_p}() {
$(declare -f "_package${_p#${pkgbase}}")
_package${_p#${pkgbase}}
}"
done
# vim:set ts=8 sts=2 sw=2 et:
Last edited by MarthaParkin (2016-05-14 11:25:07)
Offline
I tried renaming linux-usbhub since it was different than the filename but it didn't make a difference; got that same error.
Can anyone give me another clue not sure where to go next. My computer is definitely not overheating. Monitored temps last night while compiling and all fine.
Offline
Have you tried renaming linux.install to linux-usbhub.install?
Offline
yes I changed the name in PKGBUILD to pkgbase=linuxusb and changed the filename to linuxusb.install. Got the same error as the most recent one above.
Maybe someone who already compiled the patch could upload their build directory that worked for them on their machine so I could try on mine?
Last edited by MarthaParkin (2016-05-17 09:42:26)
Offline
MarthaParkin,
the patch that mich made is no longer available from the link he posted.
Could you run "makepkg --source" from the folder you have the PKGBUILD in and upload the resulting tarball somewhere ?
That will allow others to build with the exact same files as you.
<off-topic>
for those that didn't see my edit in my previous post :
At this rate you'll be an expert soon.
https://wiki.archlinux.org/index.php/Ma … e_checking
Edit
Not sarcasm, kernel packages are imo the hardest ones to create/maintain .
I do remember how much i had to learn to create my first package, and that was A LOT simpler then building a customkernel.MarthaParkin, you have earned my respect .
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
(A works at time B) && (time C > time B ) ≠ (A works at time C)
Offline
Also how do yours finish so quickly and mine takes hours?
Are you sure you uncommented this MAKEFLAGS line in /etc/makepkg.conf? It should finish in less than hour on six cores.
yes I changed the name in PKGBUILD to pkgbase=linuxusb and changed the filename to linuxusb.install. Got the same error as the most recent one above.
Maybe this messed something up. I think you are trying to do too many things at once. Revert everything to defaults and then re-add only the lines required for patching, as instructed by Ropid (only change patch -p2 to -p1). Then, if it builds and if it works, you can play with renaming it to your liking.
the patch that mich made is no longer available from the link he posted.
It was same thing as in my forum post on page 3.
EDIT: A build following Ropid's instructions with my patch finished cleanly in 24 minutes.
Last edited by mich41 (2016-05-17 11:24:56)
Offline
Are you sure you uncommented this MAKEFLAGS line in /etc/makepkg.conf? It should finish in less than hour on six cores.
MarthaParkin wrote:yes I changed the name in PKGBUILD to pkgbase=linuxusb and changed the filename to linuxusb.install. Got the same error as the most recent one above.
Maybe this messed something up. I think you are trying to do too many things at once. Revert everything to defaults and then re-add only the lines required for patching, as instructed by Ropid (only change patch -p2 to -p1). Then, if it builds and if it works, you can play with renaming it to your liking.
Lone_Wolf wrote:the patch that mich made is no longer available from the link he posted.
It was same thing as in my forum post on page 3.
EDIT: A build following Ropid's instructions with my patch finished cleanly in 24 minutes.
Yes I did not update you guys that I hadnt uncommented. I just noticed on the last couple build attempts. I had changed to j6 but not uncommented but things are going alot quicker now I have.
Re doing too many things at once it isn't that I am trying to be 'fancy' it's rather that following the wiki I am unsure what is necessary from what is not. So I will avoid that if, on your recomendation, it's not needed.
Last edited by MarthaParkin (2016-05-17 11:40:22)
Offline
Thanks yes I had happened to notice the Edited post by chance when looking back.
I'll sort the source thing out shortly. Stand by.
EDIT: here we go http://s000.tinyupload.com/index.php?fi … 8193320039
md5: 8704ea12e802fb88e02fbae22a0ca84a
It's only a couple of kbs though so don't know if I did it wrong or if it's supposed to be like that?
MarthaParkin,
the patch that mich made is no longer available from the link he posted.
Could you run "makepkg --source" from the folder you have the PKGBUILD in and upload the resulting tarball somewhere ?
That will allow others to build with the exact same files as you.<off-topic>
for those that didn't see my edit in my previous post :Lone_Wolf wrote:At this rate you'll be an expert soon.
https://wiki.archlinux.org/index.php/Ma … e_checking
Edit
Not sarcasm, kernel packages are imo the hardest ones to create/maintain .
I do remember how much i had to learn to create my first package, and that was A LOT simpler then building a customkernel.MarthaParkin, you have earned my respect .
Last edited by MarthaParkin (2016-05-17 15:31:31)
Offline
EDIT: A build following Ropid's instructions with my patch finished cleanly in 24 minutes.
Hmm so yours built ok without an error? as even ropid was not able to complete the build. If yes I will have another go with that one too.
Offline
For Ropid's patch I got
$ makepkg -s --skippgpcheck
==> Making package: linux 4.5.1-1 (Tue 17 May 23:16:26 BST 2016)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Found linux-4.5.tar.xz
-> Found linux-4.5.tar.sign
-> Found patch-4.5.1.xz
-> Found patch-4.5.1.sign
-> Found config
-> Found config.x86_64
-> Found linux.preset
-> Found change-default-console-loglevel.patch
-> Found ch11.h.patch
==> WARNING: Skipping verification of source file PGP signatures.
==> ERROR: Integrity checks (sha256) differ in size from the source array.
I did
ABSROOT=. abs core/linux
and just followed his instructions from his patch post downloading his hosted copies. I read on google that you have to change/add the hashes in PKGBUILD but not sure which to add or if that is the right thing for the job here.
Offline
In the PKGBUILD, go to the line where you see "prepare() {". Add the following before that line:
source+=('ch11.h.patch') sha256sums+=('SKIP')
Now go down a few lines and into the "prepare()" function. Look for where "change-default-console-loglevel.patch" gets applied. Add this line after it:
patch -p2 -i "${srcdir}/ch11.h.patch"
Just get clean PKGBUILD from ABS and do the above, only changing ch11.h.patch to mich41.patch and -p2 to -p1.
Last edited by mich41 (2016-05-18 05:49:28)
Offline
In the PKGBUILD, go to the line where you see "prepare() {". Add the following before that line:
source+=('ch11.h.patch') sha256sums+=('SKIP')
Now go down a few lines and into the "prepare()" function. Look for where "change-default-console-loglevel.patch" gets applied. Add this line after it:
patch -p2 -i "${srcdir}/ch11.h.patch"
Just get clean PKGBUILD from ABS and do the above, only changing ch11.h.patch to mich41.patch and -p2 to -p1.
I did that and still get
$ makepkg -s --skippgpcheck
==> Making package: linux 4.5.4-1 (Wed 18 May 09:53:38 BST 2016)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Found linux-4.5.tar.xz
-> Found linux-4.5.tar.sign
-> Found patch-4.5.4.xz
-> Found patch-4.5.4.sign
-> Found config
-> Found config.x86_64
-> Found linux.preset
-> Found change-default-console-loglevel.patch
-> Found mich41.patch
==> WARNING: Skipping verification of source file PGP signatures.
==> ERROR: Integrity checks (sha256) differ in size from the source array.
Last edited by MarthaParkin (2016-05-18 08:58:57)
Offline
Well, sha256sums differs in size from source, what could possibly be wrong?
Now just admit that you didn't use clean PKGBUILD from ABS
Last edited by mich41 (2016-05-18 10:20:54)
Offline
I absolutely did several times.
I do
ABSROOT=. abs core/linux
then do the edits of PKGBUILD suggested above and copy mich41.patch into the PKGBUILD directory. Nothing else up my sleeve (that I am aware of).
EDIT: ok got the old girl going now when I tried again. Maybe I got mixed up somehow and copied some other file across I shouldn't have previously but I was definitely doing abs thing each time.
EDIT2: WOoohoo! Finally...my first successful build. Thanks yall for the help in getting me up and running but now to test it to see if it actually works...
Last edited by MarthaParkin (2016-05-18 12:15:55)
Offline
How do I now use the new kernel? I don't follow what the wiki means. It says to install the package
After running makepkg, you can have a look at the linux.install file. You will see that some variables have changed.
Now, you only have to install the package as usual. Best practice is to install kernel headers first as they will be needed (e.g. to install the nvidia driver) for the custom kernel later.
But I thought I had to just point linux to the new kernel? What package am I supposed to be installing? the patch is not a package is it. Anyone care to explain?
Last edited by MarthaParkin (2016-05-19 09:56:33)
Offline
Look in the folder where you build your custom kernel, you should see 3 files there ending with pkg.tar.xz .
Install those files with pacman -U
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
(A works at time B) && (time C > time B ) ≠ (A works at time C)
Offline
Look in the folder where you build your custom kernel, you should see 3 files there ending with pkg.tar.xz .
Install those files with pacman -U
Thanks.
I have left the kernel name as linux.install as someone suggested above. Would it be a good idea to change it now if I need to revert back to the default kernel later? Will there be any other files/configs files I need to update the name of while I'm at it?
Also I made compiled it on my 64 bit machine but want to install it on a 32 bit one. Will that work considered I compiled with only the default PKGBUILD settings?
Last edited by MarthaParkin (2016-05-19 11:19:37)
Offline
To change the kernel and package name, you edit PKGBUILD and change the "pkgbase=linux" line to something different. There's already an example provided. Just use that example and call your version "linux-custom". You have to recompile the thing after the change.
That one line is the only change you have to make. You don't have to work on any other file.
If you use a different name, what's neat is that you can have both your kernel and the normal kernel installed at the same time. You have to see how the config of the boot loader you use works, and can add your own kernel to its boot menu so that you can choose between the two kernels at boot.
Btw., you can install with "makepkg -i" instead of doing "pacman -U ...".
Offline