Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
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.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I want to rebuild my kernel and change it a little bit. Which config option I have to compile in addition to get chroot and kexec access? Is there anyone who can give me a link to a pdf-book or howto for all config-options? Where can I find suitable kernel-config files?
I have now the kernel 2.4 and want to upgrade to 2.6.
As 2.4 to 2.6 is a big jump, it is very possible that you would need to upgrade other components of your system as well.
As for config files, the general recommendation is to take as a basis one of the config files shipped with your distribution then run "make odconfig", but I wouldn't do that to jump from 2.4 to 2.6.
And if you have a distribution old enough to include a 2.4 kernel, it would probably be simpler to upgrade the distribution itself if at all possible, or install a newer one.
Telling us which are your distribution and version could help us to give you a more precise advise.
Last edited by Didier Spaier; 06-27-2012 at 05:59 AM.
Thank you. It’s an old thin client and I want to flash the rom. I have a howto to do that but not for compiling. I would prefer to do it in ubuntu. I can’t upgrade like normal distros.
Then I will give you some hints (I suppose that you are going to compile on Ubuntu).
I would first gather as much information as possible on the thin client with following commands.
First plug in to the thin client all removable devices you will want to use in order to have the modules for it loaded.
You can safely remove a device to plug in another as all modules will stay loaded.
Code:
uname -a # Will get you information about the machine's architecture, the processor type and the hardware platform, among others
lsmod # you will certainly need these drivers, preferably configured as modules
lspci -k #idem
usb-devices # probably will confirm the information gathered with "lsmod"
Before going further, please send exact output of 'uname -a' run:
- in your Ubuntu
- in the thin client
With that information it will be possible go give you more precise advise, among which the necessity or not to make a cross compilation.
kexec is easy to include in the kernel; chroot is a program provided nowadays by coreutils, not part of the kernel.
Last edited by Didier Spaier; 06-27-2012 at 08:43 AM.
When I understand you right, I have to install only coreutils to let work chroot…..that would be nice.
Which CONFIG in the kernel-config I have to flag for kexec, you said it would be easy.
For your "kernel too old" problem, see this thread. So yes, you should try to use a 2.6 kernel.
Whilst running "make xconfig" (or make menuconfig), look for kexec system call under "processor type and features"; check it to have this feature buit-in.
To easily find a feature you can type "Ctl+F" in "make xconfig" (or "/" without the quotes in "make menuconfig") then type its name in the search field (e.g. kexec).
This way you can as well select the device drivers needed for your hardware and deselect the drivers you don't need, according to your knowledge of your hardware and the results of the commands I mentioned in my last post.
But beware that to upgrade from 2.4 to 2.6 you probably will need to upgrade some other components of your system.
I have never done that thus can't give you more guidance, however searching in Google gave me some results. You could have a look at this one for instance.
Last edited by Didier Spaier; 06-27-2012 at 05:21 PM.
First of all thank you. I will check out the guidance’s. Could it be helpful to take the kernel-config of the 2.4 as reference and guidance? I want to do that so and select even more or less according to my hardware and needs. This is very exciting ;-)
I will write you possibly for more help by the work.
Could it be helpful to take the kernel-config of the 2.4 as reference and guidance?
Yes, renamed as .config in the kernel source top directory. And I would use the same kernel version so that "make oldconfig" don't ask me too many questions
back to my compiling. I did it, but got this message, any idea:
Code:
CC fs/sysfs/group.o
LD fs/sysfs/built-in.o
LD fs/built-in.o
LD ipc/built-in.o
CC security/commoncap.o
LD security/built-in.o
CC crypto/api.o
CC crypto/cipher.o
CC crypto/digest.o
CC crypto/compress.o
CC crypto/algapi.o
CC crypto/scatterwalk.o
CC crypto/proc.o
LD crypto/crypto_algapi.o
CC crypto/blkcipher.o
CC crypto/cryptomgr.o
CC crypto/sha1_generic.o
CC crypto/sha256_generic.o
CC crypto/ecb.o
CC crypto/arc4.o
LD crypto/built-in.o
CC block/elevator.o
CC block/ll_rw_blk.o
block/ll_rw_blk.c: In Funktion »ll_back_merge_fn«:
block/ll_rw_blk.c:1452: interner Compiler-Fehler: Segmentation fault
Bitte senden Sie einen vollständigen Fehlerbericht auf Englisch ein;
bearbeiten Sie die Quellen zunächst mit einem Präprozessor, wenn es
dienlich ist.
Fehler in der deutschen Ăbersetzung sind an
translation-team-de@lists.sourceforge.net zu melden.
Gehen Sie gemäà den Hinweisen in <URL:http://gcc.gnu.org/bugs.html> vor.
For Debian GNU/Linux specific bug reporting instructions,
see <URL:file:///usr/share/doc/gcc-4.2/README.Bugs>.
make[1]: *** [block/ll_rw_blk.o] Fehler 1
make: *** [block] Fehler 2
Hello Didier Spaier.
Maybe I explained it not correct. This thin client doesn’t have a bios in the literal sense. There is a WindowsCE firmware who will be flashed with a kernel and an initrd. Only the Windows part will be flashed. After flashing you don’t have any chance to upgrade it without re-flashing at all. This means, that you have to work with this kernel and initrd. This wouldn’t be a matter, if the kernel isn’t so old. It is 2.4.31.
Then you prepare an usb-stick with a root directory of the installed linux. Everything under / . But this is Debian woody…really really old thing. So I thought, I can flash the client with a newer kernel and a newer distribution, but not the newest. I prefer ubuntu and I thought I take ubuntu8.04-server, because this is not very very new but it’s a LTS-version and you can even do everything with it. I have a pc with ubuntu8.04 and I thought I compile the kernel at first there and learn, because I did this never before. Therefore this approach.
After all, when it done without mistakes, I will install ubuntu8.04-server on a stick and compile a new kernel and initrd with all the demands for the thin client step by step I learned before. Therefore I can certainly use the kernel-config file of the 2.4.31 and look for needed hardware demands. After all I will create a firmware with this kernel and initrd, the usb-stick with the root folder is present, so maybe it works and I get ubuntu on it
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.