Allow switching between kernels in GRUB

37 risposte [Ultimo contenuto]
paradox
Offline
Iscritto: 06/21/2014

*TL;DR: Looking for Linux AND Linux-libre, switchable in GRUB, to work in Trisquel.*

Hi, so I'm transitioning to free software and I believe that using Trisquel, even if not in a fully-free mode, is better than using Ubuntu or any OS that recommends or includes non-free software by default. To me, if one is going to sacrifice their freedoms by using binary blobs, then they should at least have the ability to do it only to the extent absolutely necessary (i.e. not installing a proprietary OS for just one blob).

Ideology aside, the program I need on Trisquel is Linux. I wonder if it is possible to even take only the necessary blobs and not the whole kernel, as would fully conform to the previous paragraph, but for now I just need to know how to install Linux itself.

Don't tell me it's not possible, as I've already done it - by adding the Ubuntu repos and installing packages with "linux" in the name - but I'm not sure what were the minimum steps required (I need this to be portable) as I did a lot of probably unneccessary package-adding. As a result, GRUB is full of kernel options, all of them named "Linux-libre", even the ones that are actually Linux. (I suspect a side-effect of Trisquel dev's mass search-and-replace)

Linux has become the default option (due to being the latest version?) and I don't want this. So please give me some pointers: how can one install Linux to a fresh Trisquel installation, *without* overridding Linux-libre, and have (only) these TWO options available at startup?
Appreciate any experienced help!

jxself
Offline
Iscritto: 09/13/2010

Adding repositories for other distros is probably not a good idea as it can result in problems.

Also, what do you need the "other" kernel for?

paradox
Offline
Iscritto: 06/21/2014

Oh yeah, it's definitely not a good idea, but I didn't know how else to do it. That's why I'm asking.

I need the Linux kernel for the same reason as Ubuntu and hundreds of other distributions use it: OOB functionality, of course.

Trisquel's freedom dedication is a little too much of a change at once for average users, and with the ability to toggle kernels, it can be a conscious decision seperate from the decision to take on a new OS.

As I said, I could always install another GNU/Linux distribution and it will all work fine - but that should not be necessary for only one program, the kernel. Trisquel is freedom-superior in many more ways than its free kernel, and I see no need to get rid of them.

jxself
Offline
Iscritto: 09/13/2010

"I need the Linux kernel for the same reason as Ubuntu and hundreds of other distributions use it: OOB functionality, of course."

I was actually hoping for something more specific.

paradox
Offline
Iscritto: 06/21/2014

I was avoiding specifics because I am afraid I'll get a specific answer. If you must know, in this particular case, the need for full nvidia hardware acceleration is the cause. But I was hoping for a solution that would also work for, say, a laptop where I can't install updates while installing trisquel, because there is no WiFi support.

Unless you just wanted to make sure it's really the kernel I needed and not something else because I don't know better. In which case, I would assure you that I am not new to gnu.

Magic Banana

I am a member!

Offline
Iscritto: 07/24/2010

Assuming your processor is from Intel (probably the case), it comes with a graphical chipset that Linux-libre can *perfectly* drive. You could somehow deactivate the nVidia card (e.g., physically remove it) and you may be surprised with the performance of the Intel graphical chipset (e.g., w.r.t. video decoding). Besides, you would save energy.

As for the Wifi, adapters that are compatible with Linux-libre are not that expensive. Here is one of my recent messages on that recurrent topic: https://trisquel.info/fr/forum/request-wlan-card-support#comment-55424

paradox
Offline
Iscritto: 06/21/2014

Look guys, I'm aware and have thought of all the individual solutions for individual pieces of hardware, but I specifically chose not to mention a particular system because I don't know ahead of time what It will be using it on. I am just looking for a solution I can use in a redistributable way.

Consider legacy hardware - I started using Gnu/Linux by installing it on computers that would otherwise would be thrown out due to insufficient speed with windows. It turned these old PCs into speed deamons - and it worked right out of the box.

Sure, I could buy RYF parts or make other modifications. But the point was to repurpose the old computers *without* putting money into them. (If one were willing to put money into them, they would have upgraded the hardware). I alone may be fine with the shipping wait and the few bucks for, say, a wifi adapter, but the outsiders I advocate Trisquel to will not. In fact, I usually have less than an hour to convince them to try it, which must involve showing it running live (all of it, not just offline capabilities).

We are talking about average folks here. They have trouble working computers when everything works as intended, so expecting them to tolerate some things not quite working is not something that goes over well.

Magic Banana

I am a member!

Offline
Iscritto: 07/24/2010

Physically removing the nVidia cards from desktop computers is not hard and not "putting money into them". I keep on thinking it is the best solution.

You would only want to check first whether 'lspci' indicates that there is a "VGA compatible controller" inside the Intel processor. You probably run this command anyway to discover the nVidia card.

Your "average folks" will not have any trouble with Intel graphics. On the contrary, having to boot an most outdated kernel (because it has the evil blob) will be troublesome.

paradox
Offline
Iscritto: 06/21/2014

In what country is removing internal PC components not hard for average folks? All the "average folks" I see every day don't know how to (or want to) open a computer up, let alone know what an nVidia card is.

At my job I deal with these kind of people every day. If there was an integrated GPU in the first place, there would not be a video card. Hence, removing a card /is/ putting money into the computer, as it would need to be substituted with /something/. If the user installs their own card, this is not the user I am worried about.

Also I'd not assume the components are removable in the first place. The majority of new PCs and the majority of those I'll be working with are laptops, not desktops. If you can come up with an example for a laptop it would be more relevant.

"You would only want to check first whether 'lspci' indicates that there is a "VGA compatible controller" inside the Intel processor. You probably run this command anyway to discover the nVidia card." Explain that to my grandma.

"having to boot an [sic] most outdated kernel" - are you implying that linux-libre, a derivative of linux, is somehow more updated than the software it was derived from? Or that the "evil blob[s]" make it somehow out-of-date?
And how would it be troublesome? Selecting a different option at startup is simple for a non-techie. Ubuntu runs it, and is more OOB compatible because of it - and you'd be fooling yourself if you thought Joe Shmoe would somehow feel the difference this blob's presence makes when using his computer.

When it's gone, though - boy, will he notice.

Magic Banana

I am a member!

Offline
Iscritto: 07/24/2010

I thought *you* were preparing computers for "average folks". Now, if your grandma is the one concerned, let her talk to us. I am sure she is not as dumb as you depict her.

All reasonably recent Intel processors have a graphical chipset. Anyway, many computers have a video card on top of the motherboard for better performances (on proprietary systems). This card can be removed and not substituted by anything.

If you go for installing a Linux kernel with blobs (I would never recommend that) but do not want to mess with the repositories for APT, then that kernel would never be updated. On the contrary, the kernel that Trisquel ships receives (security) updates.

paradox
Offline
Iscritto: 06/21/2014

Yes, *I* am preparing computers for average folks, within the scope of the OS image. If I have access to the physical hardware, I'll do what I can, but as much of the time I'll only be doing the installation, or even letting them do that, I cannot expect the ability (or time) to get my hands on the hardware. If I can, of course, I would modify the hardware for freedom's sake (provided it doesn't interfere with the Windows installation, on dual-boot computers). My grandma is one of *many* concerned - pinning down just her will not fix the greater problem, as it is not about one specific person.

I would never refer to my grandmother as dumb at all, thank you very much. I'm not depicting her as dumb in the slightest; she has actually become quite tech savvy (for a grandma) in recent years and I'm proud of her - but compared to the over-idealistic technophile you clearly perceive the average user to be, I can then see why you would call her dumb. She is not. You're not getting the picture:
"let her talk to us" - not only could I do all of that on my own, but these kind of people wouldn't even *know what a forum is.* It's great they are becoming comfortable within a web browser - but outside of that is always flaky, and you'd be fooling yourself if you thought you could sit down and have a conversation about kernels.

Your idea of the modern world of internal components continues to amaze me:
How, good sir, would one go about removing the video card (that you claim to commonly exist) from a laptop computer? Or do you now see that the notion that computers come with “a video card on top of the motherboard for better performance” is silly. I'd invite you show me examples of this in any laptop for sale now. Even desktops don't do this very often, simply looking at ports offered by the motherboard and noticing the /lack/ of a VGA/DVI port is telling enough that the card is required.
However I can see how you'd come to that if you believe the even sillier notion that “All reasonably recent Intel processors have a graphical chipset”. Really? My brand-spanking-new Core i7 chip in my newly built PC has on-board graphics hidden somewhere? I didn't need to go buy a graphics card along with the motherboard? How about all of these Pentium/Core 2 Duo towers that were given to me?
I think not. Unless you were referring to laptops, but I doubt you would suggest that the laptops have video cards. If any of this is news to you:
https://answers.yahoo.com/question/index?qid=20090621032249AAqIgNM
http://www.brighthub.com/computing/hardware/articles/69791.aspx
http://www.maximumpc.com/article/news/discrete_fail_why_do_so_few_pcs_feature_graphics_cards

“If you go for installing a Linux kernel with blobs (I would never recommend that)” - yes, we're long past that point - “but do not want to mess with the repositories for APT” - I'm totally fine with messing with them, and already have as described in OP - “then that kernel would never be updated” - actually, since it's pure Linux, it will be more updated than the linux-libre kernel, as Ubuntu is always ahead of Trisquel. “On the contrary, the kernel that Trisquel ships receives (security) updates.” So does upstream's.

Now again I ask the general forum public: what is the best method and repository (PPAs or otherwise) for installing the upstream kernel without interfering with the stock libre kernel?

onpon4
Offline
Iscritto: 05/30/2012

Another thing about wireless: it's possible to update Trisquel without an Internet connection on the computer being updated, via apt-offline:

http://www.debian-administration.org/article/Offline_Package_Management_for_APT

paradox
Offline
Iscritto: 06/21/2014

I'm aware you can update the installation manually.
I would like, obviously, for it to be up to date as of the time I install it, like usual, not the last time I got around to manually downloading packages.

The updates were just an example - there are infinitely more reasons to need the internet that do *not* have a fallback offline method.

Legimet
Offline
Iscritto: 12/10/2013

In the future, Linux-libre will have a "blobhush" functionality allowing you to install the blobs. Figuring out which blob to install will be easy, but Linux-libre won't suggest it.

Jabjabs
Offline
Iscritto: 07/05/2014

I do not like the sound of this addition... :(

paradox
Offline
Iscritto: 06/21/2014

This sounds great.
Since the user is clearly making a conscious choice to enable the selected blobs, he is aware of the freedom he lacks, which means the don't-suggest-free-software ideal is already conveyed. So with that out of the way, it would be a useful and user-friendly feature to add.

Any idea when this will be implemented?

Jabjabs
Offline
Iscritto: 07/05/2014

Useful yes, user friendly is debatable on who you interpret the user to be. ;)

Adds practicality yes, comprises a purely free system and adds restrictions to the system as well.

I can see why people would want it from a functionality perspective but it goes entirely against Linux-Libre's goal. Why would they want/need to put a door in to allow what they are fighting against?

jxself
Offline
Iscritto: 09/13/2010

"it goes entirely against Linux-Libre's goal."

No it doesn't. Linux-libre has *never* had the goal to stop people from running non-free software - sorry if you or anyone else has thought that this was so. The fact that the kernel doesn't load firmware is only a side effect of the work that was done to not have it *recommend* the firmware, but it is only a side effect - There was never the intention to have it stop loading firmware. This has been a bug ever since Linux-libre was started, albeit one considered a low priority but it's slowly being fixed.

Legimet
Offline
Iscritto: 12/10/2013

Agreed. It's exactly like how anyone can install nonfree software in Trisquel, but it doesn't assist you in doing it. Besides, allowing the loading of blobs can make it possible to install a free replacement if one has come out but Linux-libre hasn't deblobbed the driver. (Of course, this doesn't happen very often)

paradox
Offline
Iscritto: 06/21/2014

...Or installing the binary blobs so you can reverse-engineer them and make a free variant :)

Jabjabs
Offline
Iscritto: 07/05/2014

That is true, was somewhat of a knee jerk reaction by myself. It is more I fear that it has the potential to be a slippery slope where blobs will slowly creeep back in. So long as it is kept entirely in the users control it isn't really an issue.

It's like free speech in that while I don't agree with every use, to restrict it would be so much worse.

paradox
Offline
Iscritto: 06/21/2014

Just curious, in what way would blobs “creep” back in?
The users may put some back in, but
A. That's on them, and
B. You (or the devs) would never know.
By your statements I'm guessing you originally assumed it might not be in the user's control. What other way could it be? I'm not asking if it should be another way, I just can't actually think of any possible others. The devs already have control, so it's not them... then who? lol

paradox
Offline
Iscritto: 06/21/2014

"user friendly is debatable on who you interpret the user to be"
perhaps, but it's unequivocally more user-friendly than the lack of this feature.

“comprises a purely free system and adds restrictions to the system as well”
I disagree. Adding this feature (Bring Your Own Blob, if you will) does not introduce any restrictions in the slightest. In fact, it furthers freedom: the freedom to run proprietary software.

mprodrigues
Offline
Iscritto: 05/03/2014

Is this true? This is completely agaisnt free software philosophy, I can't understand why they would make such and addition.

jxself
Offline
Iscritto: 09/13/2010

"This is completely agaisnt free software philosophy"

Hardly. The FSF would never want to control what software people run on their computers, even if they could. To quote from http://www.gnu.org/philosophy/compromise.html

"The issue here is not whether people should be able or allowed to install nonfree software; a general-purpose system enables and allows users to do whatever they wish."

And then:

"The issue is whether we guide users towards nonfree software. What they do on their own is their responsibility; what we do for them, and what we direct them towards, is ours. We must not direct the users towards proprietary software as if it were a solution, because proprietary software is the problem."

Linux-libre won't do the recommending, but if someone has taken the time to go get and install the non-free firmware of their own accord it'll load it once the blobhush stuff is done as to not not recommend it (in the form of error messages that get logged and displayed) when it's not present. It's been a difficult issue to solve, and considered a low priority, which is why it's only finally getting addressed.

Magic Banana

I am a member!

Offline
Iscritto: 07/24/2010

Going even further: actively working against the possible execution of some proprietary software could be considered an attack on freedom 0!

Jabjabs
Offline
Iscritto: 07/05/2014

The fact that it does not recommend the blobs does solve this issue.

paradox
Offline
Iscritto: 06/21/2014

Couldn't have said it better myself.
Thank you for clarifying this for the others on the thread - I'm keeping this in mind when I make my custom version but find it tedious to explain to every participant that comes in.
Actually, I'm a big fan of your essays.

alimiracle
Offline
Iscritto: 01/18/2014

If you want linux, you know where to find it.

paradox
Offline
Iscritto: 06/21/2014

If you read the OP, you would see that I already "have linux".
Please read the question before answering.

davidnotcoulthard (non verificato)
davidnotcoulthard

Try kernel PPAs.

paradox
Offline
Iscritto: 06/21/2014

Would that not install linux in the same way my method did (albeit a later version)? My problem is not getting the kernel but having it hot-swappable with linux-libre in GRUB.

It would be nice to not have to use Ubuntu repos - where are these official Linux PPAs?

salparadise
Offline
Iscritto: 09/08/2013

What do you need full nvidia acceleration for, if I might ask?

I have nvidia cards in both my dekstops - on Trisquel 7 I found that nouveau is sufficient to run some games (nexuiz, 0AD, etc) (even one Windows based game running in WINE) without the need to install the proprietary drivers.

onpon4
Offline
Iscritto: 05/30/2012

Not all Nvidia cards have 3-D acceleration in Nouveau.

paradox
Offline
Iscritto: 06/21/2014

What he said.

Also, I can't use trisquel 7 because it's not out yet and I want to redistribute only a stable version to friends and family. However, it's tempting to try, I just fear a clean install would be required once it does officially release.

Magic Banana

I am a member!

Offline
Iscritto: 07/24/2010

As far as I remember, GRUB lists all installed kernels. On Trisquel, the menu is hidden by default and the first (and normally most recent) kernel is booted. That is "unless the system was not properly shutdown".

To always see the menu, you must change, in /etc/default/grub (with, e.g., 'gksu gedit /etc/default/grub'), some variables (as far as I understand setting GRUB_TIMEOUT to -1 would make GRUB never boot a kernel by itself) and run 'sudo update-grub' afterwards.

For full documentation of the options in /etc/default/grub, see:
$ info -f grub -n 'Simple configuration'

onpon4
Offline
Iscritto: 05/30/2012

I investigated this, and it seems what you want to do to make GRUB always show up is unset GRUB_HIDDEN_TIMEOUT and GRUB_HIDDEN_TIMEOUT_QUIET (by commenting out the lines that set them).

paradox
Offline
Iscritto: 06/21/2014

No problems with grub not showing up - the presence of windows makes sure of that. The timeout is a good thing, no need to surpress that.

The task was supposed to be making Linux-Libre the default, no matter what.
And making sure Linux isn't erroneously labeled Linux-libre.