Thanks for the answer, please see below.
On Sat, 24 Jan 2015 23:16:23 -0800, Adam Williamson wrote:
On Sun, 2015-01-25 at 06:50 +0000, Amadeus W.M. wrote:
> I'm trying to do the following:
>
> 1) add the smi2021 driver for EasyCap Somagic usb frame grabbers
> into the
> kernel tree
> 2) compile the kernel with smi2021 as a module
> 3) build the rpm.
>
> I got the driver from Jon Arne Jorgensen's kernel branch on github:
>
>
https://github.com/jonjonarnearne/smi2021
>
> then tried to follow these instructions:
>
>
https://fedoraproject.org/wiki/Building_a_custom_kernel
>
> but the whole thing fails with this eror:
>
>
> Patch100000: smi2021.patch
> + case "$patch" in
> + patch -p1 -F1 -s
> + chmod +x scripts/checkpatch.pl
> + touch .scmversion
> + mkdir configs
> + for i in '*.config'
> + mv kernel-3.17.8-aarch64.config .config
> ++ head -1 .config
> ++ cut -b 3-
> + Arch=arm64
> + make ARCH=arm64 listnewconfig
> + grep -E '^CONFIG_'
> + '[' -s .newoptions ']'
> + cat .newoptions
> CONFIG_VIDEO_SMI2021
> + exit 1
> error: Bad exit status from /var/tmp/rpm-tmp.sASN4F (%prep)
>
> Please help, I'm at the end of my wits. Thanks!
You just have to put the new config option in one of the config* files
that's part of the kernel package git checkout itself - one that gets
included in the appropriate arch builds.
How do I do that?
If you want to build the
driver as a module for all arches, put CONFIG_VIDEO_SMI2021=m in
config-generic , for instance.
--
Adam Williamson
Fedora QA Community Monkey
IRC: adamw | Twitter: AdamW_Fedora | XMPP: adamw AT happyassassin . net
http://www.happyassassin.net
I did do that, as per these instructions:
https://fedoraproject.org/wiki/Building_a_custom_kernel
(Configure Kernel Options, #6). So
grep -i smi2021 rpmbuild/SOURCES/config-*
rpmbuild/SOURCES/config-x86_64-generic:CONFIG_VIDEO_SMI2021=m
So config-x86_64-generic is the ONLY one that has this option. Then
I run rpmbuild and the kernel*.config files are generated:
grep -i smi2021
rpmbuild/BUILD/kernel-3.17.fc20/linux-3.17.8-200.smi2021.fc20.x86_64/kernel*.config
rpmbuild/BUILD/kernel-3.17.fc20/linux-3.17.8-200.smi2021.fc20.x86_64/kernel-3.17.8-x86_64.config:CONFIG_VIDEO_SMI2021=m
rpmbuild/BUILD/kernel-3.17.fc20/linux-3.17.8-200.smi2021.fc20.x86_64/kernel-3.17.8-x86_64-debug.config:CONFIG_VIDEO_SMI2021=m
so only two of them have the new option. Then rpmbuild -bb fails with
CONFIG_VIDEO_SMI2021
+ exit 1
error: Bad exit status from /var/tmp/rpm-tmp.sASN4F (%prep)
The relevant code in /var/tmp/rpm-tmp.sASN4F is
# now run oldconfig over all the config files
for i in *.config
do
mv $i .config
Arch=`head -1 .config | cut -b 3-`
make ARCH=$Arch listnewconfig | grep -E '^CONFIG_' >.newoptions || true
if [ -s .newoptions ]; then
cat .newoptions
exit 1
fi
rm -f .newoptions
make ARCH=$Arch oldnoconfig
echo "# $Arch" > configs/$i
cat .config >> configs/$i
done
# end of kernel config
which checks that ALL *.config files in the kernel tree have empty .newoptions.
Of course, none do, except for the x86_64 ones.