Linux - GeneralThis Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.

Notices

Welcome to LinuxQuestions.org, a friendly and active Linux Community.

You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!

Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.

If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.

Having a problem logging in? Please visit this page to clear all LQ-related cookies.

Introduction to Linux - A Hands on Guide

This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.

You didn't read that article very well. The native configs are in /boot they will have a name like config-x.x.x-x-amd64 or similar (this is off my Debian system so Ubuntu may have something like Generic in the name as well but they will start with config-

If you have never done this before you should use the native config as a basis to start with.

I've been gone for a while, so I haven't been able to work on this until now. Even using a previous config file, no change in status.

So, I'm wondering, might it be that there's no /boot/initrd.img-3.2.11-custom file on my drive? In fact, there's no mention of init or initrd anywhere in the process of building and installing the kernel... I'm starting to wonder if there could be an issue with that.

From what I know about init, off the top of my head, I think this file looks like something that would tell init how to load the kernel or modules. Is this correct? If so, maybe init isn't loading everything. So, how would I get an initrd image for my kernel?

1. Download and extract the source tarball. If I'm compiling source that I already have, I skip this step.

2. In a terminal, start the configuration with make menuconfig. I go around, selecting anything that might apply. When using a previous config file, I ran make menuconfig and used the "Load alternate configuration file" to load the file I needed. I then fine tuned it.

3. I then run make to compile the kernel.

4. Then I run the command "make modules && sudo make modules_install" to compile and install the modules.

5. Then, to install the kernel, I run make install. I then have three new files in /boot for my kernel.

6. To let the boot loader know there's a new kernel on my hard drive, I run sudo update-grub. I then reboot into my not-exactly-functioning kernel.

1. Download and extract the source tarball. If I'm compiling source that I already have, I skip this step.

2. In a terminal, start the configuration with make menuconfig. I go around, selecting anything that might apply. When using a previous config file, I ran make menuconfig and used the "Load alternate configuration file" to load the file I needed. I then fine tuned it.

3. I then run make to compile the kernel.

4. Then I run the command "make modules && sudo make modules_install" to compile and install the modules.

5. Then, to install the kernel, I run make install. I then have three new files in /boot for my kernel.

6. To let the boot loader know there's a new kernel on my hard drive, I run sudo update-grub. I then reboot into my not-exactly-functioning kernel.

OK try this for step 2, cp /boot/config-WHATEVERYOURKERNELVERSIONIS .config and then make menuconfig. Be aware you need to be in the appropriate folder and you change the name of the bolded section to the name of your old config file.

At this stage I would just try and let it compile with the old config in place. If that doesn't work then try adding features. I suspect that what is happening is you are changing the config and either accidently removing something or not applying the old config correctly.

OK try this for step 2, cp /boot/config-WHATEVERYOURKERNELVERSIONIS .config and then make menuconfig. Be aware you need to be in the appropriate folder and you change the name of the bolded section to the name of your old config file.

At this stage I would just try and let it compile with the old config in place. If that doesn't work then try adding features. I suspect that what is happening is you are changing the config and either accidently removing something or not applying the old config correctly.

Let us know how you go.

Okay, sorry it took a while, but my computer crashed before the first compile attempt finished, and on try two there was an error. Same error for try 3. Here it is:

I should be working but the tv is showing a repeat of motor racing from a few weeks ago is on TV so I'm watching the v8 utes racing while I compiled 3.2.11

OK here is the process I followed.
1. cd into the extracted folder.
2. cp /boot/config-3.2.0-2-amd64 .config
3. make menuconfig
4. select exit on make menuconfig, unless you need to enable things like non-free drivers etc in which case you will need to go through the lists and select the things you need. Make sure you save the config after enabling anything.
5. fakeroot make-kpkg --jobs=2 --initrd --append-to-version=-custom --revision=yyyymmdd kernel_image kernel_headers modules_image Change the bold to suit your purpose, append-to-version=-custom is what you want to call it mine is called cobber make sure you keep the - infront of the name. revision= is the date you compile on write it in this order year month date yyyymmdd.
6. let it work through the process and if there are no errors listed at the end install the debs.

I just went through this with 3.2.11 and it works a treat apart from the fact I didn't do my wireless driver which I will do now.

I should be working but the tv is showing a repeat of motor racing from a few weeks ago is on TV so I'm watching the v8 utes racing while I compiled 3.2.11

OK here is the process I followed.
1. cd into the extracted folder.
2. cp /boot/config-3.2.0-2-amd64 .config
3. make menuconfig
4. select exit on make menuconfig, unless you need to enable things like non-free drivers etc in which case you will need to go through the lists and select the things you need. Make sure you save the config after enabling anything.
5. fakeroot make-kpkg --jobs=2 --initrd --append-to-version=-custom --revision=yyyymmdd kernel_image kernel_headers modules_image Change the bold to suit your purpose, append-to-version=-custom is what you want to call it mine is called cobber make sure you keep the - infront of the name. revision= is the date you compile on write it in this order year month date yyyymmdd.
6. let it work through the process and if there are no errors listed at the end install the debs.

I just went through this with 3.2.11 and it works a treat apart from the fact I didn't do my wireless driver which I will do now.

I've got a problem over here. My computer complained that it didn't know what the jobs option was. So I omitted it. But then, that Alsa module failed again. I forgot to mention that I omitted it last time, too.

So, I guess I have a problem. If that jobs option is important, the Alsa module won't work without it. But nothing works when I do use it.

I've been a bit slow with remembering something. From memory Ubuntu doesn't use alsa anymore it uses Pulse Audio. You may be able to use the new debs anyway.

In that case, I guess I'll try it. If it fails, I can always try posting the log.

I'll report back when done...

Edit:

Exact same error as before. I'm starting to think the build method is irrelevant here, I think I need to check the configuration a little more. However, because I'm using the same configuration as a known working kernel, I'm not sure.
It's getting late, so I guess I'll have to think up a solution in the morning. But I will find a solution.
Maybe I need to go at this a different way. I mean, what if it's Ubuntu that is the problem? Perhaps I should install Debian on this free space I have on my hard drive left over from a Linux Mint installation, and then build MATE and Linux 3.2 on top of that.