You are not logged in.

#1 2016-03-27 06:22:06

SyXbiT
Member
From: Seattle, WA
Registered: 2008-06-28
Posts: 177
Website

updating bios from Linux (Lenovo TS140)

I have two of these servers, One as a server running CentOS 7.2, and one as a workstation, running Arch Linux
Lenovo offers native Linux Bios update, which is very impressive. I managed to get this to work on my CentOS server by simply installing the kernel-headers package.
I seem to remember this working on Arch Linux in the past (though it's possible I'm mis-remembering). when I installed a kernel headers package.
Now though, I'm unable to get it to work

[syxbit@desktop BIOSLinux64]$ sudo sh Linux64.sh 
/home/syxbit/Downloads/Misc/BIOSLinux64/.temp/amifldrv.c:42:1: warning: data definition has no type or storage class
 module_init(amifldrv_init_module);
 ^
/home/syxbit/Downloads/Misc/BIOSLinux64/.temp/amifldrv.c:42:1: error: type defaults to ‘int’ in declaration of ‘module_init’ [-Werror=implicit-int]
/home/syxbit/Downloads/Misc/BIOSLinux64/.temp/amifldrv.c:42:1: warning: parameter names (without types) in function declaration
/home/syxbit/Downloads/Misc/BIOSLinux64/.temp/amifldrv.c:43:1: warning: data definition has no type or storage class
 module_exit(amifldrv_cleanup_module);
 ^
/home/syxbit/Downloads/Misc/BIOSLinux64/.temp/amifldrv.c:43:1: error: type defaults to ‘int’ in declaration of ‘module_exit’ [-Werror=implicit-int]
/home/syxbit/Downloads/Misc/BIOSLinux64/.temp/amifldrv.c:43:1: warning: parameter names (without types) in function declaration
/home/syxbit/Downloads/Misc/BIOSLinux64/.temp/amifldrv.c:14:12: warning: ‘amifldrv_init_module’ defined but not used [-Wunused-function]
 static int amifldrv_init_module(void)
            ^
/home/syxbit/Downloads/Misc/BIOSLinux64/.temp/amifldrv.c:22:13: warning: ‘amifldrv_cleanup_module’ defined but not used [-Wunused-function]
 static void amifldrv_cleanup_module(void)
             ^
cc1: some warnings being treated as errors
make[2]: *** [/home/syxbit/Downloads/Misc/BIOSLinux64/.temp/amifldrv.o] Error 1
make[1]: *** [_module_/home/syxbit/Downloads/Misc/BIOSLinux64/.temp] Error 2
make: *** [default] Error 2
10 - Error: Unable to load driver.

Any ideas?

Offline

#2 2016-03-28 07:21:08

x33a
Forum Fellow
Registered: 2009-08-15
Posts: 4,587

Re: updating bios from Linux (Lenovo TS140)

Where did you download the BIOS updater from? Does it have any README? As for it not working with Arch, it could be a kernel version issue.

Offline

#3 2016-03-28 08:56:49

R00KIE
Forum Fellow
From: Between a computer and a chair
Registered: 2008-09-14
Posts: 4,734

Re: updating bios from Linux (Lenovo TS140)

To my untrained eye it seems that the problem is bad code and a modern gcc complains about it, specifically the lines with '[-Werror=implicit-int]'.

You may be able to take that Linux64.sh apart and fix the code, do all the steps manually and use less strict gcc switches. The alternative would be to run that in a supported live environment, for that you will have to check which systems are supported.

That said, I would use any ready made bootable medium the manufacturer makes available or use a bios file and do the update directly from the bios if possible.


R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K

Offline

#4 2016-03-29 21:47:14

SyXbiT
Member
From: Seattle, WA
Registered: 2008-06-28
Posts: 177
Website

Re: updating bios from Linux (Lenovo TS140)

R00KIE wrote:

To my untrained eye it seems that the problem is bad code and a modern gcc complains about it, specifically the lines with '[-Werror=implicit-int]'.

You may be able to take that Linux64.sh apart and fix the code, do all the steps manually and use less strict gcc switches. The alternative would be to run that in a supported live environment, for that you will have to check which systems are supported.

That said, I would use any ready made bootable medium the manufacturer makes available or use a bios file and do the update directly from the bios if possible.

That could be. Lenovo officially supports RHEL. I'm pretty sure they don't support 4.x kernels.

Offline

Board footer

Powered by FluxBB