Anyone with two AMDs?

poma pomidorabelisima at gmail.com
Sun May 10 21:42:52 UTC 2015


On 10.05.2015 21:59, Giulio 'juliuxpigface' wrote:
> On 10/05/2015 12.44 +0200, poma wrote:
>> On 10.05.2015 11:24, Giulio 'juliuxpigface' wrote:
>>> On Wed, 06/05/2015 at 15.06 -0700, Adam Williamson wrote:
>>>> On Wed, 2015-05-06 at 19:33 +0200, Giulio 'juliuxpigface' wrote:
>>>>>>> On Mon, 2015-05-04 at 21:56 +0200, Giulio (juliuxpigface) 
>>>>>>> wrote:
>>>>>>>> Hi folks.
>>>>>>>>
>>>>>>>> Does anyone with a laptop equipped with two Amd 
>>>>>>>> experience 
>>>>>>>> this?
>>>>>>>> https://bugzilla.redhat.com/show_bug.cgi?id=1218364
>>>>>>>>
>>>>>>>> I'm sorry but this is currently affecting my activity 
>>>>>>>> for QA 
>>>>>>>> as 
>>>>>>>> I 
>>>>>>>> can't use
>>>>>>>> Fedora at all. I promise I'll be back as soon as I 
>>>>>>>> figure 
>>>>>>>> out 
>>>>>>>> what's
>>>>>>>> happening with that laptop (*).
>>>>>>>>
>>>>>>>> Cheers guys. Feel free to contact me if you have got 
>>>>>>>> suggestions!
>>>>>>>
>>>>>>> There's a couple of other radeon parameters you might try 
>>>>>>> twiddling:
>>>>>>>
>>>>>>> radeon.aspm=0
>>>>>>> radeon.bapm=0
>>>>>>>
>>>>>>> dunno if they'll help, but it can't hurt to try...
>>>>>
>>>>>
>>>>> Hi guys. Even though I found a workaround, yesterday I filled 
>>>>> an
>>>>> upstream bug for the issue.
>>>>>
>>>>> The link is this: 
>>>>> https://bugs.freedesktop.org/show_bug.cgi?id=90321
>>>>>
>>>>> As shown there, Alex Deucher proposed a patch. I'm wondering 
>>>>> what 
>>>>> I'm
>>>>> supposed to do now. In order to test it, I believe that 
>>>>> recompiling
>>>>> the kernel is mandatory, but I'm not sure (this is one of my 
>>>>> first
>>>>> upstream tickets, sorry).
>>>>>
>>>>> Should I try to get my hands on it (I don't really know how to,
>>>>> anyway, but I might learn...), or shall I ping Fedora's 
>>>>> maintainer?
>>>>
>>>> The way I like to do this (there are others, like poma's) is to
>>>> rebuild the kernel package. Clone it from git:
>>>>
>>>> fedpkg --anonymous clone kernel
>>>> cd kernel
>>>>
>>>> You can stay on master branch, which is the rawhide package, and 
>>>> so
>>>> right now will give you a 4.1rc2 kernel. Or you can do 'fedpkg -
>>>> -anonymous switch-branch f22' to switch to the f22 branch.
>>>>
>>>> Copy the patch into the directory, then edit the kernel.spec 
>>>> file.
>>>> Find the two big blocks where patches are defined and applied. 
>>>> There's
>>>> a comment at the end of the patch definitions - "# END OF FEDORA 
>>>> PATCH
>>>> DEFINITIONS" - so search for that. Add your patch right above 
>>>> it, 
>>>> with
>>>> a number higher than the last patch. So right now, for instance, 
>>>> you'd
>>>> wind up with this, on the master branch:
>>>>
>>>> ========================
>>>>
>>>> #rhbz 1218662
>>>> Patch26199: libata-Blacklist-queued-TRIM-on-all-Samsung-800
>>>> -seri.patch
>>>>
>>>> Patch26200: 0001-drm-radeon-handle-audio-for-PX.patch
>>>>
>>>> # END OF PATCH DEFINITIONS
>>>>
>>>> ========================
>>>>
>>>> There are similar comments around the patch application block, 
>>>> so you
>>>> can find that similarly - look for "# END OF FEDORA PATCH
>>>> APPLICATIONS". Edit as appropriate again. You'll wind up with:
>>>>
>>>> ========================
>>>>
>>>> #rhbz 1218662
>>>> ApplyPatch libata-Blacklist-queued-TRIM-on-all-Samsung-800
>>>> -seri.patch
>>>>
>>>> ApplyPatch 0001-drm-radeon-handle-audio-for-PX.patch
>>>>
>>>> # END OF PATCH APPLICATIONS
>>>>
>>>> ========================
>>>>
>>>> Now you want to bump the package version a bit so it'll be newer 
>>>> than
>>>> the current kernel package. There's actually a handy macro for 
>>>> this
>>>> purpose in the kernel spec, near the top:
>>>>
>>>> # % define buildid .local
>>>>
>>>> You can uncomment that and change it. So for e.g. you could do:
>>>>
>>>> %define buildid .1.juliux
>>>>
>>>> and then you'd wind up with a kernel based on '4.1.0
>>>> -0.rc2.git2.1'
>>>> whose version would be '4.1.0-0.rc2.git2.1.1.juliux' - makes it 
>>>> easy
>>>> to notice when you're running your own modified kernel.
>>>>
>>>> If you like you can put a changelog entry in, following the 
>>>> format of
>>>> the existing ones - it's not required, but it can be handy so you
>>>> remember what the hell you did two weeks later. :)
>>>>
>>>> Then you can build a .src.rpm:
>>>>
>>>> fedpkg --anonymous srpm
>>>>
>>>> Then you just have to build it. If you're a packager you can do 
>>>> a 
>>>> Koji
>>>> scratch build, but if not, you can use mock:
>>>>
>>>> mock -r fedora-22-x86_64 --rebuild kernel-4.1.0
>>>> -0.rc2.git2.1.1.juliux.src.rpm
>>>>
>>>> for e.g. Or of course you can just build it with 'rpm -
>>>> -rebuild', 
>>>> but 
>>>> I like to keep my package builds clean. To use mock you have to 
>>>> set 
>>>> it
>>>> up if you never have - 
>>>> https://fedoraproject.org/wiki/Using_Mock_to_test_package_builds
>>>>  .
>>>>
>>>> You can fiddle about with 'make config-release' and the '%define
>>>> debugbuildsenabled 0/1' line in kernel.spec - if you want a non
>>>> -debug
>>>> kernel and a faster build, you want to run 'make config-release'
>>>> before creating the .src.rpm, and make sure it's '%define
>>>> debugbuildsenabled 0' not '%define debugbuildsenabled 1' - but 
>>>> that's
>>>> not compulsory.
>>>>
>>>> Good luck :)
>>>>
>>>> If you test and find the patch works it'll likely start working 
>>>> its
>>>> way upstream, and you could poke the Fedora maintainers and see 
>>>> if
>>>> they're willing to backport it to Rawhide and F22 kernels.
>>>> -- 
>>>> Adam Williamson
>>>> Fedora QA Community Monkey
>>>> IRC: adamw | Twitter: AdamW_Fedora | XMPP: adamw AT 
>>>> happyassassin . 
>>>> net
>>>> http://www.happyassassin.net
>>>
>>> Hi guys.
>>>
>>> Sorry if I bump this again.
>>>
>>> I've been trying Adam's suggestions, but my problem is that my "/"
>>> partition goes easily out of space while mocking (throwing 
>>> 'OSError:
>>> [Errno 28] No space left on device' explicitly. 'df -h' confirms 
>>> it).
>>>
>>> How much space is required for this process? My "/" is only 20gb 
>>> large
>>> and I fear it's not sufficient. How can I use an ext4 partition of 
>>> an
>>> external drive? I've tried using the parameter '--rootdir', but the
>>> compilation fails.
>>>
>>> Or... I could work inside a minimal virtual guest - obviously 
>>> created
>>> with a larger "/" - stored on the external drive. The process 
>>> might be
>>> a bit slower, but it should work...
>>>
>>> What do you think? Thank you in advance!
>>>
>>> // Giulio (juliuxpigface)
>>>
>>>
>>
>> Are you're trying to build the whole kernel to test only one module?
>>
>>
> 
> 
> Hi poma, thank you for your help.
> 
> 
> I've tried your suggestion, but something went wrong. The system can't 
> load the radeon driver properly now. I don't know if it is caused by 
> upstream's patch, or I misunderstood some of your steps. Here it's what I did:
> 
> 
> $ rpm -ivh https://kojipkgs.fedoraproject.org/packages/kernel/4.0.1/300.fc22/src/kernel-
> 4.0.1-300.fc22.src.rpm 
> $ rpmbuild -bp ~/rpmbuild/SPECS/kernel.spec
> $ cd ~/rpmbuild/BUILD/kernel-4.0.fc22/linux-4.0.1-300.fc22.x86_64/
> $ curl -s https://bugs.freedesktop.org/attachment.cgi?id=115559 |
> patch -p1
> $ make -j drivers/gpu/drm/radeon/radeon.ko
> $ su
> # cp drivers/gpu/drm/radeon/radeon.ko /lib/modules/4.0.1
> -300.fc22.x86_64/updates/
> # depmod
> # systemctl reboot
> # mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img
> -bkp
> # dracut -v
> # reboot
> 
> 
> The problem could be what "# journalctl -b | grep radeon" prints:
> 
> kernel: radeon: version magic '4.0.1 SMP mod_unload ' should be '4.0.1
> -300.fc22.x86_64 SMP mod_unload '
> 
> What do you think?
> 
> // Giulio (juliuxpigface)
> 


You need to specify Fedora part of the kernel name in kernel's config file:
~/rpmbuild/BUILD/kernel-4.0.fc22/linux-4.0.1-300.fc22.x86_64/.config

change the empty string:
CONFIG_LOCALVERSION=""
with:
CONFIG_LOCALVERSION="-300.fc22.x86_64"

so you get:
$ modinfo radeon | grep vermagic
vermagic:       4.0.1-300.fc22.x86_64 SMP mod_unload

rather than it is now:
vermagic:       4.0.1 SMP mod_unload

you can do it like this:
$ cd ~/rpmbuild/BUILD/kernel-4.0.fc22/linux-4.0.1-300.fc22.x86_64/
$ sed -i 's/CONFIG_LOCALVERSION=""/CONFIG_LOCALVERSION="-300.fc22.x86_64"/' .config

then repeat the procedure starting from 'make ...'

Pay attention:
"curl -s https://bugs.freedesktop.org/attachment.cgi?id=115559 | patch -p1"
is one-liner.




More information about the test mailing list