Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

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.

share|improve this question

3 Answers 3

up vote 6 down vote accepted

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
share|improve this answer
    
Thanks, I actually thought they were provided by the ppa above. Yes, I am looking for latest 3.5 kernel. –  Paulo J. Matos Jul 8 '12 at 9:12
1  
@PauloJ.Matos : You can find the necessary deb files for the latest 3.5 here. –  izx Jul 8 '12 at 9:15
    
@PauloJ.Matos Or you can install 3.5 via PPA ubuntuguide.net/… I have to admit that I don't know which is the proper source - this PPA or the debs from izx's comment. I used the PPA, installed only update entries (in update manager) that mentioned kernel, restarted and disabled the PPA via Y PPA Manager to avoid installing anything else from the PPA (xorg edgers). –  Bucic Jul 23 '12 at 18:13
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 :) –  izx 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
/*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 */ //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
#include  //stdlib.h
#include  //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();
}
share|improve this answer
    
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

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

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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