Re: [lfs-dev] Proposal: Firmware instructions
Date: Mon, 17 Mar 2014 21:35:05 -0700 From: Nathan Coulson conat...@gmail.com To: LFS Developers Mailinglist lfs-dev@linuxfromscratch.org Subject: Re: [lfs-dev] Proposal: Firmware instructions . . For radeon, they have a handy table on the gentoo wiki to show what firmware you would want for what device. (No idea how to integrate something like that, but thought I'd throw the link out there) https://wiki.gentoo.org/wiki/Radeon Likewise there's of course similar info at: http://wiki.x.org/wiki/RadeonFeature , that is linked-to from the blfs page - at the text, Decoder ring ...: /x/installing/x7driver-ati.xml http://www.linuxfromscratch.org/blfs/view/7.5/x/x7driver.html rgds, akh -- -- http://linuxfromscratch.org/mailman/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page
Re: [lfs-dev] Proposal: Firmware instructions
On Sun, Mar 16, 2014 at 2:08 AM, Olaf mailingli...@ban-solms.de wrote: On 2014-03-16 03:18, Bruce Dubbs wrote: I checked out your procedure and it works quite well. The problem is that the directory after using make install is 67M for the entire tree. My entire /lib directory is only 20M. Yeah, I am struggling with the same problem. Even if diskspace is less of a problem as it was 25 years go, I would still like to keep things as small as possible. I don't know that users would want the whole tree. At least I wouldn't. How does a user know what firmware is needed? If we could do that, we could just mirror the tree, updated daily, and let users download from there. The only way I would think that the user would know what is needed is to start with the entire tree in /lib/firmware and check dmesg to see what it wants and then delete the rest. I would think there is a better way. I had following idea (still to be implemented/tested), in chapter 8.3.1 the LFS user more or less chooses his kernel config and the required stuff is build. By using modinfo -F firmware module it is possible to list the firmware files. So using a script that tests all modules should be produce a list of blobs that matches. Then copy only those instead of running make install. One note is that I am suprised that there are copies of firmware in the main directory and not in vendor specific subdirectories. My guess is that most modules have not been modified/adjusted. Olaf -- http://linuxfromscratch.org/mailman/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page For radeon, they have a handy table on the gentoo wiki to show what firmware you would want for what device. (No idea how to integrate something like that, but thought I'd throw the link out there) https://wiki.gentoo.org/wiki/Radeon -- Nathan Coulson (conathan) -- Location: British Columbia, Canada Timezone: PST (-8) Webpage: http://www.nathancoulson.com -- http://linuxfromscratch.org/mailman/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page
Re: [lfs-dev] Proposal: Firmware instructions
On 2014-03-16 03:18, Bruce Dubbs wrote: I checked out your procedure and it works quite well. The problem is that the directory after using make install is 67M for the entire tree. My entire /lib directory is only 20M. Yeah, I am struggling with the same problem. Even if diskspace is less of a problem as it was 25 years go, I would still like to keep things as small as possible. I don't know that users would want the whole tree. At least I wouldn't. How does a user know what firmware is needed? If we could do that, we could just mirror the tree, updated daily, and let users download from there. The only way I would think that the user would know what is needed is to start with the entire tree in /lib/firmware and check dmesg to see what it wants and then delete the rest. I would think there is a better way. I had following idea (still to be implemented/tested), in chapter 8.3.1 the LFS user more or less chooses his kernel config and the required stuff is build. By using modinfo -F firmware module it is possible to list the firmware files. So using a script that tests all modules should be produce a list of blobs that matches. Then copy only those instead of running make install. One note is that I am suprised that there are copies of firmware in the main directory and not in vendor specific subdirectories. My guess is that most modules have not been modified/adjusted. Olaf -- http://linuxfromscratch.org/mailman/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page
Re: [lfs-dev] Proposal: Firmware instructions
On 2014-03-15 04:44, Bruce Dubbs wrote: Hmm, just tell me in your own words how you do it. Don't worry about what tools to use right now. This is how I currently create 'snapshots': # linux-firmware lives in GIT http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/ # The procedure to create a snapshot is something like: git pull TAG=`git log -1 --pretty=format:%h` git archive --prefix=linux-firmware-${TAG}/ HEAD | xz location-for-storing/linux-firmware-${TAG}.tar.xz Result is about ~ 22 MiB. Probably best/easiest to make that available via anduin? The archived snapshot comes with a Makefile which can be used to copy the lot to /lib/firmware. Or, if disk space is a concern, cherry pick the ones you need. Olaf -- http://linuxfromscratch.org/mailman/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page
Re: [lfs-dev] Proposal: Firmware instructions
I have noticed that we don't seem to cover firmware installation anywhere in LFS. The trick is that some modern network cards and most wireless ones require firmware to function. Radeon cards also require firmware (most of them does iirc) but we cover that in BLFS. It doesn't stop there, but I find these 3 cases to be most common ones. It would be nice if we included some instructions about firmware in LFS. Most of the firmware can be downloaded from kernel.org git repository: https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/tree/ Some firmware is shipped in the kernel tree. Thoughts? I would recommend that you simply point people to some links, based on the card they have. For e.g. lspci | grep Network gives me: 00:19.0 Ethernet controller: Intel Corporation 82577LM Gigabit Network Connection (rev 06) 03:00.0 Network controller: Intel Corporation Centrino Ultimate-N 6300 (rev 35) Then you could add something along the lines of: For Intel cards go to http://wireless.kernel.org/en/users/Drivers/iwlwifi/?n=Downloads#Firmware where you can download the firmware for your card and place it in /lib/firmware. The wireless.kernel.org site includes instructions for telling the kernel where the firmware is located on your machine. jb. -- http://linuxfromscratch.org/mailman/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page
Re: [lfs-dev] Proposal: Firmware instructions
Olaf wrote: On 2014-03-15 04:44, Bruce Dubbs wrote: Hmm, just tell me in your own words how you do it. Don't worry about what tools to use right now. This is how I currently create 'snapshots': # linux-firmware lives in GIT http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/ # The procedure to create a snapshot is something like: git pull TAG=`git log -1 --pretty=format:%h` git archive --prefix=linux-firmware-${TAG}/ HEAD | xz location-for-storing/linux-firmware-${TAG}.tar.xz Result is about ~ 22 MiB. Probably best/easiest to make that available via anduin? The archived snapshot comes with a Makefile which can be used to copy the lot to /lib/firmware. Or, if disk space is a concern, cherry pick the ones you need. OK, I'll try this and see want is there. I personally don't need any firmware so I haven't had a need in the past. -- Bruce -- http://linuxfromscratch.org/mailman/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page
Re: [lfs-dev] Proposal: Firmware instructions
On 03/15/2014 05:26 PM, Bruce Dubbs wrote: Olaf wrote: On 2014-03-15 04:44, Bruce Dubbs wrote: Hmm, just tell me in your own words how you do it. Don't worry about what tools to use right now. This is how I currently create 'snapshots': # linux-firmware lives in GIT http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/ # The procedure to create a snapshot is something like: git pull TAG=`git log -1 --pretty=format:%h` git archive --prefix=linux-firmware-${TAG}/ HEAD | xz location-for-storing/linux-firmware-${TAG}.tar.xz Result is about ~ 22 MiB. Probably best/easiest to make that available via anduin? The archived snapshot comes with a Makefile which can be used to copy the lot to /lib/firmware. Or, if disk space is a concern, cherry pick the ones you need. OK, I'll try this and see want is there. I personally don't need any firmware so I haven't had a need in the past. -- Bruce I for one had great deal of truble when it comes to firmware. Debian, aiming to be a FSF free distro doesn't ship firmware by default on their official install media. Both my network and wireless card require firmware so it was impossible for me to install Debian via netinstall or netboot at all. I had to resort to unofficial media or repackaging their initramfs. Same goes for LFS. I can't get connection working unless I have the firmware for my card. I am however using binary driver for my wireless which is quite better than the in-kernel one, but that requires more effort than just installing firmware. I will try to write something regarding this, but I first have to finish systemd-networkd integration in lfs systemd and git server instructions for BLFS. So it might take some time unless someone beats me to it. -- Note: My last name is not Krejzi. -- http://linuxfromscratch.org/mailman/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page
Re: [lfs-dev] Proposal: Firmware instructions
Em 15-03-2014 14:01, Armin K. escreveu: git server instructions for BLFS. So it might take some time unless someone beats me to it. I don't know how you are thinking. This subjects is extremely disagreeable for me to discuss. But I have to. One thing I do not understand is: systemd wants a BLFS version, because of that, BLFS has to change. I have seen gnucash transition from svn to git. IIRC, almost one year with both versions, testing. Commits in svn, then mapped somehow in git. Many many problems, ghosts branches appearing, master disappearing, only later svn was turned off. As in CLFS, where there are git for the books and svn for the patches, why would not create a git version of LFS-Systemd? This would serve as a proof -f concept. Then it would be shown to work ok, and then try to create a map from svn to git versions, and when everyting is prooed, create the BLFS-systemd git, mapped from aa BLFS-systemd svn, this mapped from a BLFS svn, and only when nothing else could be done, perhaps, we would need start considering a discussion about alternatives. From a basic logic, before even creating BLFS-systemd, there is no need to discuss anything. First create LFS-systemd git, then proof the concept, show how things could be done, then go to BLFS-systemd in svn and/or git, show the problems you have to maintain it in sync with BLFS, and then lets start discussing. I am not feeling very comfortable, discussing this, but I have to. I curse the day when systemd ate udev inside the monster that it is. We are all in peace, a lot of difficulties to get the book updated, and then, have to think about this other subject. I went to the site that Bruce created. Could do nothing there. It is the same felling I have when I need some info from sites using git. -- []s, Fernando -- http://linuxfromscratch.org/mailman/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page
Re: [lfs-dev] Proposal: Firmware instructions
Olaf wrote: On 2014-03-15 04:44, Bruce Dubbs wrote: Hmm, just tell me in your own words how you do it. Don't worry about what tools to use right now. This is how I currently create 'snapshots': # linux-firmware lives in GIT http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/ # The procedure to create a snapshot is something like: git pull TAG=`git log -1 --pretty=format:%h` git archive --prefix=linux-firmware-${TAG}/ HEAD | xz location-for-storing/linux-firmware-${TAG}.tar.xz Result is about ~ 22 MiB. Probably best/easiest to make that available via anduin? The archived snapshot comes with a Makefile which can be used to copy the lot to /lib/firmware. Or, if disk space is a concern, cherry pick the ones you need. I checked out your procedure and it works quite well. The problem is that the directory after using make install is 67M for the entire tree. My entire /lib directory is only 20M. I don't know that users would want the whole tree. At least I wouldn't. How does a user know what firmware is needed? If we could do that, we could just mirror the tree, updated daily, and let users download from there. The only way I would think that the user would know what is needed is to start with the entire tree in /lib/firmware and check dmesg to see what it wants and then delete the rest. I would think there is a better way. One note is that I am suprised that there are copies of firmware in the main directory and not in vendor specific subdirectories. -- Bruce -- http://linuxfromscratch.org/mailman/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page
Re: [lfs-dev] Proposal: Firmware instructions
Armin K. wrote: I have noticed that we don't seem to cover firmware installation anywhere in LFS. The trick is that some modern network cards and most wireless ones require firmware to function. Radeon cards also require firmware (most of them does iirc) but we cover that in BLFS. It doesn't stop there, but I find these 3 cases to be most common ones. It would be nice if we included some instructions about firmware in LFS. Most of the firmware can be downloaded from kernel.org git repository: https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/tree/ Some firmware is shipped in the kernel tree. Firmware is tied pretty tightly to the kernel. I suppose a section at the end of Section 8.3 right after Configuring Linux Module Load Order would be educational. Would like to make a draft of what you have in mind? -- Bruce -- http://linuxfromscratch.org/mailman/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page
Re: [lfs-dev] Proposal: Firmware instructions
On Sat, Mar 15, 2014 at 01:49:54AM +0100, Armin K. wrote: I have noticed that we don't seem to cover firmware installation anywhere in LFS. The trick is that some modern network cards and most wireless ones require firmware to function. Radeon cards also require firmware (most of them does iirc) but we cover that in BLFS. It doesn't stop there, but I find these 3 cases to be most common ones. It would be nice if we included some instructions about firmware in LFS. Most of the firmware can be downloaded from kernel.org git repository: https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/tree/ Some firmware is shipped in the kernel tree. Thoughts? In the old days, firmware used to be for things which are covered in BLFS. For radeon, R300 and later require it, but I'm unclear if you need it to get a working KMS framebuffer. On older R600 chips, the firmware was only needed to get Xorg running. On my most recent AMD box, I'm not sure - my notes are ambiguous (or perhaps I'm grepping for the wrong phrase), and I now always build the required firmware. The firmware in the kernel source is only old things, nothing more will be added there (I believe people complained that it wasn't redistributable under the GPL v2). I suppose it is possible to copy the files from kernel.org, but ISTR I had problems when I tried doing that in firefox. For many people, copying a recent tarball from a distro is probably the way to go, and then they can periodically clone linux-firmware once they have built git. At least one of my nics wants the firmware (I've seen error messages when booting without it), but it seemed to work fine without it! I suspect it maybe had an old version. ĸen -- das eine Mal als Tragödie, dieses Mal als Farce -- http://linuxfromscratch.org/mailman/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page
Re: [lfs-dev] Proposal: Firmware instructions
On Mar 14, 2014, at 9:09 PM, Ken Moffat wrote: At least one of my nics wants the firmware (I've seen error messages when booting without it), but it seemed to work fine without it! I suspect it maybe had an old version. ĸen I have an old Pentium 3 system with a Tyan Thunder LE board and it has dual e100 devices. Both devices require d101m_ucode.bin. Still works after a decade. Sure it'll work fine without the firmware, but it works better with it. A lot of devices will seem to work fine without the firmware, but they will work better with it. Sincerely, William Harrington -- http://linuxfromscratch.org/mailman/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page
Re: [lfs-dev] Proposal: Firmware instructions
On 03/15/2014 02:36 AM, Bruce Dubbs wrote: Armin K. wrote: I have noticed that we don't seem to cover firmware installation anywhere in LFS. The trick is that some modern network cards and most wireless ones require firmware to function. Radeon cards also require firmware (most of them does iirc) but we cover that in BLFS. It doesn't stop there, but I find these 3 cases to be most common ones. It would be nice if we included some instructions about firmware in LFS. Most of the firmware can be downloaded from kernel.org git repository: https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/tree/ Some firmware is shipped in the kernel tree. Firmware is tied pretty tightly to the kernel. I suppose a section at the end of Section 8.3 right after Configuring Linux Module Load Order would be educational. Would like to make a draft of what you have in mind? -- Bruce I could write something, but I always get stuck at How the hell do I point someone to download the firmware?. Sure, I can link to kernel.org tree, which is in a git repository but that isn't practical to download such big number of files. Telling someone to use git to download it isn't something for just pure LFS. What would you suggest on this issue? -- Note: My last name is not Krejzi. -- http://linuxfromscratch.org/mailman/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page