Problems with the linux kernel

i am building a desktop operating system with a partially rewritten version of the linux kernel and was wondering what in your view are the biggest issues with the linux kernel,
If you wish to know more about the OS contact me here an i will get back to you as soon as i can

The biggest linux kernel problem is monolithic: drivers as far as I know come as part of the kernel. Kernel headers or the kernel source has to be installed for new drivers to be compiled. You cannot take a hard drive out of one computer and install it in another then expect the linux partition to just boot, although I previously read that you could. I tried it a few times and did not have success.
If you could borrow the Haiku kernel or kernel concept for linux, then it might be a great improvement. Would it be seen as an OS trying to takeover or two OS’s trying to optimize the best features between them.
I suppose the give and take would need to work both ways for progress then would Haiku be seen as just another linux distro.

If yours is a new different operating system and not another linux distro then borrowing Haiku kernel or concept of, does not really look problematic, as competition with linux looks.

well Linux is actually a hybrid kernel these days just as it Haiku and Windows NT

If you switched the hardrive from one computer to another most likely you installed the HD as a second drive and as such the bootloader couldn’t find the kernel etc… also Linux itself should be find since the drive would have the same uuid no mater the computer as long as you got it booted up and pointed the kernel at the right drive

it is also possible that you kernel was built without builtin support for your drive controler etc… a generic kernel however should work most places though

I cannot remember the details of what I did exactly. It was a year or two ago. I’m quite certain it was just a different motherboard, and not also a reordering of HD’s or partitions.
I don’t know what the general success rate is of switching a linux hard drive or even just a different motherboard is. I have never had any problems this way with Beos/Haiku provided there is at least a generic driver, although BeosPEMaxEditionV3.1, V3.1b1 and V4, refused to boot from the live CD. I cannot exactly remember if those versions had proper AMD Athlon XP support but that used to be a problem. (kernel could be hacked to overcome with DiskProbe)
Yes I suppose if Linux boots as a live CD it should be able to boot no matter what motherboard is substituted.

Linux seems to be able to handle hardware changes where there is not already installed configuration files or changes to them.
I recently sold an older computer to someone that was just the video card, hard drives (Ubuntu 9.10 installed), DDR RAM, keyboard and mouse, no monitor.
The only real thing that was different was the monitor (although very old Phillips CRT). It could only boot up when the video card NVIDIA 7600GS) was substituted for an old PCI card. When all the NVIDIA 3D drivers and configuration files were removed then it could boot up with the old monitor and the newer video card, to then install the NVIDIA 3D drivers again. I think the person I sold it to also had to do some manual configuration for the monitor in xorg.conf.
How would Haiku handle a change like this, although less extreme than a different motherboard?

That situation was out of Linux’s control as you were using binary drivers… that situation doesn’t even exist on Haiku since Nvidia doesn’t support Haiku

The situation is improving on Linux and Haiku as well (once the Linux drivers are ported at some point) since Linux now supports some level of 3d acelleration on Nvidia cards though it is slower than the binary drivers.

Also Xorg no longer needs any configuration files for most cards it just figures out whatever is connected… though the binary drivers still require xorg.conf

So the situation might become nearly equivalent with linux and haiku once the proprietary drivers are ported?
Also you are saying where there is not native source code for a driver the configuration file wont be automatically generated/edited. I used to have to edit xorg.conf when installing proprietary drivers in linux and later the option beacame to do it automatically. I have wondered that since the manual instructions was similar (and reasonably basic) all the time when doing it manually why wasn’t this available right from the start, but I suppose things naturally evolve this way. The same idea applies in a lot of operating systems.