Linux kernel
-
Can you try to boot one of the machines in debug mode and try to reboot there?
It’s unlikely, but perhaps it will give some useful information.
I’m guessing these are custom built PCs? (given that no DMI info is supplied)
It’s interesting that under certain circumstances they wouldn’t reboot.
What about shutdown? Does that work?
-
@Quazz I tried and got same result.
-
@Maorui2k “same result” being nothing happening at all?
-
@Quazz I tried debug mode, both reboot & shutdown had same result. I could see the message of killall process, but the PC just hung there after message ‘Requesting system reboot/halt’, and the keyboard was freezed too, CTRL-ALT-DEL won’t work.
-
@Maorui2k If you have an operating system installed on them, can they shut down/reboot?
Are there any BIOS updates available for this motherboard?
-
@Maorui2k said in Linux kernel:
I tried CentOS 6 & 7, both have the issue. So Ubuntu is the only survivor. I’m still finghting with the Ubuntu kernel compile process. It’s not same as general process, and I always got error in the middle. Not sure the reason yet…
Please post the error so I might be able to help. Without I don’t have a chance to give you a hint. Let me know which steps/command you do/run and which error you get.
I am wondering if it’s Ubuntu’s kernel config or if they have a special patch that does help shutting down your machines. The problem is that building a normal Ubuntu kernel won’t help you because FOG has all the important drivers included in the kernel (bzImage) while Ubuntu has most in the initrd. Ubuntu kernel is smaller but would not work with FOG (initrd). I’ll think about it a little more and try some stuff.
-
@Maorui2k Ok, to see if the Ubuntu patches do the trick I downloaded those, applied to a vanilla 4.4.0 kernel, used our FOG kernel config and build a kernel from that. Please download bzImage and init.xz here. If this kernel properly shuts down your machine then we can start looking through the patchset. On the other hand, if this kernel does not shutdown/turn off your machine, then the Ubuntu patches are irrelevant and you can start comparing the kernel configs and/or parameters.
-
@Quazz Windows & Ubuntu 16 could reboot/shutdown. And there is no BIOS update.
-
@Sebastian-Roth Thanks for the kernel, but it doesn’t work too. There is no error message, just stopped at the last step of regular reboot/shutdown process. The last step should be a signal to hardware. I uploaded a picture of the screen here. https://drive.google.com/open?id=0Bx_soHaLoSYETllpSUVmVEotX28 So the kernel config may do the trick.
-
-
@Sebastian-Roth said in Linux kernel:
@Maorui2k Sorry for the long delay, I have been away. So it looks like the ubuntu kernel patches don’t make a difference. So next we can try to use the ubuntu kernel config to see if that helps. Find a newly compiled bzImage here. Please try this and let me know!
It didn’t work… And the USB keyboard didn’t work with this version, so I couldn’t test the reboot in debug mode manually. I tried two different keyboards and all USB2/3 ports. The keyboard stopped response after the new kernel was loaded.
-
@Maorui2k Sorry for the USB issue. Didn’t think that USB keyboard would be build as a module by default. I added it to the kernel and uploaded a new version. Could you please try again?
Have you ever installed Ubuntu 16.04 on that hardware and tried to reboot? I am just wondering if we are on the wrong track with this. Maybe booting a live CD is just a little different.
Bay the way: Are you working on the exact same PC all the time? Just to rule out that BIOS settings might be causing the issue on one of the PCs?
-
@Sebastian-Roth The reboot/shutdown and USB still didn’t work with the new kernel…
I installed Ubuntu 16.04 desktop and server edition, and both could reboot successfully. Live CD was also fine.
I tried everything in same PC. I checked all BIOS options, didn’t see anything related to this issue.
-
Moved to Hardware Compatibility.
-
@Maorui2k I found this in the kernel config:
config X86_REBOOTFIXUPS bool "Enable X86 board specific fixups for reboot" depends on X86_32 ---help--- This enables chipset and/or board specific fixups to be done in order to get reboot to work correctly. This is only needed on some combinations of hardware and BIOS. The symptom, for which this config is intended, is when reboot ends with a stalled/hung system. Currently, the only fixup is for the Geode machines using CS5530A and CS5536 chipsets and the RDC R-321x SoC.
Although it sounds promising at first I don’t think this is what we are after. Those chipsets don’t seem to match yours. And this option is only available on 32 bit kernel builds!! So I highly doubt this would fix the reboot for you.
But this made me think about CPU architecture. Are you sure the 64 bit kernel is loaded by iPXE?? Pay attention to the screen when it says:
bzImage... ok init.xz... ok
Nothing about 32 there, right???
I updated that kernel once again as I still was missing the USB HID settings, too bad. Hope that your keyboard is working now but probably won’t help the reboot anyway.
As well I’ve used the 3.17.3 kernel config from our repo and updated it to build a 4.4 kernel from that. So if anything was in that config it should be still in there. Please try both kernels.I’ve been reading through this and searched the web over and over again. I just don’t understand why none of the kernels I build is doing any better. Just scratching my head… Why do 3.17.3 and the ubuntu kernels reboot properly? Boot up a live system again (or from disk if you have still installed ubuntu) and get a full listing of the kernel messages buffer. I feel this could be quite important in finding the issue. Get a FAT32 formated USB key and run:
sudo -i mkdir /usbkey mount -t vfat /dev/sdb1 /usbkey dmesg > /usbkey/ubuntu_working.txt umount /usbkey
Do the same in a FOG
debug
task just no sudo and choosing a different filename to store the dmesg output in. Please upload both full outputs and post download links here. -
@sebastian-roth I checked kernel version, it’s x64. The USB works this time, thx!
I uploaded three logs, pls take a look. https://drive.google.com/open?id=0Bx_soHaLoSYETXhEeUVBRVllNVE
dmesg-Ubuntu-16.04.2.log: original Ubuntu 16.04.2 kernel which has no reboot/shutdown issue
dmesg-44-Ubuntu-config.log: bzImage4.4-pretty-close-to-the-ubuntu-build
dmesg-44-config-3.17.3.log: bzImage4.4-with-config-uped-from-3.17.3 -
@Maorui2k Thanks for the logs! There is one important information missing in your post and I suspect the answer no (both new kernels don’t reboot/shutdown, right?
The logs are a really good starting point I think. The most obvious thing is that I had a different kernel version. 4.4.0 Ubuntu and 4.4.67 mine. Although this es kind of close I still think we should try to match everything as close as we can to rule everything out. Thanks for patiently testing all the kernels I upload. This is to be a long endeavor and we just need to keep going to find what’s the issue.
I am building a new kernel now, exact same version, ubuntu patches, ubuntu config. Just to see if we can make it work by imitating the ubuntu kernel as close as possible. Will upload soon.
-
It’s good to redo things and have a closer look. I found out that I had probably used the wrong ubuntu kernel config file last time. Got it here and thought that was good. But turns out the real original configs are included in the Ubuntu patchset for this kernel.
Please understand I am now trying to keep this kernel build as close to the ubuntu kernel as possible. So I try to only change kernel settings that are absolutely necessary to make this kernel boot on your machine. You won’t be able to boot this on many other platforms and I really hope I get all the settings right the first time.
So I uploaded two new kernels (download - one is still building and I will upload soon!). Please test both these kernels and let me know. init.xz is still the same as always.
Edit: Ok I give up after hours of watching it compile. Trying to build a kernel without module support (all in one big blob) but having all the drivers included that Ubuntu does is just insane. So that leaves you with that one kernel to test with for now. Possibly I will generate an initrd file including all the ubuntu modules in case this kernel is still not rebooting/shutting down your hardware properly.
-
@sebastian-roth I was away for days again… I uploaded the new logs here. https://drive.google.com/open?id=0Bx_soHaLoSYETXhEeUVBRVllNVE The reboot/shutdown was still failed.
I would be happy to help in this investigation So don’t hesitate to ask for more testing and logs. I’ve dedicated the same PC for this testing.
-
@Maorui2k I start to feel really dumb! Again the version number in the kernel log (thanks!) is different to the Ubuntu one that seems to work. One issue is that the Ubuntu packages page links to the “wrong” (?) patch source (right side under “Download Source Package”). Eventually I found the correct patch but I am not sure if this would make a difference.
So let’s try something new. Now we want to use the very original Ubuntu kernel
bzImage-4.4.0-62-generic
and for it does not have all the needed modules compiled into the kernel I build a special FOGinit-ubuntu.xz
for you which has kernel modules and does load the important ones for you on startup. As always download and put those in/var/www/fog/service/ipxe
(before backing up the original ones). For this bigger initrd file you also need to increaseFOG_KERNEL_RAMDISK_SIZE
in the FOG Settings (FOG web GUI) to172032
. Boot your client and see if it all comes up properly and we’ll see if shutdown/reboot is working with this very Ubuntu kernel!!!As I said I found the correct patch I think but still the version numbers do not match. I think I am kind of lost with this as I don’t really know how exactly Ubuntu builds their kernels. I might not be that far of - at least I was able to build several different kernels that booted on your machine. Still none of them actually made it shutdown/reboot properly. In case you want to build a kernel yourself, follow these steps:
Download original kernel code and ubuntu patch and run the following commands:
cd /path/to/downloads gunzip linux_4.4.0-62.83.diff.gz tar xzf linux_4.4.0.orig.tar.gz cd linux-4.4 patch -p1 <../linux_4.4.0-62.83.diff cp debian.master/config/config.common.ubuntu .config cat debian.master/config/amd64/config.common.amd64 >> .config cat debian.master/config/amd64/config.flavour.generic >> .config
Then edit the
.config
file and make sure the following kernel settings are all compiled into the kernel (CONFIG_...=y
) instead of just build as module (CONFIG_...=m
CONFIG_BLK_DEV_RAM=y CONFIG_R8169=y CONFIG_USB_STORAGE=y CONFIG_HID=y CONFIG_HID_GENERIC=y CONFIG_HID_LOGITECH=y CONFIG_USB_HID=y CONFIG_SATA_AHCI=y CONFIG_SATA_AHCI_PLATFORM=y CONFIG_PATA_OLDPIIX=y CONFIG_PATA_MPIIX=y
Now you are ready preparing. Go ahead and compile the kernel:
make oldconfig make bzImage
… which will/should, after some time, result in
Kernel: arch/x86/boot/bzImage is ready...
. Grab this kernel binary and the init.xz I provide in my google drive and you should be running your very own kernel.