17

How can I add the mainline kernel ppa to the synaptic software sources?

I have the url: http://kernel.ubuntu.com/~kernel-ppa/mainline/

but I am missing the ppa: line.

7

Note: test/debug kernel versions higher than your default kernel, e.g. 3.3, 3.4, 3.5, etc. are only provided via deb files, not via this PPA.

You probably want to add this PPA-- the only active one the kernel team maintains -- containing the latest pre-proposed kernel for each release:

ppa:kernel-ppa/pre-proposed
  • Thanks, I actually thought they were provided by the ppa above. Yes, I am looking for latest 3.5 kernel. – Paulo Matos Jul 8 '12 at 9:12
  • 1
    @PauloJ.Matos : You can find the necessary deb files for the latest 3.5 here. – ish Jul 8 '12 at 9:15
  • 1
    @Bucic: the debs are from Ubuntu's kernel team, and your PPA is from a third party (xorg-edgers). I'd trust the former over the latter :) – ish Jul 24 '12 at 5:22
  • 1
    @izx It's not like it's some lousy group known to no one, you know ;) But I agree. Upgrading to mainline kernels is not recommended unless you experience problems with you current kernel, but if you're upgrading to mainlin it better be from ubuntu team :) – Bucic Jul 24 '12 at 7:35
  • 11
    This PPA appears to have been abandoned. "Number of packages: 0 source packages (0 bytes) 0 binary packages (0 bytes)". Just the kernel.ubuntu.com/~kernel-ppa/mainline page is left, but I don't want to install unauthenticated packages. It's not HTTPS and there is no GPG signature for the builds. No go for me. – gertvdijk Apr 30 '15 at 0:54
5

To my knowledge there is no way to add that to the /etc/apt/sources.list file There is a script that can get the job done https://github.com/GM-Script-Writer-62850/Ubuntu-Mainline-Kernel-Updater

Terminal Commands: (edit, more up to date info now in the readme at the above link)

cd /tmp
git clone git://github.com/GM-Script-Writer-62850/Ubuntu-Mainline-Kernel-Updater
bash Ubuntu-Mainline-Kernel-Updater/install

It will check for updates at login+60 seconds, you can check for updates at any time by running KernelUpdateChecker use -h or --help with that for help output

3

You can use Ukuu (which stands for ‘Ubuntu Kernel Update Utility’) This straightforward desktop app help you install a new kernel in Ubuntu, Linux Mint, and other Ubuntu-based distributions, using the “mainline” kernels published by Canonical.

Installation:

sudo add-apt-repository ppa:teejee2008/ppa
sudo apt-get update && sudo apt-get install ukuu

Then run "ukuu" from your appplication starter and it will show you all stable kernels to choose from. If you want unstable rc-kernels, you can disable the "hide unstable and RC Releases" flag in settings

-3
/*tested code already , 
whipped this right up hope it works for you, it downloads the latest kernel from the daily mainline , 
and checks if its on your sys if not installs it 
tested and working :) simply compile as anything .c with your gcc
download at : [here](http://ubuntuone.com/0mLWYLhGPJlHGFXONz6EcO)
*/
//code below ----------------------
// it doesn’t show the imports so put them as comments to the side for who ever just does 
// copy paste 
#include <stdio.h> //stdio.h
#include <stdlib.h> //stdlib.h
#include <string.h> //string.h

void getpage(void)
{
system("mkdir ./kup;cd ./kup;wget http://kernel.ubuntu.com/~kernel-ppa/mainline/daily/current/;cat ./index.html|grep -i deb|grep -i linux>>./list;cd ./..");
printf("\n\nwhich archetype would u like to grab \n1: 32 bit\n2: 64bit\n(1/2 1 is default) : ");
char c;
system("uname -i>>./kup/p");
FILE* arch=fopen("./kup/p","r");
c=fgetc(arch);
if(c!='a'){
c=1;}
if(c=='a'){c=2;}
if(c=='2'){
system("cd ./kup;cat ./list|grep -i amd64 >> ./list2;cd ./..");
}
else{
system("cd ./kup;cat ./list|grep -i i386 >> ./list2;cd ./..");
}

system("cd ./kup;cat ./list|grep -i _all >> ./list2;rm -rf ./list;rm -rf ./index.html;cd ./..");

}

int install(void){
printf("\nnow getting ready to check the current kernel install the newest kernel if newer\npress anybtton to continue or q to quit\n");
char c;
c='\n';
if(c=='q'){return 0;}else{
system("dir ./kup>>./kup/test");
char *t=malloc(sizeof(char)*256);
t[0]='d';
t[1]='p';
t[2]='k';
t[3]='g';
t[4]=' ';
t[5]='-';
t[6]='l';
t[7]='|';
t[8]='g';
t[9]='r';
t[10]='e';
t[11]='p';
t[12]=' ';
t[13]='-';
t[14]='i';
t[15]=' ';
int tn=16;
FILE* f2 = fopen("./kup/test","r");
char c;
c=fgetc(f2);
while(c!='_'){
t[tn]=c;
tn++;
c=fgetc(f2);
}

t[tn]='>';
tn++;
t[tn]='>';
tn++;
t[tn]='.';
tn++;
t[tn]='/';
tn++;
t[tn]='k';
tn++;
t[tn]='u';
tn++;
t[tn]='p';
tn++;
t[tn]='/';
tn++;
t[tn]='a';
system(t);
FILE *f3 =fopen("./kup/a","r");

char check;
check = fgetc(f3);
printf("\"%c\"",check);
if(check !='i'){
printf("\nthere is a newer version , press enter key to update\n");
system("sudo dpkg -i ./kup/*deb;rm -rf ./kup;sudo update-grub;");
return 0;
}else{printf("\nyour system is up to date\n\n exiting \n");}
system("rm -rf ./kup");
return 0;
}
}

void download(char* url)
{
char *com=malloc(sizeof(char)*256);
com[0]='c';
com[1]='d';
com[2]=' ';
com[3]='k';
com[4]='u';
com[5]='p';
com[6]=';';
com[7]='w';
com[8]='g';
com[9]='e';
com[10]='t';
com[11]=' ';
int i=12;
int l =1;
while(l==1)
{
com[i]=url[i-12];
if(com[i]=='b'&&com[i-1]=='e'&&com[i-2]=='d'&&com[i-3]=='.'){
l=0;
}
i++;
}
system("rm -rf ./kup/list2;");
system(com);

}

void getkernel(void){
char links[3][256];
//start writing//
links[0][0]='k';
links[0][1]='e';
links[0][2]='r';
links[0][3]='n';
links[0][4]='e';
links[0][5]='l';
links[0][6]='.';
links[0][7]='u';
links[0][8]='b';
links[0][9]='u';
links[0][10]='n';
links[0][11]='t';
links[0][12]='u';
links[0][13]='.';
links[0][14]='c';
links[0][15]='o';
links[0][16]='m';
links[0][17]='/';
links[0][18]='~';
links[0][19]='k';
links[0][20]='e';
links[0][21]='r';
links[0][22]='n';
links[0][23]='e';
links[0][24]='l';
links[0][25]='-';
links[0][26]='p';
links[0][27]='p';
links[0][28]='a';
links[0][29]='/';
links[0][30]='m';
links[0][31]='a';
links[0][32]='i';
links[0][33]='n';
links[0][34]='l';
links[0][35]='i';
links[0][36]='n';
links[0][37]='e';
links[0][38]='/';
links[0][39]='d';
links[0][40]='a';
links[0][41]='i';
links[0][42]='l';
links[0][43]='y';
links[0][44]='/';
links[0][45]='c';
links[0][46]='u';
links[0][47]='r';
links[0][48]='r';
links[0][49]='e';
links[0][50]='n';
links[0][51]='t';
links[0][52]='/';
//done writing//
char c[5];
int l=1;
FILE* file = fopen("./kup/list2","r");
c[0]=fgetc(file);
while(c[0]!=EOF && l ==1)
{
int u=0;
if(c[0]=='h'){
c[1]=fgetc(file);
if(c[1]=='r'){
c[2]=fgetc(file);
if(c[2]=='e'){
c[3]=fgetc(file);
if(c[3]=='f'){
c[4]=fgetc(file);
c[4]=fgetc(file);
int i=53;
c[4]=fgetc(file);
while(c[4]!='\"'){
links[u][i]=c[4];
i++;
c[4]=fgetc(file);
}

download(links[0]);
u++;
if(u==3){
c[0]=EOF;
l=0;
}
}
}
}
}
c[0]=fgetc(file);
}

}

int main(void)
{
getpage();
getkernel();
install();
}
  • it checks the current daily build off the ubuntu kernel mainline and updates yours if its not update already cleaned up version , no need for user input , detects the arch of your current kernel (32 bit 64 bit) here ubuntuone.com/0mLWYLhGPJlHGFXONz6EcO – user183601 Aug 13 '13 at 6:46
  • ok posted a link to the one on my ubuntu one and changede the code here and added <br>s – user183601 Aug 13 '13 at 15:20
  • thanks as u can tell im new to this site , gave an answer and code and adding that now – user183601 Aug 13 '13 at 15:26
  • update : in the link changed it to use uname -v instead of uname -r to check against the other one on this newest update didnt upgrade the others did so now it will :)) fixed it on that part :) and also if your running ubuntu 13.04 32 bit of it think it may b compatible get the binary from ubuntuone.com/3cwJte3KtfNNnGcrMcnl6B – user183601 Aug 26 '13 at 21:22
  • 9
    Why on earth is this a C program invoking system(3) rather than a shell-script? O_o – liyang Apr 14 '15 at 13:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.