S.A.K.C. - SUSE Automated Kernel Compiler - Version 2.81

S.A.K.C. has been updated to version 2.75 in this maintenance release. This fixes a problem where the Config folder, under the Kernel compile folder, might not be created until after it is first required.

Thank You,

Hi
What steps need to be taken when not using grub as one’s bootloader? For example I use UEFI and elilo?

I have used Grub Legacy and Grub 2 and the questions is, what does the following command do run as root with your selected boot loader:

make modules_install install

It my thought it should work with all selectable boot loaders from our installation disk, no matter your BIOS setup, but that has not been tried by me. SAKC just creates a new kernel selection and hopefully you can use it no matter your selected boot loader method. Thanks so much for your comments Malcom.

Thank You,

Thanks for this wonderful utility. I’m used to doing the compile manually - but this script is really helpful in saving time if you do not intend to change any of the configurations and just want to build your kernel quick. :slight_smile:

I wanted to build one of the latest kernels for 12.2, since asus-wmi module was giving kernel panics with kernels < 3.5.

Although not related to this script - do you have any idea how much changes does the openSUSE’s kernel contain which are not already upstream ? :slight_smile:

[QUOTE=ash25;bt520]Thanks for this wonderful utility. I’m used to doing the compile manually - but this script is really helpful in saving time if you do not intend to change any of the configurations and just want to build your kernel quick. :slight_smile:

I wanted to build one of the latest kernels for 12.2, since asus-wmi module was giving kernel panics with kernels < 3.5.

Although not related to this script - do you have any idea how much changes does the openSUSE’s kernel contain which are not already upstream ? :)[/QUOTE]

Thanks for your very kind words. I don’t have any direct info on changes made by the openSUSE team though there was an article out a while back on lots of changes going into openSUSE 12.2 to remove unneeded drivers. When you compile a kernel in openSUSE 12.2 you will get all of those changes by default.

Thank You,

I’m relatively new to using opensuse and am somewhat confused. You wrote something near the end about kernel files that aren’t automatically deleted and then to delete certain files. My question is:
Do I have to delete those specified files for the new compiled kernel to work, or are those the files I would have to delete to remove the compiled kernel?

[QUOTE=p_peter_93;bt527]I’m relatively new to using opensuse and am somewhat confused. You wrote something near the end about kernel files that aren’t automatically deleted and then to delete certain files. My question is:
Do I have to delete those specified files for the new compiled kernel to work, or are those the files I would have to delete to remove the compiled kernel?[/QUOTE]

You only need to delete files for kernels you are not running and for which you no longer want to keep. If you compile lots of different kernel versions, the build up of older kernel files you are not using can begin to pile up. If you have just a few different versions, or just one extra, there is no need to remove a kernel unless you want to because you are no longer using it. I for instance compile each new kernel version released, including the kernel release candidates, seven or so per major release and so if I did not remove the ones I no longer use, my grub menu would become unmanageable. So, you don’t have to remove any kernels you have compiled using SAKC, but if you compile a lot of kernels, you might want to know how to remove the older ones you no longer need or use. When you use SAKC to compile and install a new kernel version, that kernel is installed outside of YaST and so you can not use YaST to remove it if you no longer wish to use it.

Thank You,

[QUOTE=jdmcdaniel3;bt528]You only need to delete files for kernels you are not running and for which you no longer want to keep. If you compile lots of different kernel versions, the build up of older kernel files you are not using can begin to pile up. If you have just a few different versions, or just one extra, there is no need to remove a kernel unless you want to because you are no longer using it. I for instance compile each new kernel version released, including the kernel release candidates, seven or so per major release and so if I did not remove the ones I no longer use, my grub menu would become unmanageable. So, you don’t have to remove any kernels you have compiled using SAKC, but if you compile a lot of kernels, you might want to know how to remove the older ones you no longer need or use. When you use SAKC to compile and install a new kernel version, that kernel is installed outside of YaST and so you can not use YaST to remove it if you no longer wish to use it.

Thank You,[/QUOTE]

Ah, that clears things up. And now onto another question that I have.
After I rebooted opensuse with the new kernel (3.5.1), everything was working fine except for the wireless internet. I don’t know if I did anything wrong, but going through the connections manager, it doesn’t even give me the option of connecting using wifi. Should I recompile the kernel, or are there steps to getting it to work?

And on a side note, thanks for the script in general. My laptop was getting hot from doing very little and I read that this may help, which it so far has.

[QUOTE=p_peter_93;bt531]Ah, that clears things up. And now onto another question that I have.
After I rebooted opensuse with the new kernel (3.5.1), everything was working fine except for the wireless internet. I don’t know if I did anything wrong, but going through the connections manager, it doesn’t even give me the option of connecting using wifi. Should I recompile the kernel, or are there steps to getting it to work?

And on a side note, thanks for the script in general. My laptop was getting hot from doing very little and I read that this may help, which it so far has.[/QUOTE]

So with each new kernel, often drivers are changed and may require additional effort to get it to work. First, you need to create a new problem for this in this forum:

Wireless

You must read through both of these to make sure you have done your due diligence before asking for help.

http://forums.opensuse.org/english/get-technical-help-here/wireless/410319-getting-your-wireless-work.html

http://forums.opensuse.org/english/get-technical-help-here/wireless/391535-my-wireless-doesnt-work-primer-what-i-should-do-next.html

The author of these two posts is Larry Finger and he is simply the best on both new kernels and getting Wireless to work. If you do as suggested in the above two posts, then create a new problem post, make sure to clearly state you are using kernel 3.5.1, make sure to list your exact hardware and make sure to state it works fine with kernel 3.1.10, if that is correct. I have a bash script that can list all kernel modules and it might be interesting to see the difference between working and not working. If you give Larry the right info, he will fix you right up.

Thank You,

S.K.I.M. - SuSE Kernel Installed Modules - A lsmod replacement- Creates Alphabetized Module Listing - Blogs - openSUSE Forums

Thank You,

S.A.K.C. - SUSE Automated Kernel Compiler - Version 2.76 has been released. Basically I have added a fix for a problem that kept SAKC from running when no desktop was loaded and I changed the color display engine so it works when no desktop is loaded. So, once again, SAKC works if you only have terminal loaded and no desktop, but now it works in color, just like it does with your desktop loaded. This used to be true before minus the color, but after the config edit menu was added, a problem was there that would exit SAKC if no desktop was found but now that has been corrected. Sorry for any problems this may have caused, but now enjoy working solely from terminal and in color too.

Thank You,

S.A.K.C. - SUSE Automated Kernel Compiler Version 2.78 has been released with a few new changes. S.A.K.C. now provides integration with S.A.K.R., if the bash file is found to exist AND KDE icons are now created on your Desktop and in the Applications menu if allowed to. New icons settings have been added.

Thank You,

Great stuff Mr. jdmcdaniel3! Have successfully used your script installing 3.7.0-rc3, and will do so again with the rc4 release. Still learning my ways round this OS, but this is a great and hassle free way to get started compiling your own kernel. Thanks :slight_smile:

Very Happy the SACK bash script has worked well for you. Make sure to get all three kernel bash scripts which include:

  1. Compile/Install Any Kernel: S.A.K.C. - SUSE Automated Kernel Compiler - Version 2.78 - Blogs - openSUSE Forums

  2. Remove Unneeded Kernel: S.A.K.R. - SUSE Automated Kernel Remover- Version 1.0.3 - Blogs - openSUSE Forums

  3. Fetch Any Kernel Version: S.G.T.B. - SuSE Git Kernel Tarball Creator - Version 1.81 - Blogs - openSUSE Forums

Thank You,

Hi,
let me start by saying, that I am completely new in Linux (changed from Windows four days ago). So there is a good chance, that I’m doing sth wrong. Anyway, I’m using opensuse 12.2. I managed to run sakc in terminal. It finds kernel file (linux-3.7.9.tar.bz2) in downloads folder and starts to compile. It creates folder /Kernel/ and in it sakc creates /linux-3.7.9/ So I’m past step 1. Then sakc asks me “Would you like to modify your Kernel configurations in GUI?” And no matter what I chose (y/n), it fails. If I chose (y) it creates config file (in Configs folder) but whole thing stops and I get these errors.

       S.A.K.C. - SUSE Automated Kernel Compiler - Version 2.78            

    Would you like to modify your Kernel configurations in a GUI?           

/km/bin/sakc: line 665: /home/km/Documents/linux-3.7.9.022013.214449.txt: No such file or directoryion Status Exit Code
/home/km/bin/sakc: line 666: /home/km/Documents/linux-3.7.9.022013.214449.txt: No such file or directory
/home/km/bin/sakc: line 667: /home/km/Documents/linux-3.7.9.022013.214449.txt: No such file or directory
/home/km/bin/sakc: line 1326: /home/km/Documents/linux-3.7.9.022013.214449.txt: No such file or directory
/home/km/bin/sakc: line 665: /home/km/Documents/linux-3.7.9.022013.214449.txt: No such file or directory
/home/km/bin/sakc: line 666: /home/km/Documents/linux-3.7.9.022013.214449.txt: No such file or directory
/home/km/bin/sakc: line 667: /home/km/Documents/linux-3.7.9.022013.214449.txt: No such fil
/home/km/bin/sakc: line 1352: /home/km/Documents/linux-3.7.9.022013.214449.txt: No such file or directory
/home/km/bin/sakc: line 1370: /home/km/Documents/linux-3.7.9.022013.214449.txt: No such file or directory

HOSTCC scripts/basic/fixdep
HOSTCC scripts/kconfig/conf.o
HOSTCC scripts/kconfig/lxdialog/checklist.o
HOSTCC scripts/kconfig/lxdialog/inputbox.o
HOSTCC scripts/kconfig/lxdialog/menubox.o
HOSTCC scripts/kconfig/lxdialog/textbox.o
HOSTCC scripts/kconfig/lxdialog/util.o
HOSTCC scripts/kconfig/lxdialog/yesno.o
HOSTCC scripts/kconfig/mconf.o
SHIPPED scripts/kconfig/zconf.tab.c
SHIPPED scripts/kconfig/zconf.lex.c
SHIPPED scripts/kconfig/zconf.hash.c
HOSTCC scripts/kconfig/zconf.tab.o
HOSTLD scripts/kconfig/mconf
scripts/kconfig/mconf Kconfig
.config:529:warning: symbol value ‘m’ invalid for ACPI_BGRT
.config:1657:warning: symbol value ‘m’ invalid for BMP085
.config:2244:warning: symbol value ‘m’ invalid for STMMAC_PLATFORM
.config:2245:warning: symbol value ‘m’ invalid for STMMAC_PCI

*** End of the configuration.
*** Execute ‘make’ to start the build or try ‘make help’.

sakc: line 665: /home/km/Documents/linux-3.7.9.022013.214449.txt: No such file km@linux-mc9c:~/Downloads> ^Cn:
km@linux-mc9c:~/Downloads> : /home/km/Documents/linux-3.7.9.022013.214449.txt: No such file or directory--------------------------------------------------------
/home/km/bin/sakc: line 667: /home/km/Documents/linux-3.7.9.022013.214449.txt: No such file or directory--------------------------------------------------------
/home/km/bin/sakc: line 1432: /home/km/Documents/linux-3.7.9.022013.214449.txt: No such file or directory

Any hints? I managed to install some libs and gt3 to move past step 2, but that’s it. I have no idea on how to fix this.

[QUOTE=kemer;bt669]Hi,
let me start by saying, that I am completely new in Linux (changed from Windows four days ago). So there is a good chance, that I’m doing sth wrong. Anyway, I’m using opensuse 12.2. I managed to run sakc in terminal. It finds kernel file (linux-3.7.9.tar.bz2) in downloads folder and starts to compile. It creates folder /Kernel/ and in it sakc creates /linux-3.7.9/ So I’m past step 1. Then sakc asks me “Would you like to modify your Kernel configurations in GUI?” And no matter what I chose (y/n), it fails. If I chose (y) it creates config file (in Configs folder) but whole thing stops and I get these errors.

       S.A.K.C. - SUSE Automated Kernel Compiler - Version 2.78            

    Would you like to modify your Kernel configurations in a GUI?           

/km/bin/sakc: line 665: /home/km/Documents/linux-3.7.9.022013.214449.txt: No such file or directoryion Status Exit Code
/home/km/bin/sakc: line 666: /home/km/Documents/linux-3.7.9.022013.214449.txt: No such file or directory
/home/km/bin/sakc: line 667: /home/km/Documents/linux-3.7.9.022013.214449.txt: No such file or directory
/home/km/bin/sakc: line 1326: /home/km/Documents/linux-3.7.9.022013.214449.txt: No such file or directory
/home/km/bin/sakc: line 665: /home/km/Documents/linux-3.7.9.022013.214449.txt: No such file or directory
/home/km/bin/sakc: line 666: /home/km/Documents/linux-3.7.9.022013.214449.txt: No such file or directory
/home/km/bin/sakc: line 667: /home/km/Documents/linux-3.7.9.022013.214449.txt: No such fil
/home/km/bin/sakc: line 1352: /home/km/Documents/linux-3.7.9.022013.214449.txt: No such file or directory
/home/km/bin/sakc: line 1370: /home/km/Documents/linux-3.7.9.022013.214449.txt: No such file or directory

HOSTCC scripts/basic/fixdep
HOSTCC scripts/kconfig/conf.o
HOSTCC scripts/kconfig/lxdialog/checklist.o
HOSTCC scripts/kconfig/lxdialog/inputbox.o
HOSTCC scripts/kconfig/lxdialog/menubox.o
HOSTCC scripts/kconfig/lxdialog/textbox.o
HOSTCC scripts/kconfig/lxdialog/util.o
HOSTCC scripts/kconfig/lxdialog/yesno.o
HOSTCC scripts/kconfig/mconf.o
SHIPPED scripts/kconfig/zconf.tab.c
SHIPPED scripts/kconfig/zconf.lex.c
SHIPPED scripts/kconfig/zconf.hash.c
HOSTCC scripts/kconfig/zconf.tab.o
HOSTLD scripts/kconfig/mconf
scripts/kconfig/mconf Kconfig
.config:529:warning: symbol value ‘m’ invalid for ACPI_BGRT
.config:1657:warning: symbol value ‘m’ invalid for BMP085
.config:2244:warning: symbol value ‘m’ invalid for STMMAC_PLATFORM
.config:2245:warning: symbol value ‘m’ invalid for STMMAC_PCI

*** End of the configuration.
*** Execute ‘make’ to start the build or try ‘make help’.

sakc: line 665: /home/km/Documents/linux-3.7.9.022013.214449.txt: No such file km@linux-mc9c:~/Downloads> ^Cn:
km@linux-mc9c:~/Downloads> : /home/km/Documents/linux-3.7.9.022013.214449.txt: No such file or directory--------------------------------------------------------
/home/km/bin/sakc: line 667: /home/km/Documents/linux-3.7.9.022013.214449.txt: No such file or directory--------------------------------------------------------
/home/km/bin/sakc: line 1432: /home/km/Documents/linux-3.7.9.022013.214449.txt: No such file or directory

Any hints? I managed to install some libs and gt3 to move past step 2, but that’s it. I have no idea on how to fix this.[/QUOTE]

To get a good kernel compile, follow my advice (all of it):

  1. Open up terminal, paste in this command and press enter:
rm ~/bin/sakc ; wget -nc http://paste.opensuse.org/view/download/49838390 -O ~/bin/sakc ; chmod +x ~/bin/sakc
  1. Do this after you have downloaded SAKC:

Open YaST / Software / Software Management - Select the View Button on the top left and pick Patterns. Now, you will see several Patterns listed and you want to select:

   Development 

[X] Base Development
[X] Linux Kernel Development
[X] C/C++ Development

Then Press the Accept button on the bottom right and allow these applications to install.

  1. Download the kernel you wish to install into your /home/username/Downloads folder:

Kernel 3.4.32: http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.4.32.tar.bz2
Kernel 3.5.7 : http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.5.7.tar.bz2
kernel 3.6.11: http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.6.11.tar.bz2
kernel 3.7.9 : http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.7.9.tar.bz2
kernel 3.8.0 :http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.8.tar.bz2

  1. Run SAKC from terminal (called sakc) and allow the /home/username/Kernel folder to be created if it does not exist.

  2. Select the kernel version you have downloaded from one of the five above.

6)** Select option 1 in SAKC as shown here “1) Standand Kernel Compile (All Users)”**

Stick with the simple stuff until you understand how S.A.K.C. works.

Thank You,

I had to manually create folder /Documents/. Since I use polish version of opensuse, the name of this folder was in polish and Sakc got confused. But after that - all went just fine.
Thank You for Your help. I’ve learned a lot doing this.

[QUOTE=kemer;bt672]I had to manually create folder /Documents/. Since I use polish version of opensuse, the name of this folder was in polish and Sakc got confused. But after that - all went just fine.
Thank You for Your help. I’ve learned a lot doing this.[/QUOTE]

I am very happy to hear you got it working. I did place the names of all folders to be used at the top of the SAKC bash script and so they can be changed if you need to.

Thank You,

S.A.K.C. 2.80 now works with the newly selected kernel default (by kernel.org) of tar.xz files as well as still supporting tar.bz2 files.

Thank You,

Great tool, It has been very useful.

Just one suggestion: Have you considered using XDG_DOWNLOAD_DIR and XDG_DOCUMENTS_DIR variables in ~/.config/user-dirs.dirs to be able to use the user’s localized dirs?

[QUOTE=franute;bt731]Great tool, It has been very useful.

Just one suggestion: Have you considered using XDG_DOWNLOAD_DIR and XDG_DOCUMENTS_DIR variables in ~/.config/user-dirs.dirs to be able to use the user’s localized dirs?[/QUOTE]

Thanks for your kind words and suggestions. None of the default directories listed there fit the bill for SAKC as far as I am concerned. I ask if you want to create the $HOME/Kernel directory as listed in SAKC and any user can change the line to match what they want to use. Bash scripts are just too easy for the user to edit if they want and if they don’t understand, your default setup must work. No one has ever spoke of a reason to not use $HOME/Kernel as the default, and so I am not thinking of making a change at this time. But one thing is for sure, I can be convinced to change my mind if I get a better reason to do so.

Thank You,