Hi,
I am toying with the idea of getting a Gigabyte MP30-AR0 board (despite the insanely exorbitant price tag). Has anyone got the aarch64 CentOS working on one of those? Any special instructions?
Also, if I get the ISO, is it bootable on aarch64? Does the installer work? Or does the image have to be used like on 32-bit ARM?
Thanks.
Gordan
On 16/09/15 15:16, Gordan Bobic wrote:
Hi,
I am toying with the idea of getting a Gigabyte MP30-AR0 board (despite the insanely exorbitant price tag). Has anyone got the aarch64 CentOS working on one of those? Any special instructions?
Also, if I get the ISO, is it bootable on aarch64? Does the installer work? Or does the image have to be used like on 32-bit ARM?
I believe the Gigabyte folks are on this list..
- KB
On 2015-09-17 09:00, Karanbir Singh wrote:
On 16/09/15 15:16, Gordan Bobic wrote:
Hi,
I am toying with the idea of getting a Gigabyte MP30-AR0 board (despite the insanely exorbitant price tag). Has anyone got the aarch64 CentOS working on one of those? Any special instructions?
Also, if I get the ISO, is it bootable on aarch64? Does the installer work? Or does the image have to be used like on 32-bit ARM?
I believe the Gigabyte folks are on this list..
If they are, I'd love to hear their input, especially on the subject of why their UK resellers are unable to get hold of and quote price and availability on this board, while I can in fact get it from France and Luxembourg (which I dislike doing because it makes any possible warranty claims expensive and time consuming even without language barrier issues).
Gordan
On 09/16/2015 07:16 AM, Gordan Bobic wrote:
Hi,
I am toying with the idea of getting a Gigabyte MP30-AR0 board (despite the insanely exorbitant price tag). Has anyone got the aarch64 CentOS working on one of those? Any special instructions?
Also, if I get the ISO, is it bootable on aarch64? Does the installer work? Or does the image have to be used like on 32-bit ARM?
This board is based on the APM xgene, which we've used and tested fairly heavily. It *should* just work out of the box.
On 2015-09-22 00:18, Jim Perrin wrote:
On 09/16/2015 07:16 AM, Gordan Bobic wrote:
Hi,
I am toying with the idea of getting a Gigabyte MP30-AR0 board (despite the insanely exorbitant price tag). Has anyone got the aarch64 CentOS working on one of those? Any special instructions?
Also, if I get the ISO, is it bootable on aarch64? Does the installer work? Or does the image have to be used like on 32-bit ARM?
This board is based on the APM xgene, which we've used and tested fairly heavily. It *should* just work out of the box.
Good to know. Now if only I could get one in UK...
These appear to finally be available in UK now: https://www.xcase.co.uk/gigabyte-server-boards/gigabyte-mp30-ar0-with-applie...
Unfortunately, things don't work right out of the box: https://www.mail-archive.com/users@lists.redsleeve.org/msg01274.html
Has anyone got CentOS installer working with this board? £600 is an awful lot to spend on a paper weight.
Gordan
On 2015-09-22 00:18, Jim Perrin wrote:
On 09/16/2015 07:16 AM, Gordan Bobic wrote:
Hi,
I am toying with the idea of getting a Gigabyte MP30-AR0 board (despite the insanely exorbitant price tag). Has anyone got the aarch64 CentOS working on one of those? Any special instructions?
Also, if I get the ISO, is it bootable on aarch64? Does the installer work? Or does the image have to be used like on 32-bit ARM?
This board is based on the APM xgene, which we've used and tested fairly heavily. It *should* just work out of the box.
Gordan,
There were some quirks with CentOS 7.1, but this should be working perfectly fine with latest CentOS 7.2 aarch64 release.
-Phong
-----Original Message----- From: arm-dev-bounces@centos.org [mailto:arm-dev-bounces@centos.org] On Behalf Of Gordan Bobic Sent: Friday, February 19, 2016 5:00 PM To: Conversations around CentOS on ARM hardware Subject: Re: [Arm-dev] Gigabyte MP30-AR0
These appear to finally be available in UK now: https://www.xcase.co.uk/gigabyte-server-boards/gigabyte-mp30-ar0-with-applie...
Unfortunately, things don't work right out of the box: https://www.mail-archive.com/users@lists.redsleeve.org/msg01274.html
Has anyone got CentOS installer working with this board? £600 is an awful lot to spend on a paper weight.
Gordan
On 2015-09-22 00:18, Jim Perrin wrote:
On 09/16/2015 07:16 AM, Gordan Bobic wrote:
Hi,
I am toying with the idea of getting a Gigabyte MP30-AR0 board (despite the insanely exorbitant price tag). Has anyone got the aarch64 CentOS working on one of those? Any special instructions?
Also, if I get the ISO, is it bootable on aarch64? Does the installer work? Or does the image have to be used like on 32-bit ARM?
This board is based on the APM xgene, which we've used and tested fairly heavily. It *should* just work out of the box.
_______________________________________________ Arm-dev mailing list Arm-dev@centos.org https://lists.centos.org/mailman/listinfo/arm-dev
On 2016-02-19 10:57, Phong Vo wrote:
Gordan,
There were some quirks with CentOS 7.1, but this should be working perfectly fine with latest CentOS 7.2 aarch64 release.
The board appears to ship with u-boot rather than UEFI firmware. Does the image work with u-boot?
-----Original Message----- From: arm-dev-bounces@centos.org [mailto:arm-dev-bounces@centos.org] On Behalf Of Gordan Bobic Sent: Friday, February 19, 2016 5:00 PM To: Conversations around CentOS on ARM hardware Subject: Re: [Arm-dev] Gigabyte MP30-AR0
These appear to finally be available in UK now: https://www.xcase.co.uk/gigabyte-server-boards/gigabyte-mp30-ar0-with-applie...
Unfortunately, things don't work right out of the box: https://www.mail-archive.com/users@lists.redsleeve.org/msg01274.html
Has anyone got CentOS installer working with this board? £600 is an awful lot to spend on a paper weight.
Gordan
On 2015-09-22 00:18, Jim Perrin wrote:
On 09/16/2015 07:16 AM, Gordan Bobic wrote:
Hi,
I am toying with the idea of getting a Gigabyte MP30-AR0 board (despite the insanely exorbitant price tag). Has anyone got the aarch64 CentOS working on one of those? Any special instructions?
Also, if I get the ISO, is it bootable on aarch64? Does the installer work? Or does the image have to be used like on 32-bit ARM?
This board is based on the APM xgene, which we've used and tested fairly heavily. It *should* just work out of the box.
Arm-dev mailing list Arm-dev@centos.org https://lists.centos.org/mailman/listinfo/arm-dev _______________________________________________ Arm-dev mailing list Arm-dev@centos.org https://lists.centos.org/mailman/listinfo/arm-dev
In theory, you just need to convert CentOS vmlinuz to uImage, then do U-boot boot using the dtb and CentOS initrd.img; but somehow it hangs on me. I'll need to dig into it further.
I am not aware that it was shipped only with U-boot. If you want to try with UEFI, take it from my dropbox
https://dl.dropboxusercontent.com/u/20403943/mp30ar0_tianocore_binaries.tar....
mp30ar0_tianocore_media.img: burn to SPI NOR if you want to replace U-boot permanently
But if you want to chain boot from the existing U-boot, # setenv num_cores 1 # reset
# setenv load_tianocore 'tftp 0x4002000000 ${user_dir}/mp30ar0_tianocore_ubt.fd;tftp 0x1d000000 ${user_dir}/mp30ar0_tianocore_sec_ubt.fd' # setenv run_tianocore 'go 0x1d000000' # run load_tianocore run_tianocore
To install CentOS 7.2, the fastest would be to take http://mirror.centos.org/altarch/7.2.1511/isos/aarch64/CentOS-7-aarch64-Ever...
and image it on a USB drive ~8GB dd if=CentOS-7-aarch64-Everything.iso of=/dev/sdX bs=1M
Insert the USB drive to the board, + boot tianocore to prompt + select Shell (it should display a list of storage FS0, FS1, FS2, etc. and note the USB) + type FS0: (or FS1: if that does not work) + type EFI\BOOT\BOOTAA64.EFI
and this should bring you to the CentOS installer prompt.
-----Original Message----- From: arm-dev-bounces@centos.org [mailto:arm-dev-bounces@centos.org] On Behalf Of Gordan Bobic Sent: Friday, February 19, 2016 6:12 PM To: Conversations around CentOS on ARM hardware Subject: Re: [Arm-dev] Gigabyte MP30-AR0
On 2016-02-19 10:57, Phong Vo wrote:
Gordan,
There were some quirks with CentOS 7.1, but this should be working perfectly fine with latest CentOS 7.2 aarch64 release.
The board appears to ship with u-boot rather than UEFI firmware. Does the image work with u-boot?
-----Original Message----- From: arm-dev-bounces@centos.org [mailto:arm-dev-bounces@centos.org] On Behalf Of Gordan Bobic Sent: Friday, February 19, 2016 5:00 PM To: Conversations around CentOS on ARM hardware Subject: Re: [Arm-dev] Gigabyte MP30-AR0
These appear to finally be available in UK now: https://www.xcase.co.uk/gigabyte-server-boards/gigabyte-mp30-ar0-with-applie...
Unfortunately, things don't work right out of the box: https://www.mail-archive.com/users@lists.redsleeve.org/msg01274.html
Has anyone got CentOS installer working with this board? £600 is an awful lot to spend on a paper weight.
Gordan
On 2015-09-22 00:18, Jim Perrin wrote:
On 09/16/2015 07:16 AM, Gordan Bobic wrote:
Hi,
I am toying with the idea of getting a Gigabyte MP30-AR0 board (despite the insanely exorbitant price tag). Has anyone got the aarch64 CentOS working on one of those? Any special instructions?
Also, if I get the ISO, is it bootable on aarch64? Does the installer work? Or does the image have to be used like on 32-bit ARM?
This board is based on the APM xgene, which we've used and tested fairly heavily. It *should* just work out of the box.
Arm-dev mailing list Arm-dev@centos.org https://lists.centos.org/mailman/listinfo/arm-dev _______________________________________________ Arm-dev mailing list Arm-dev@centos.org https://lists.centos.org/mailman/listinfo/arm-dev
_______________________________________________ Arm-dev mailing list Arm-dev@centos.org https://lists.centos.org/mailman/listinfo/arm-dev
Supposedly they are switching this board to UEFI. That was promised to me months ago. I will be following up (yet again) to remind them that a system cannot be advertised as SBSA and SBBR compliant if it is not so compliant when shipped.
Hi,
I've just subscribe to the list to contribute to this thread.
I tried the instructions at https://lists.centos.org/pipermail/arm-dev/2016-February/001623.html without success. The session below appears to result in the board hanging;
[START SESSION]
Hit any key to stop autoboot: 0 MP30AR0# setenv num_cores 1 MP30AR0# setenv load_tianocore 'tftp 0x4002000000 mp30/mp30ar0_tianocore_ubt.fd; tftp 0x1d000000 mp30/mp30ar0_tianocore_sec_ubt.fd' MP30AR0# setenv run_tianocore 'go 0x1d000000' MP30AR0# run load_tianocore run_tianocore Port0 is down Using eth0 device TFTP from server 192.168.1.12; our IP address is 192.168.1.120 Filename 'mp30/mp30ar0_tianocore_ubt.fd'. Load address: 0x4002000000 Loading: ################################################################# ############################################################# 3.2 MiB/s done Bytes transferred = 1835008 (1c0000 hex) Using eth0 device TFTP from server 192.168.1.12; our IP address is 192.168.1.120 Filename 'mp30/mp30ar0_tianocore_sec_ubt.fd'. Load address: 0x1d000000 Loading: ################## 2.9 MiB/s done Bytes transferred = 262144 (40000 hex) ## Starting application at 0x1D000000 ...
X-Gene Mp30ar0 Board Boot firmware (version 1.20.03 built at 18:22:28 on Jan 26 2016)
[END SESSION]
Nothing appears on either the serial or vga after this. For completeness I also did a 'reset' after 'setenv num_cores 1' though I didn't get the point. The result is exactly the same.
Any other pointers greatly appreciated.
Hi,
The mp30ar0 U-boot has some special memory mapping to accommodate 32-bit DMA. Please download the tar ball again - I've updated the tianocore UHP for this.
https://dl.dropboxusercontent.com/u/20403943/mp30ar0_tianocore_binaries.ta r.xz
Updated instruction for U-boot chain loading: MP30AR0# setenv num_cores 1 MP30AR0# setenv DDRBASE2G 1 MP30AR0# save; reset
MP30AR0# setenv load_tianocore 'tftp 0x82000000 ${user_dir}/mp30ar0_tianocore_ubt.fd; tftp 0x1d000000 ${user_dir}/mp30ar0_tianocore_sec_ubt.fd' MP30AR0# setenv run_tianocore 'go 0x1d000000' MP30AR0# run load_tianocore run_tianocore
Welcome banner should show something similar to below
TianoCore 1.20.03-uhp UEFI 2.4.0 Feb 22 2016 11:17:26 <=== CPU: APM ARM 64-bit Potenza Rev B0 2400MHz PCP 2400MHz 32 KB ICACHE, 32 KB DCACHE SOC 2000MHz IOBAXI 400MHz AXI 250MHz AHB 200MHz GFC 125MHz Board: X-Gene Mp30ar0 Board Slimpro FW: Ver: 2.4 (build 01.20.04.00 2016/02/18) TPC: disable AVS: support SOC: 950 mV The default boot selection will start in 5 seconds [1] Red Hat Enterprise Linux [2] Shell [3] Boot Manager [4] Reboot [5] Shutdown
-----Original Message----- From: arm-dev-bounces@centos.org [mailto:arm-dev-bounces@centos.org] On Behalf Of Michael Howard Sent: Saturday, February 20, 2016 11:16 PM To: arm-dev@centos.org Subject: Re: [Arm-dev] Gigabyte MP30-AR0
Hi,
I've just subscribe to the list to contribute to this thread.
I tried the instructions at https://lists.centos.org/pipermail/arm-dev/2016-February/001623.html without success. The session below appears to result in the board hanging;
[START SESSION]
Hit any key to stop autoboot: 0 MP30AR0# setenv num_cores 1 MP30AR0# setenv load_tianocore 'tftp 0x4002000000 mp30/mp30ar0_tianocore_ubt.fd; tftp 0x1d000000 mp30/mp30ar0_tianocore_sec_ubt.fd' MP30AR0# setenv run_tianocore 'go 0x1d000000' MP30AR0# run load_tianocore run_tianocore Port0 is down Using eth0 device TFTP from server 192.168.1.12; our IP address is 192.168.1.120 Filename 'mp30/mp30ar0_tianocore_ubt.fd'. Load address: 0x4002000000 Loading: ################################################################# ############################################################# 3.2 MiB/s done Bytes transferred = 1835008 (1c0000 hex) Using eth0 device TFTP from server 192.168.1.12; our IP address is 192.168.1.120 Filename 'mp30/mp30ar0_tianocore_sec_ubt.fd'. Load address: 0x1d000000 Loading: ################## 2.9 MiB/s done Bytes transferred = 262144 (40000 hex) ## Starting application at 0x1D000000 ...
X-Gene Mp30ar0 Board Boot firmware (version 1.20.03 built at 18:22:28 on Jan 26 2016)
[END SESSION]
Nothing appears on either the serial or vga after this. For completeness I also did a 'reset' after 'setenv num_cores 1' though I didn't get the point. The result is exactly the same.
Any other pointers greatly appreciated.
On 22/02/2016 05:02, Phong Vo wrote:
Hi,
The mp30ar0 U-boot has some special memory mapping to accommodate 32-bit DMA. Please download the tar ball again - I've updated the tianocore UHP for this.
Ok, your changes have enabled the board's u-boot to chainload EFI which is great, many thanks.
The installer though did not install a bootable kernel. It overwrote the original onboard kernel thus preventing the board booting to it's default 'OpenLinux'. The kernel that the installer installed appears to fail due to bad CRC. So, with no disks connected or sdcard inserted I get ......
ramdisk_self=run usb_init; run sf_read_ramdisk && run ram_self SF: 0:0 probed ................................................................................ ................................................................................ ................................................................................ ................ SF: flash read success (16777216 bytes @ 0x1000000) List of available devices: vga 80000002 S.O serial 80000003 SIO stdin stdout stderr usbkbd0 80000001 SI. ## Booting kernel from Legacy Image at 82000000 ... Image Name: Linux-LE Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 13828112 Bytes = 13.2 MiB Load Address: 00080000 Entry Point: 00080000 Verifying Checksum ... Bad Data CRC ERROR: can't get kernel image!
...... instead of booting to onboard OpenLinux. No great loss I guess :) Obviously, what should have happened at this point after the install is booting centos on disk.
Booting with the provided Ubuntu image on sdcard still works. I think there are recovery instructions somewhere in the docs so I might be able to recover the original kernel. If not, anybody any idea how to burn the kernel from the sdcard to this board or better still, how to get a working centos kernel?
Cheers,
It seems a little odd that the installer would put the kernel somewhere other than the target installation disk. Having UEFI on-board I can understand, but shouldn't the boot sequence in this case be:
1) u-boot (on-board) 2) UEFI (wherever u-boot can fetch it from) 3) grub (off the UEFI FAT partition on the target disk) 4) Kernel (/boot partition)
Is there a good reason for deviating from this?
Gordan
On 2016-02-22 10:42, Michael Howard wrote:
On 22/02/2016 05:02, Phong Vo wrote:
Hi,
The mp30ar0 U-boot has some special memory mapping to accommodate 32-bit DMA. Please download the tar ball again - I've updated the tianocore UHP for this.
Ok, your changes have enabled the board's u-boot to chainload EFI which is great, many thanks.
The installer though did not install a bootable kernel. It overwrote the original onboard kernel thus preventing the board booting to it's default 'OpenLinux'. The kernel that the installer installed appears to fail due to bad CRC. So, with no disks connected or sdcard inserted I get ......
ramdisk_self=run usb_init; run sf_read_ramdisk && run ram_self SF: 0:0 probed ................................................................................ ................................................................................ ................................................................................ ................ SF: flash read success (16777216 bytes @ 0x1000000) List of available devices: vga 80000002 S.O serial 80000003 SIO stdin stdout stderr usbkbd0 80000001 SI. ## Booting kernel from Legacy Image at 82000000 ... Image Name: Linux-LE Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 13828112 Bytes = 13.2 MiB Load Address: 00080000 Entry Point: 00080000 Verifying Checksum ... Bad Data CRC ERROR: can't get kernel image!
...... instead of booting to onboard OpenLinux. No great loss I guess :) Obviously, what should have happened at this point after the install is booting centos on disk.
Booting with the provided Ubuntu image on sdcard still works. I think there are recovery instructions somewhere in the docs so I might be able to recover the original kernel. If not, anybody any idea how to burn the kernel from the sdcard to this board or better still, how to get a working centos kernel?
Cheers,
On 22/02/2016 11:50, Gordan Bobic wrote:
It seems a little odd that the installer would put the kernel somewhere other than the target installation disk.
I agree but the board no longer boots.
Having UEFI on-board I can understand, but shouldn't the boot sequence in this case be:
- u-boot (on-board)
- UEFI (wherever u-boot can fetch it from)
- grub (off the UEFI FAT partition on the target disk)
- Kernel (/boot partition)
Perhaps it should be.
Is there a good reason for deviating from this?
To be honest, I don't know. To quote the manual, "The system wills entry OpenLinux automatically if no any boot devices exist. (ex. SD card/USB memory stick/SATA hard disk)" and that was the case prior to my attempt to install centos.
I'm not bothered about not being able to boot into OpenLinux. I'll try a few more things.
On 22/02/2016 11:50, Gordan Bobic wrote:
It seems a little odd that the installer would put the kernel somewhere other than the target installation disk. Having UEFI on-board I can understand, but shouldn't the boot sequence in this case be:
- u-boot (on-board)
- UEFI (wherever u-boot can fetch it from)
- grub (off the UEFI FAT partition on the target disk)
- Kernel (/boot partition)
Is there a good reason for deviating from this?
Ok, reinstalling the original u-boot resolves the onboard kernel issue, that is, the board now boots to OpenLinux again when no other devices are attached. So the 'Applied Micro Linux 3.12.0 (aarch64)' kernel is part of their (Gigabyte's) u-boot image.
On 2016-02-22 14:26, Michael Howard wrote:
On 22/02/2016 11:50, Gordan Bobic wrote:
It seems a little odd that the installer would put the kernel somewhere other than the target installation disk. Having UEFI on-board I can understand, but shouldn't the boot sequence in this case be:
- u-boot (on-board)
- UEFI (wherever u-boot can fetch it from)
- grub (off the UEFI FAT partition on the target disk)
- Kernel (/boot partition)
Is there a good reason for deviating from this?
Ok, reinstalling the original u-boot resolves the onboard kernel issue, that is, the board now boots to OpenLinux again when no other devices are attached. So the 'Applied Micro Linux 3.12.0 (aarch64)' kernel is part of their (Gigabyte's) u-boot image.
Right, so now that UEFI is working, it seems the next thing to do is to get grub2 loading from UEFI. From there on it should be trivial to get a sensible kernel booting.
I do find it baffling that the installer that requires UEFI would do something so fundamentally different in terms of configuring the boot process compared to the x86 method of doing it.
Hmm... I wonder... Did you create a 250MB FAT partition on the disk of type EF00 (GPT), for the UEFI boot loader part (the stuff that ends up in /boot/efi)?
Gordan
On 22/02/2016 14:42, Gordan Bobic wrote:
On 2016-02-22 14:26, Michael Howard wrote:
On 22/02/2016 11:50, Gordan Bobic wrote:
It seems a little odd that the installer would put the kernel somewhere other than the target installation disk. Having UEFI on-board I can understand, but shouldn't the boot sequence in this case be:
- u-boot (on-board)
- UEFI (wherever u-boot can fetch it from)
- grub (off the UEFI FAT partition on the target disk)
- Kernel (/boot partition)
Is there a good reason for deviating from this?
Ok, reinstalling the original u-boot resolves the onboard kernel issue, that is, the board now boots to OpenLinux again when no other devices are attached. So the 'Applied Micro Linux 3.12.0 (aarch64)' kernel is part of their (Gigabyte's) u-boot image.
Right, so now that UEFI is working, it seems the next thing to do is to get grub2 loading from UEFI. From there on it should be trivial to get a sensible kernel booting.
Ok, some strangeness happening here. It seems it wasn't the centos installer that caused the issue of the board not booting to OpenLinux afterall. Having reinstalled u-boot and confirmed the board booted to OpenLinux, I chainloaded UEFI once more (using the instructions from Phong Vo) in order to try manually booting centos. I couldn't immediately see how to do that so I reset the board and now back to non booting board. Go figure.
I do find it baffling that the installer that requires UEFI would do something so fundamentally different in terms of configuring the boot process compared to the x86 method of doing it.
I guess it doesn't afterall.
Hmm... I wonder... Did you create a 250MB FAT partition on the disk of type EF00 (GPT), for the UEFI boot loader part (the stuff that ends up in /boot/efi)?
Well, this installer is completely new to me. At the opening screen of the text install I had to select various aspects of the install before it would let me proceed. One of which is the selection of the install disc and how it should be partitioned. I changed from LVM to basic partitioning and an efi partition was reported to have been created. Once the install began, there was no requirement for further user interaction.
On 2016-02-22 15:30, Michael Howard wrote:
On 22/02/2016 14:42, Gordan Bobic wrote:
On 2016-02-22 14:26, Michael Howard wrote:
On 22/02/2016 11:50, Gordan Bobic wrote:
It seems a little odd that the installer would put the kernel somewhere other than the target installation disk. Having UEFI on-board I can understand, but shouldn't the boot sequence in this case be:
- u-boot (on-board)
- UEFI (wherever u-boot can fetch it from)
- grub (off the UEFI FAT partition on the target disk)
- Kernel (/boot partition)
Is there a good reason for deviating from this?
Ok, reinstalling the original u-boot resolves the onboard kernel issue, that is, the board now boots to OpenLinux again when no other devices are attached. So the 'Applied Micro Linux 3.12.0 (aarch64)' kernel is part of their (Gigabyte's) u-boot image.
Right, so now that UEFI is working, it seems the next thing to do is to get grub2 loading from UEFI. From there on it should be trivial to get a sensible kernel booting.
Ok, some strangeness happening here. It seems it wasn't the centos installer that caused the issue of the board not booting to OpenLinux afterall. Having reinstalled u-boot and confirmed the board booted to OpenLinux, I chainloaded UEFI once more (using the instructions from Phong Vo) in order to try manually booting centos. I couldn't immediately see how to do that so I reset the board and now back to non booting board. Go figure.
I do find it baffling that the installer that requires UEFI would do something so fundamentally different in terms of configuring the boot process compared to the x86 method of doing it.
I guess it doesn't afterall.
Hmm... I wonder... Did you create a 250MB FAT partition on the disk of type EF00 (GPT), for the UEFI boot loader part (the stuff that ends up in /boot/efi)?
Well, this installer is completely new to me. At the opening screen of the text install I had to select various aspects of the install before it would let me proceed. One of which is the selection of the install disc and how it should be partitioned. I changed from LVM to basic partitioning and an efi partition was reported to have been created. Once the install began, there was no requirement for further user interaction.
Hang on, you mean the installer in this case is text based anaconda, rather than GUI?
Gordan
On 22/02/2016 15:36, Gordan Bobic wrote:
On 2016-02-22 15:30, Michael Howard wrote:
On 22/02/2016 14:42, Gordan Bobic wrote:
On 2016-02-22 14:26, Michael Howard wrote:
On 22/02/2016 11:50, Gordan Bobic wrote:
It seems a little odd that the installer would put the kernel somewhere other than the target installation disk. Having UEFI on-board I can understand, but shouldn't the boot sequence in this case be:
- u-boot (on-board)
- UEFI (wherever u-boot can fetch it from)
- grub (off the UEFI FAT partition on the target disk)
- Kernel (/boot partition)
Is there a good reason for deviating from this?
Ok, reinstalling the original u-boot resolves the onboard kernel issue, that is, the board now boots to OpenLinux again when no other devices are attached. So the 'Applied Micro Linux 3.12.0 (aarch64)' kernel is part of their (Gigabyte's) u-boot image.
Right, so now that UEFI is working, it seems the next thing to do is to get grub2 loading from UEFI. From there on it should be trivial to get a sensible kernel booting.
Ok, some strangeness happening here. It seems it wasn't the centos installer that caused the issue of the board not booting to OpenLinux afterall. Having reinstalled u-boot and confirmed the board booted to OpenLinux, I chainloaded UEFI once more (using the instructions from Phong Vo) in order to try manually booting centos. I couldn't immediately see how to do that so I reset the board and now back to non booting board. Go figure.
I do find it baffling that the installer that requires UEFI would do something so fundamentally different in terms of configuring the boot process compared to the x86 method of doing it.
I guess it doesn't afterall.
Hmm... I wonder... Did you create a 250MB FAT partition on the disk of type EF00 (GPT), for the UEFI boot loader part (the stuff that ends up in /boot/efi)?
Well, this installer is completely new to me. At the opening screen of the text install I had to select various aspects of the install before it would let me proceed. One of which is the selection of the install disc and how it should be partitioned. I changed from LVM to basic partitioning and an efi partition was reported to have been created. Once the install began, there was no requirement for further user interaction.
Hang on, you mean the installer in this case is text based anaconda, rather than GUI?
Yes, that's correct. The installer has problems with network also, in that it doesn't find a 'link up' on any port. Hence it won't start vnc installer either.
As mentioned, my accusation about the installer overwriting the onboard kernel was way off mark, although something (chainloading EFI?) does.
Anyway, the install does in fact succeed, which is great. I probably should have stuck with the LVM partitioning scheme but hey ho, I can re run things now that I know UEFI is working.
So, I have a minimal CentOS install with 4.2.0-0.21.el7.aarch64 kernel. Great start, thanks to all.
There is no networking so I need to get the installer to recognise the nics at install time.
Cheers,
On 2016-02-22 16:37, Michael Howard wrote:
On 22/02/2016 15:36, Gordan Bobic wrote:
On 2016-02-22 15:30, Michael Howard wrote:
On 22/02/2016 14:42, Gordan Bobic wrote:
On 2016-02-22 14:26, Michael Howard wrote:
On 22/02/2016 11:50, Gordan Bobic wrote:
It seems a little odd that the installer would put the kernel somewhere other than the target installation disk. Having UEFI on-board I can understand, but shouldn't the boot sequence in this case be:
- u-boot (on-board)
- UEFI (wherever u-boot can fetch it from)
- grub (off the UEFI FAT partition on the target disk)
- Kernel (/boot partition)
Is there a good reason for deviating from this?
Ok, reinstalling the original u-boot resolves the onboard kernel issue, that is, the board now boots to OpenLinux again when no other devices are attached. So the 'Applied Micro Linux 3.12.0 (aarch64)' kernel is part of their (Gigabyte's) u-boot image.
Right, so now that UEFI is working, it seems the next thing to do is to get grub2 loading from UEFI. From there on it should be trivial to get a sensible kernel booting.
Ok, some strangeness happening here. It seems it wasn't the centos installer that caused the issue of the board not booting to OpenLinux afterall. Having reinstalled u-boot and confirmed the board booted to OpenLinux, I chainloaded UEFI once more (using the instructions from Phong Vo) in order to try manually booting centos. I couldn't immediately see how to do that so I reset the board and now back to non booting board. Go figure.
I do find it baffling that the installer that requires UEFI would do something so fundamentally different in terms of configuring the boot process compared to the x86 method of doing it.
I guess it doesn't afterall.
Hmm... I wonder... Did you create a 250MB FAT partition on the disk of type EF00 (GPT), for the UEFI boot loader part (the stuff that ends up in /boot/efi)?
Well, this installer is completely new to me. At the opening screen of the text install I had to select various aspects of the install before it would let me proceed. One of which is the selection of the install disc and how it should be partitioned. I changed from LVM to basic partitioning and an efi partition was reported to have been created. Once the install began, there was no requirement for further user interaction.
Hang on, you mean the installer in this case is text based anaconda, rather than GUI?
Yes, that's correct. The installer has problems with network also, in that it doesn't find a 'link up' on any port. Hence it won't start vnc installer either.
As mentioned, my accusation about the installer overwriting the onboard kernel was way off mark, although something (chainloading EFI?) does.
The irony of that is killing me right now: https://lists.fedoraproject.org/pipermail/users/2013-February/431095.html
It is a long thread, but it does make for an entertaining (if also at times depressing) read.
Dumbing down and crippling the text installer was a retarded idea back when it was done in F11 (and it filtered down into EL6). History seemingly hasn't shown it to be any less retarded than it seemed to many of us back then.
Anyway, the install does in fact succeed, which is great. I probably should have stuck with the LVM partitioning scheme but hey ho, I can re run things now that I know UEFI is working.
So, I have a minimal CentOS install with 4.2.0-0.21.el7.aarch64 kernel. Great start, thanks to all.
There is no networking so I need to get the installer to recognise the nics at install time.
So installer produces a bootable system, complete with a working kernel? Does it use grub2 or does it do some magic to boot the kernel straight from UEFI?
Gordan
On 22/02/2016 16:47, Gordan Bobic wrote:
[snip]
As mentioned, my accusation about the installer overwriting the
onboard kernel was way off mark, although something (chainloading EFI?) does.
The irony of that is killing me right now: https://lists.fedoraproject.org/pipermail/users/2013-February/431095.html
It is a long thread, but it does make for an entertaining (if also at times depressing) read.
Dumbing down and crippling the text installer was a retarded idea back when it was done in F11 (and it filtered down into EL6). History seemingly hasn't shown it to be any less retarded than it seemed to many of us back then.
I'll give it a read.
Anyway, the install does in fact succeed, which is great. I probably should have stuck with the LVM partitioning scheme but hey ho, I can re run things now that I know UEFI is working.
So, I have a minimal CentOS install with 4.2.0-0.21.el7.aarch64 kernel. Great start, thanks to all.
There is no networking so I need to get the installer to recognise the nics at install time.
So installer produces a bootable system, complete with a working kernel?
Yes, and no. It produces a bootable kernel.
Does it use grub2 or does it do some magic to boot the kernel straight from UEFI?
I haven't had the nerve to attempt to bun UEFI to SPI-NOR permanently, so following the install (and any subsequent ones) I've loaded it from u-boot manually and then booted directly from UEFI from there. I can of course automate that I suppose.
On 2016-02-22 16:57, Michael Howard wrote:
On 22/02/2016 16:47, Gordan Bobic wrote:
Anyway, the install does in fact succeed, which is great. I probably should have stuck with the LVM partitioning scheme but hey ho, I can re run things now that I know UEFI is working.
So, I have a minimal CentOS install with 4.2.0-0.21.el7.aarch64 kernel. Great start, thanks to all.
There is no networking so I need to get the installer to recognise the nics at install time.
So installer produces a bootable system, complete with a working kernel?
Yes, and no. It produces a bootable kernel.
Right, but how does that kernel get booted? u-boot -> kernel ? u-boot -> UEFI -> kernel ? u-boot -> UEFI -> grub2 -> kernel ?
Does it use grub2 or does it do some magic to boot the kernel straight from UEFI?
I haven't had the nerve to attempt to bun UEFI to SPI-NOR permanently,
Oh, I wasn't suggesting that. I cannot think of a good reason to burn UEFI into SPI-NOR vs. chain-loading it from u-boot, since the boot cascade is automatable.
so following the install (and any subsequent ones) I've loaded it from u-boot manually and then booted directly from UEFI from there. I can of course automate that I suppose.
Right, so post-install the boot process is: u-boot -> UEFI -> kernel ?
No grub2 involved?
The reason I am specifically asking about grub is because grub2 knows how to load the kernel and initramfs off ZFS, and I would prefer to not have to keep /boot on ext4 (even if /boot/efi has to be FAT - because UEFI).
Gordan
On 22/02/2016 17:04, Gordan Bobic wrote:
On 2016-02-22 16:57, Michael Howard wrote:
On 22/02/2016 16:47, Gordan Bobic wrote:
Anyway, the install does in fact succeed, which is great. I probably should have stuck with the LVM partitioning scheme but hey ho, I can re run things now that I know UEFI is working.
So, I have a minimal CentOS install with 4.2.0-0.21.el7.aarch64 kernel. Great start, thanks to all.
There is no networking so I need to get the installer to recognise the nics at install time.
So installer produces a bootable system, complete with a working kernel?
Yes, and no. It produces a bootable kernel.
Right, but how does that kernel get booted? u-boot -> kernel ? u-boot -> UEFI -> kernel ? u-boot -> UEFI -> grub2 -> kernel ?
Does it use grub2 or does it do some magic to boot the kernel straight from UEFI?
I haven't had the nerve to attempt to bun UEFI to SPI-NOR permanently,
Oh, I wasn't suggesting that. I cannot think of a good reason to burn UEFI into SPI-NOR vs. chain-loading it from u-boot, since the boot cascade is automatable.
so following the install (and any subsequent ones) I've loaded it from u-boot manually and then booted directly from UEFI from there. I can of course automate that I suppose.
Right, so post-install the boot process is: u-boot -> UEFI -> kernel ?
Yes.
No grub2 involved?
No.
On 2016-02-22 17:29, Michael Howard wrote:
On 22/02/2016 17:04, Gordan Bobic wrote:
On 2016-02-22 16:57, Michael Howard wrote:
On 22/02/2016 16:47, Gordan Bobic wrote:
Anyway, the install does in fact succeed, which is great. I probably should have stuck with the LVM partitioning scheme but hey ho, I can re run things now that I know UEFI is working.
So, I have a minimal CentOS install with 4.2.0-0.21.el7.aarch64 kernel. Great start, thanks to all.
There is no networking so I need to get the installer to recognise the nics at install time.
So installer produces a bootable system, complete with a working kernel?
Yes, and no. It produces a bootable kernel.
Right, but how does that kernel get booted? u-boot -> kernel ? u-boot -> UEFI -> kernel ? u-boot -> UEFI -> grub2 -> kernel ?
Does it use grub2 or does it do some magic to boot the kernel straight from UEFI?
I haven't had the nerve to attempt to bun UEFI to SPI-NOR permanently,
Oh, I wasn't suggesting that. I cannot think of a good reason to burn UEFI into SPI-NOR vs. chain-loading it from u-boot, since the boot cascade is automatable.
so following the install (and any subsequent ones) I've loaded it from u-boot manually and then booted directly from UEFI from there. I can of course automate that I suppose.
Right, so post-install the boot process is: u-boot -> UEFI -> kernel ?
Yes.
Sweet! Now I just have to try to scrape together enough to get me one of those cometh pay day. :-D
No grub2 involved?
No.
I'll see if I can do something about that when mine arrives. It would be nice to have it working the same way x86 UEFI works.
On a semi-related note, is it possible to mount an armv5tel or armv7hl image, and chroot into it? Does that work? Or is aarch64 not binary backward compatible with 32-bit ARM binaries like x86-64 is?
Gordan
On 22/02/2016 20:08, Gordan Bobic wrote:
On 2016-02-22 17:29, Michael Howard wrote:
On 22/02/2016 17:04, Gordan Bobic wrote:
On 2016-02-22 16:57, Michael Howard wrote:
On 22/02/2016 16:47, Gordan Bobic wrote:
Anyway, the install does in fact succeed, which is great. I probably should have stuck with the LVM partitioning scheme but hey ho, I can re run things now that I know UEFI is working.
So, I have a minimal CentOS install with 4.2.0-0.21.el7.aarch64 kernel. Great start, thanks to all.
There is no networking so I need to get the installer to recognise the nics at install time.
So installer produces a bootable system, complete with a working kernel?
Yes, and no. It produces a bootable kernel.
Right, but how does that kernel get booted? u-boot -> kernel ? u-boot -> UEFI -> kernel ? u-boot -> UEFI -> grub2 -> kernel ?
Does it use grub2 or does it do some magic to boot the kernel straight from UEFI?
I haven't had the nerve to attempt to bun UEFI to SPI-NOR permanently,
Oh, I wasn't suggesting that. I cannot think of a good reason to burn UEFI into SPI-NOR vs. chain-loading it from u-boot, since the boot cascade is automatable.
so following the install (and any subsequent ones) I've loaded it from u-boot manually and then booted directly from UEFI from there. I can of course automate that I suppose.
Right, so post-install the boot process is: u-boot -> UEFI -> kernel ?
Yes.
Sweet! Now I just have to try to scrape together enough to get me one of those cometh pay day. :-D
No grub2 involved?
No.
I'll see if I can do something about that when mine arrives. It would be nice to have it working the same way x86 UEFI works.
On a semi-related note, is it possible to mount an armv5tel or armv7hl image, and chroot into it? Does that work? Or is aarch64 not binary backward compatible with 32-bit ARM binaries like x86-64 is?
I'll check.
Cheers,
On 22/02/2016 20:08, Gordan Bobic wrote:
On 2016-02-22 17:29, Michael Howard wrote:
On 22/02/2016 17:04, Gordan Bobic wrote:
On 2016-02-22 16:57, Michael Howard wrote:
On 22/02/2016 16:47, Gordan Bobic wrote:
Anyway, the install does in fact succeed, which is great. I probably should have stuck with the LVM partitioning scheme but hey ho, I can re run things now that I know UEFI is working.
So, I have a minimal CentOS install with 4.2.0-0.21.el7.aarch64 kernel. Great start, thanks to all.
There is no networking so I need to get the installer to recognise the nics at install time.
So installer produces a bootable system, complete with a working kernel?
Yes, and no. It produces a bootable kernel.
Right, but how does that kernel get booted? u-boot -> kernel ? u-boot -> UEFI -> kernel ? u-boot -> UEFI -> grub2 -> kernel ?
Does it use grub2 or does it do some magic to boot the kernel straight from UEFI?
I haven't had the nerve to attempt to bun UEFI to SPI-NOR permanently,
Oh, I wasn't suggesting that. I cannot think of a good reason to burn UEFI into SPI-NOR vs. chain-loading it from u-boot, since the boot cascade is automatable.
so following the install (and any subsequent ones) I've loaded it from u-boot manually and then booted directly from UEFI from there. I can of course automate that I suppose.
Right, so post-install the boot process is: u-boot -> UEFI -> kernel ?
Yes.
Sweet! Now I just have to try to scrape together enough to get me one of those cometh pay day. :-D
No grub2 involved?
No.
I'll see if I can do something about that when mine arrives. It would be nice to have it working the same way x86 UEFI works.
With my pre-occupation with having no networking, I gave you some bum info. Grub2 is indeed involved.
Cheers,
On 2016-02-23 11:47, Michael Howard wrote:
On 22/02/2016 20:08, Gordan Bobic wrote:
On 2016-02-22 17:29, Michael Howard wrote:
On 22/02/2016 17:04, Gordan Bobic wrote:
On 2016-02-22 16:57, Michael Howard wrote:
On 22/02/2016 16:47, Gordan Bobic wrote:
> Anyway, the install does in fact succeed, which is great. I > probably > should have stuck with the LVM partitioning scheme but hey ho, I > can > re run things now that I know UEFI is working. > > So, I have a minimal CentOS install with 4.2.0-0.21.el7.aarch64 > kernel. Great start, thanks to all. > > There is no networking so I need to get the installer to > recognise the > nics at install time.
So installer produces a bootable system, complete with a working kernel?
Yes, and no. It produces a bootable kernel.
Right, but how does that kernel get booted? u-boot -> kernel ? u-boot -> UEFI -> kernel ? u-boot -> UEFI -> grub2 -> kernel ?
Does it use grub2 or does it do some magic to boot the kernel straight from UEFI?
I haven't had the nerve to attempt to bun UEFI to SPI-NOR permanently,
Oh, I wasn't suggesting that. I cannot think of a good reason to burn UEFI into SPI-NOR vs. chain-loading it from u-boot, since the boot cascade is automatable.
so following the install (and any subsequent ones) I've loaded it from u-boot manually and then booted directly from UEFI from there. I can of course automate that I suppose.
Right, so post-install the boot process is: u-boot -> UEFI -> kernel ?
Yes.
Sweet! Now I just have to try to scrape together enough to get me one of those cometh pay day. :-D
No grub2 involved?
No.
I'll see if I can do something about that when mine arrives. It would be nice to have it working the same way x86 UEFI works.
With my pre-occupation with having no networking, I gave you some bum info.
Oh... No NIC driver? Or something else missing?
Grub2 is indeed involved.
Oh, awesome, so it works just like x86 UEFI, then. That is excellent news indeed. :)
Many thanks.
Gordan
I see that CentOS installer somehow does not detect network, so it gives text-based installation. However, once installation is finished, check your /etc/sysconfig/network-scripts/ifcfg-eth0 (or something similar).
Make sure BOOTPROTO=dhcp ONBOOT=y
Change ONBOOT to y and reboot should get network working.
-Phong
-----Original Message----- From: arm-dev-bounces@centos.org [mailto:arm-dev-bounces@centos.org] On Behalf Of Gordan Bobic Sent: Tuesday, February 23, 2016 6:54 PM To: Conversations around CentOS on ARM hardware Subject: Re: [Arm-dev] Gigabyte MP30-AR0
On 2016-02-23 11:47, Michael Howard wrote:
On 22/02/2016 20:08, Gordan Bobic wrote:
On 2016-02-22 17:29, Michael Howard wrote:
On 22/02/2016 17:04, Gordan Bobic wrote:
On 2016-02-22 16:57, Michael Howard wrote:
On 22/02/2016 16:47, Gordan Bobic wrote:
> Anyway, the install does in fact succeed, which is great. I > probably > should have stuck with the LVM partitioning scheme but hey ho, I > can > re run things now that I know UEFI is working. > > So, I have a minimal CentOS install with 4.2.0-0.21.el7.aarch64 > kernel. Great start, thanks to all. > > There is no networking so I need to get the installer to > recognise the > nics at install time.
So installer produces a bootable system, complete with a working kernel?
Yes, and no. It produces a bootable kernel.
Right, but how does that kernel get booted? u-boot -> kernel ? u-boot -> UEFI -> kernel ? u-boot -> UEFI -> grub2 -> kernel ?
Does it use grub2 or does it do some magic to boot the kernel straight from UEFI?
I haven't had the nerve to attempt to bun UEFI to SPI-NOR permanently,
Oh, I wasn't suggesting that. I cannot think of a good reason to burn UEFI into SPI-NOR vs. chain-loading it from u-boot, since the boot cascade is automatable.
so following the install (and any subsequent ones) I've loaded it from u-boot manually and then booted directly from UEFI from there. I can of course automate that I suppose.
Right, so post-install the boot process is: u-boot -> UEFI -> kernel ?
Yes.
Sweet! Now I just have to try to scrape together enough to get me one of those cometh pay day. :-D
No grub2 involved?
No.
I'll see if I can do something about that when mine arrives. It would be nice to have it working the same way x86 UEFI works.
With my pre-occupation with having no networking, I gave you some bum info.
Oh... No NIC driver? Or something else missing?
Grub2 is indeed involved.
Oh, awesome, so it works just like x86 UEFI, then. That is excellent news indeed. :)
Many thanks.
Gordan _______________________________________________ Arm-dev mailing list Arm-dev@centos.org https://lists.centos.org/mailman/listinfo/arm-dev
On 23/02/2016 11:58, Phong Vo wrote:
I see that CentOS installer somehow does not detect network, so it gives text-based installation. However, once installation is finished, check your /etc/sysconfig/network-scripts/ifcfg-eth0 (or something similar).
Make sure BOOTPROTO=dhcp ONBOOT=y
Change ONBOOT to y and reboot should get network working.
Hi,
Yes, I did that but it was still no go. The problem with the installed system was that I hadn't set the hardware address in UEFI (set MAC0 xx:xx:xx:xx:xx:xx), after that networking worked.
The installer still didn't detect a connection on any of the nics, though I could assign an ip manually at the shell. Editing grub command line before running the installer cured that issue.
Cheers,
Thanks, Mike.
I never used the graphical installer before, but adding ip=dhcp to the grub command line does the trick then.
-Phong
-----Original Message----- From: arm-dev-bounces@centos.org [mailto:arm-dev-bounces@centos.org] On Behalf Of Michael Howard Sent: Tuesday, February 23, 2016 7:15 PM To: arm-dev@centos.org Subject: Re: [Arm-dev] Gigabyte MP30-AR0
On 23/02/2016 11:58, Phong Vo wrote:
I see that CentOS installer somehow does not detect network, so it gives text-based installation. However, once installation is finished, check your /etc/sysconfig/network-scripts/ifcfg-eth0 (or something similar).
Make sure BOOTPROTO=dhcp ONBOOT=y
Change ONBOOT to y and reboot should get network working.
Hi,
Yes, I did that but it was still no go. The problem with the installed system was that I hadn't set the hardware address in UEFI (set MAC0 xx:xx:xx:xx:xx:xx), after that networking worked.
The installer still didn't detect a connection on any of the nics, though I could assign an ip manually at the shell. Editing grub command line before running the installer cured that issue.
Cheers,
On 23/02/2016 11:53, Gordan Bobic wrote:
On 2016-02-23 11:47, Michael Howard wrote:
On 22/02/2016 20:08, Gordan Bobic wrote:
On 2016-02-22 17:29, Michael Howard wrote:
On 22/02/2016 17:04, Gordan Bobic wrote:
On 2016-02-22 16:57, Michael Howard wrote:
On 22/02/2016 16:47, Gordan Bobic wrote:
>> Anyway, the install does in fact succeed, which is great. I >> probably >> should have stuck with the LVM partitioning scheme but hey ho, >> I can >> re run things now that I know UEFI is working. >> >> So, I have a minimal CentOS install with 4.2.0-0.21.el7.aarch64 >> kernel. Great start, thanks to all. >> >> There is no networking so I need to get the installer to >> recognise the >> nics at install time. > > So installer produces a bootable system, complete with a working > kernel?
Yes, and no. It produces a bootable kernel.
Right, but how does that kernel get booted? u-boot -> kernel ? u-boot -> UEFI -> kernel ? u-boot -> UEFI -> grub2 -> kernel ?
> Does it use grub2 or does it do some magic to boot the kernel > straight > from UEFI? >
I haven't had the nerve to attempt to bun UEFI to SPI-NOR permanently,
Oh, I wasn't suggesting that. I cannot think of a good reason to burn UEFI into SPI-NOR vs. chain-loading it from u-boot, since the boot cascade is automatable.
so following the install (and any subsequent ones) I've loaded it from u-boot manually and then booted directly from UEFI from there. I can of course automate that I suppose.
Right, so post-install the boot process is: u-boot -> UEFI -> kernel ?
Yes.
Sweet! Now I just have to try to scrape together enough to get me one of those cometh pay day. :-D
No grub2 involved?
No.
I'll see if I can do something about that when mine arrives. It would be nice to have it working the same way x86 UEFI works.
With my pre-occupation with having no networking, I gave you some bum info.
Oh... No NIC driver? Or something else missing?
No, not a driver issue. On my first install the installer just wouldn't accept that the nic(s) were indeed connected. After the install the system recognised that eth0, eth1 & eth2 existed but they each had a hardware address of ff:ff:ff:ff:ff:ff and no ip address. To resolve that I needed to set the hardware addresses in UEFI and they then shone through. They were correctly set in u-boot.
The installer still wouldn't accept the nic(s) were connected even when set in UEFI. I could assign an ip using the installer shell on [F2] but by then the installer had given up on vnc. In the end, I edited the grub command line and appended ip, netmask, gateway and vnc, after which I got a gui install over vnc. Don't yet know if X11 works on the installed system, I haven't tried.
Cheers,
On 2016-02-23 12:07, Michael Howard wrote:
On 23/02/2016 11:53, Gordan Bobic wrote:
On 2016-02-23 11:47, Michael Howard wrote:
On 22/02/2016 20:08, Gordan Bobic wrote:
On 2016-02-22 17:29, Michael Howard wrote:
On 22/02/2016 17:04, Gordan Bobic wrote:
On 2016-02-22 16:57, Michael Howard wrote: > On 22/02/2016 16:47, Gordan Bobic wrote: > >>> Anyway, the install does in fact succeed, which is great. I >>> probably >>> should have stuck with the LVM partitioning scheme but hey ho, >>> I can >>> re run things now that I know UEFI is working. >>> >>> So, I have a minimal CentOS install with 4.2.0-0.21.el7.aarch64 >>> kernel. Great start, thanks to all. >>> >>> There is no networking so I need to get the installer to >>> recognise the >>> nics at install time. >> >> So installer produces a bootable system, complete with a working >> kernel? > > Yes, and no. It produces a bootable kernel.
Right, but how does that kernel get booted? u-boot -> kernel ? u-boot -> UEFI -> kernel ? u-boot -> UEFI -> grub2 -> kernel ?
>> Does it use grub2 or does it do some magic to boot the kernel >> straight >> from UEFI? >> > > I haven't had the nerve to attempt to bun UEFI to SPI-NOR > permanently,
Oh, I wasn't suggesting that. I cannot think of a good reason to burn UEFI into SPI-NOR vs. chain-loading it from u-boot, since the boot cascade is automatable.
> so following the install (and any subsequent ones) I've loaded it > from > u-boot manually and then booted directly from UEFI from there. I > can > of course automate that I suppose.
Right, so post-install the boot process is: u-boot -> UEFI -> kernel ?
Yes.
Sweet! Now I just have to try to scrape together enough to get me one of those cometh pay day. :-D
No grub2 involved?
No.
I'll see if I can do something about that when mine arrives. It would be nice to have it working the same way x86 UEFI works.
With my pre-occupation with having no networking, I gave you some bum info.
Oh... No NIC driver? Or something else missing?
No, not a driver issue. On my first install the installer just wouldn't accept that the nic(s) were indeed connected. After the install the system recognised that eth0, eth1 & eth2 existed but they each had a hardware address of ff:ff:ff:ff:ff:ff and no ip address. To resolve that I needed to set the hardware addresses in UEFI and they then shone through. They were correctly set in u-boot.
The installer still wouldn't accept the nic(s) were connected even when set in UEFI. I could assign an ip using the installer shell on [F2] but by then the installer had given up on vnc.
No VGA framebuffer support gets detected by the installer?
In the end, I edited the grub command line and appended ip, netmask, gateway and vnc, after which I got a gui install over vnc. Don't yet know if X11 works on the installed system, I haven't tried.
I see, so is the installer running over serial console or VGA/USB console?
Gordan
On 23/02/2016 12:11, Gordan Bobic wrote:
On 2016-02-23 12:07, Michael Howard wrote:
On 23/02/2016 11:53, Gordan Bobic wrote:
On 2016-02-23 11:47, Michael Howard wrote:
On 22/02/2016 20:08, Gordan Bobic wrote:
On 2016-02-22 17:29, Michael Howard wrote:
On 22/02/2016 17:04, Gordan Bobic wrote: > On 2016-02-22 16:57, Michael Howard wrote: >> On 22/02/2016 16:47, Gordan Bobic wrote: >> >>>> Anyway, the install does in fact succeed, which is great. I >>>> probably >>>> should have stuck with the LVM partitioning scheme but hey >>>> ho, I can >>>> re run things now that I know UEFI is working. >>>> >>>> So, I have a minimal CentOS install with 4.2.0-0.21.el7.aarch64 >>>> kernel. Great start, thanks to all. >>>> >>>> There is no networking so I need to get the installer to >>>> recognise the >>>> nics at install time. >>> >>> So installer produces a bootable system, complete with a >>> working kernel? >> >> Yes, and no. It produces a bootable kernel. > > Right, but how does that kernel get booted? > u-boot -> kernel ? > u-boot -> UEFI -> kernel ? > u-boot -> UEFI -> grub2 -> kernel ? > >>> Does it use grub2 or does it do some magic to boot the kernel >>> straight >>> from UEFI? >>> >> >> I haven't had the nerve to attempt to bun UEFI to SPI-NOR >> permanently, > > Oh, I wasn't suggesting that. I cannot think of a good reason to > burn > UEFI into SPI-NOR vs. chain-loading it from u-boot, since the boot > cascade is automatable. > >> so following the install (and any subsequent ones) I've loaded >> it from >> u-boot manually and then booted directly from UEFI from there. >> I can >> of course automate that I suppose. > > Right, so post-install the boot process is: > u-boot -> UEFI -> kernel ? > Yes.
Sweet! Now I just have to try to scrape together enough to get me one of those cometh pay day. :-D
> No grub2 involved? No.
I'll see if I can do something about that when mine arrives. It would be nice to have it working the same way x86 UEFI works.
With my pre-occupation with having no networking, I gave you some bum info.
Oh... No NIC driver? Or something else missing?
No, not a driver issue. On my first install the installer just wouldn't accept that the nic(s) were indeed connected. After the install the system recognised that eth0, eth1 & eth2 existed but they each had a hardware address of ff:ff:ff:ff:ff:ff and no ip address. To resolve that I needed to set the hardware addresses in UEFI and they then shone through. They were correctly set in u-boot.
The installer still wouldn't accept the nic(s) were connected even when set in UEFI. I could assign an ip using the installer shell on [F2] but by then the installer had given up on vnc.
No VGA framebuffer support gets detected by the installer?
No. X fails to start and it falls back to text install.
In the end, I edited the grub command line and appended ip, netmask, gateway and vnc, after which I got a gui install over vnc. Don't yet know if X11 works on the installed system, I haven't tried.
I see, so is the installer running over serial console or VGA/USB console?
The installer runs over VGA by default. I am connected to the serial port out of habit but a keyboard and monitor (vga port) work too. As I say, by default, once the installer is actually started it outputs to vga.
You'll be able to get a graphical interface on some cards that don't require POSTing by the EFI "BIOS". Cards that do require this (eg on x86) contain EFI ROM code compiled for x86 that won't be run on ARM (this is being fixed). But the Tianocore on that board isn't setup to do a graphical console anyway even if that works. So this is why you won't get graphics until after boot when the installer starts - if you have a card that can self-initialize. That's many modern ones but not always "some random play card I had left lying around" that folks often use when testing.
Marcin in the Fedora community has many good points on his blog around cards he has tested.
Jon.
This board has a VGA component belonging to the AST2400 BMC (but connected to the SoC PCIe). VGA console should be working fine with the installer up to Linux. Graphical interface is working but would require a little fix to the xorg mode setting driver to correctly detect the PCI ID of the VGA device. Talking about this, which path should we take to get this fix to the Xorg driver?
-Phong
On Mon, Feb 29, 2016 at 11:02 PM, Jon Masters jonathan@jonmasters.org wrote:
You'll be able to get a graphical interface on some cards that don't require POSTing by the EFI "BIOS". Cards that do require this (eg on x86) contain EFI ROM code compiled for x86 that won't be run on ARM (this is being fixed). But the Tianocore on that board isn't setup to do a graphical console anyway even if that works. So this is why you won't get graphics until after boot when the installer starts - if you have a card that can self-initialize. That's many modern ones but not always "some random play card I had left lying around" that folks often use when testing.
Marcin in the Fedora community has many good points on his blog around cards he has tested.
Jon.
-- Computer Architect | Sent from my 64-bit #ARM Powered phone
On Feb 23, 2016, at 07:11, Gordan Bobic gordan@redsleeve.org wrote:
On 2016-02-23 12:07, Michael Howard wrote:
On 23/02/2016 11:53, Gordan Bobic wrote:
On 2016-02-23 11:47, Michael Howard wrote:
On 22/02/2016 20:08, Gordan Bobic wrote: > On 2016-02-22 17:29, Michael Howard wrote: >> On 22/02/2016 17:04, Gordan Bobic wrote: >>> On 2016-02-22 16:57, Michael Howard wrote: >>> On 22/02/2016 16:47, Gordan Bobic wrote: >>>>> Anyway, the install does in fact succeed, which is great. I probably >>>>> should have stuck with the LVM partitioning scheme but hey ho, I can >>>>> re run things now that I know UEFI is working. >>>>> So, I have a minimal CentOS install with 4.2.0-0.21.el7.aarch64 >>>>> kernel. Great start, thanks to all. >>>>> There is no networking so I need to get the installer to recognise the >>>>> nics at install time. >>>> So installer produces a bootable system, complete with a working kernel? >>> Yes, and no. It produces a bootable kernel. >> Right, but how does that kernel get booted? >> u-boot -> kernel ? >> u-boot -> UEFI -> kernel ? >> u-boot -> UEFI -> grub2 -> kernel ? >>>> Does it use grub2 or does it do some magic to boot the kernel straight >>>> from UEFI? >>> I haven't had the nerve to attempt to bun UEFI to SPI-NOR permanently, >> Oh, I wasn't suggesting that. I cannot think of a good reason to burn >> UEFI into SPI-NOR vs. chain-loading it from u-boot, since the boot >> cascade is automatable. >>> so following the install (and any subsequent ones) I've loaded it from >>> u-boot manually and then booted directly from UEFI from there. I can >>> of course automate that I suppose. >> Right, so post-install the boot process is: >> u-boot -> UEFI -> kernel ? > Yes. Sweet! Now I just have to try to scrape together enough to get me one of those cometh pay day. :-D >> No grub2 involved? > No. I'll see if I can do something about that when mine arrives. It would be nice to have it working the same way x86 UEFI works.
With my pre-occupation with having no networking, I gave you some bum info.
Oh... No NIC driver? Or something else missing?
No, not a driver issue. On my first install the installer just wouldn't accept that the nic(s) were indeed connected. After the install the system recognised that eth0, eth1 & eth2 existed but they each had a hardware address of ff:ff:ff:ff:ff:ff and no ip address. To resolve that I needed to set the hardware addresses in UEFI and they then shone through. They were correctly set in u-boot. The installer still wouldn't accept the nic(s) were connected even when set in UEFI. I could assign an ip using the installer shell on [F2] but by then the installer had given up on vnc.
No VGA framebuffer support gets detected by the installer?
In the end, I edited the grub command line and appended ip, netmask, gateway and vnc, after which I got a gui install over vnc. Don't yet know if X11 works on the installed system, I haven't tried.
I see, so is the installer running over serial console or VGA/USB console?
Gordan _______________________________________________ Arm-dev mailing list Arm-dev@centos.org https://lists.centos.org/mailman/listinfo/arm-dev
Arm-dev mailing list Arm-dev@centos.org https://lists.centos.org/mailman/listinfo/arm-dev
On 2016-02-29 16:27, Phong Vo wrote:
This board has a VGA component belonging to the AST2400 BMC (but connected to the SoC PCIe). VGA console should be working fine with the installer up to Linux. Graphical interface is working but would require a little fix to the xorg mode setting driver to correctly detect the PCI ID of the VGA device. Talking about this, which path should we take to get this fix to the Xorg driver?
A link to a patch would be really handy. Shame to not have a working Xorg driver while it is being upstreamed.
Gordan
On 2016-02-29 16:02, Jon Masters wrote:
You'll be able to get a graphical interface on some cards that don't require POSTing by the EFI "BIOS". Cards that do require this (eg on x86) contain EFI ROM code compiled for x86 that won't be run on ARM (this is being fixed). But the Tianocore on that board isn't setup to do a graphical console anyway even if that works. So this is why you won't get graphics until after boot when the installer starts - if you have a card that can self-initialize. That's many modern ones but not always "some random play card I had left lying around" that folks often use when testing.
Marcin in the Fedora community has many good points on his blog around cards he has tested.
A link to a list of known working cards would be handy.
Gordan
Hello Bobic, Sorry for my replying to your 8-year-old email. As I mentioned in my recently sent mail (url[1]), I'm also trying to use UEFI on my Gigabyte MP30-AR0 motherboard. I would also like to boot in the order of u-boot -> UEFI -> Grub -> Kernel. And I'm writing to ask you for a detailed guidance and the needed uefi firmware.
url[1]: https://lists.centos.org/hyperkitty/list/arm-dev@lists.centos.org/thread/OXP...
Thank you for your generous help in advance. Please reply to 1530974299@qq.com , thank you.
Best Regards, Richard
On 22/02/2016 20:08, Gordan Bobic wrote:
On 2016-02-22 17:29, Michael Howard wrote:
On 22/02/2016 17:04, Gordan Bobic wrote:
On 2016-02-22 16:57, Michael Howard wrote:
On 22/02/2016 16:47, Gordan Bobic wrote:
Anyway, the install does in fact succeed, which is great. I probably should have stuck with the LVM partitioning scheme but hey ho, I can re run things now that I know UEFI is working.
So, I have a minimal CentOS install with 4.2.0-0.21.el7.aarch64 kernel. Great start, thanks to all.
There is no networking so I need to get the installer to recognise the nics at install time.
So installer produces a bootable system, complete with a working kernel?
Yes, and no. It produces a bootable kernel.
Right, but how does that kernel get booted? u-boot -> kernel ? u-boot -> UEFI -> kernel ? u-boot -> UEFI -> grub2 -> kernel ?
Does it use grub2 or does it do some magic to boot the kernel straight from UEFI?
I haven't had the nerve to attempt to bun UEFI to SPI-NOR permanently,
Oh, I wasn't suggesting that. I cannot think of a good reason to burn UEFI into SPI-NOR vs. chain-loading it from u-boot, since the boot cascade is automatable.
so following the install (and any subsequent ones) I've loaded it from u-boot manually and then booted directly from UEFI from there. I can of course automate that I suppose.
Right, so post-install the boot process is: u-boot -> UEFI -> kernel ?
Yes.
Sweet! Now I just have to try to scrape together enough to get me one of those cometh pay day. :-D
No grub2 involved?
No.
I'll see if I can do something about that when mine arrives. It would be nice to have it working the same way x86 UEFI works.
On a semi-related note, is it possible to mount an armv5tel or armv7hl image, and chroot into it? Does that work? Or is aarch64 not binary backward compatible with 32-bit ARM binaries like x86-64 is?
Just to let you know, I can't get this to work. aarch64 is supposed to be binary compatible, with the correct libraries installed, but I'm thinking the cpu isn't.
All I get is 'cannot execute binary file: Exec format error', regardless of what I try.
Cheers, Mike.
On 02/29/2016 09:20 AM, Michael Howard wrote:
On a semi-related note, is it possible to mount an armv5tel or armv7hl image, and chroot into it? Does that work? Or is aarch64 not binary backward compatible with 32-bit ARM binaries like x86-64 is?
Just to let you know, I can't get this to work. aarch64 is supposed to be binary compatible, with the correct libraries installed, but I'm thinking the cpu isn't.
All I get is 'cannot execute binary file: Exec format error', regardless of what I try.
This isn't expected to work currently, no.
Indeed. The architecture contains a 32-bit backward compatible component (that is optional in 64-bit ARM servers[0], but included in the one that you are using) and it is technically possible to install the libraries side by side. However the upstream that Cent is using is intentionally engineered never to support that case. It sounds harsh now, but there is no 32-bit server legacy, we have 32-bit VMs, you could build a 32-bit container if you really wanted, and in a couple of years we will all be wondering why we ever cared about 32-bit in the first place on ARM servers.
Jon.
[0] That was my doing. It is time to move on from 32-bit and not create a legacy, dragging everyone's power/performance efficiency down having to implement expensive 32-bit backward compatibility that people don't actually need. Recompile the software and move forward.
On 2016-02-29 15:58, Jon Masters wrote:
Indeed. The architecture contains a 32-bit backward compatible component (that is optional in 64-bit ARM servers[0], but included in the one that you are using) and it is technically possible to install the libraries side by side. However the upstream that Cent is using is intentionally engineered never to support that case. It sounds harsh now, but there is no 32-bit server legacy, we have 32-bit VMs, you could build a 32-bit container if you really wanted, and in a couple of years we will all be wondering why we ever cared about 32-bit in the first place on ARM servers.
If a container should work, why does chroot not work? I don't particularly care about running things side-by-side (as per the enormous in-everyone's-face precedent of x86/x86-64), but why would running an armv5tel guest in a chroot not "just work"?
[0] That was my doing. It is time to move on from 32-bit and not create a legacy, dragging everyone's power/performance efficiency down having to implement expensive 32-bit backward compatibility that people don't actually need. Recompile the software and move forward.
It's far too easy to take the moral high ground when you aren't in need of closed source software that you cannot just recompile.
Until a couple of months ago, the only Plex Media Server variant available for ARM was armel (ARMv4 soft-float). It'll likely be a while before they provide an aarch64 PMS binary.
Additionally, it would be really handy to be able to use a big aarch64 machine with tons of RAM for building 32-bit ARM packages. Big compile jobs on the pitifully underpowered and under-RAM-ed are increasingly painful, particularly the well known bloatware such as web browsers (EL6 Firefox brings it's own GCC the build process has to build first before using it to compile FF), LibreOffice and others.
Gordan
On 2016-02-29 15:51, Jim Perrin wrote:
On 02/29/2016 09:20 AM, Michael Howard wrote:
On a semi-related note, is it possible to mount an armv5tel or armv7hl image, and chroot into it? Does that work? Or is aarch64 not binary backward compatible with 32-bit ARM binaries like x86-64 is?
Just to let you know, I can't get this to work. aarch64 is supposed to be binary compatible, with the correct libraries installed, but I'm thinking the cpu isn't.
All I get is 'cannot execute binary file: Exec format error', regardless of what I try.
This isn't expected to work currently, no.
How come? I seem to recall that Nvidia until recently (if they aren't _still_ doing it) shipped their Tegra K1 and X1 images with aarch64 kernels and armv7hl userspace, which means that this should work just fine.
So in this case, what gives? Why does running armv5tel in a chroot not work with aarch64 kernel?
Gordan
On Mon, Feb 29, 2016 at 03:20:03PM +0000, Michael Howard wrote:
Just to let you know, I can't get this to work. aarch64 is supposed to be binary compatible, with the correct libraries installed, but I'm thinking the cpu isn't.
All I get is 'cannot execute binary file: Exec format error', regardless of what I try.
As I understand it the problem is page size - 64K was chosen by Red Hat for aarch64, where as 4K is the norm on armv7.
Anyway, you can run a 32 bit VM and it works well -- in fact a lot faster than regular 32 bit armv7 hardware.
Rich.
On 01/03/2016 22:26, Richard W.M. Jones wrote:
On Mon, Feb 29, 2016 at 03:20:03PM +0000, Michael Howard wrote:
Just to let you know, I can't get this to work. aarch64 is supposed to be binary compatible, with the correct libraries installed, but I'm thinking the cpu isn't.
All I get is 'cannot execute binary file: Exec format error', regardless of what I try.
As I understand it the problem is page size - 64K was chosen by Red Hat for aarch64, where as 4K is the norm on armv7.
Anyway, you can run a 32 bit VM and it works well -- in fact a lot faster than regular 32 bit armv7 hardware.
Yes, with CONFIG_ARM64_4K_PAGES=y and CONFIG_COMPAT=y, 32 bit binaries run fine.
Is there a driver to access IPMI internally without connecting to the BMC over the network?
# ipmitool sensor Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory Get Device ID command failed Unable to open SDR for reading
It works over the network, though: # ipmitool -I lanplus -H 192.168.2.43 -U admin -P password sensor CPU0_TEMP | 78.000 | degrees C | ok | na | 0.000 | 5.000 | 100.000 | 105.000 | na DIMM_P0_A0 | na | degrees C | na | na | 0.000 | 5.000 | 75.000 | 80.000 | na DIMM_P0_A1 | na | degrees C | na | na | 0.000 | 5.000 | 75.000 | 80.000 | na DIMM_P0_B0 | 36.000 | degrees C | ok | na | 0.000 | 5.000 | 75.000 | 80.000 | na DIMM_P0_B1 | na | degrees C | na | na | 0.000 | 5.000 | 75.000 | 80.000 | na DIMM_P0_C0 | 40.000 | degrees C | ok | na | 0.000 | 5.000 | 75.000 | 80.000 | na DIMM_P0_C1 | na | degrees C | na | na | 0.000 | 5.000 | 75.000 | 80.000 | na DIMM_P0_D0 | 40.000 | degrees C | ok | na | 0.000 | 5.000 | 75.000 | 80.000 | na DIMM_P0_D1 | na | degrees C | na | na | 0.000 | 5.000 | 75.000 | 80.000 | na P12V | 12.064 | Volts | ok | na | 10.324 | 10.788 | 13.224 | 13.688 | na P5V | 5.037 | Volts | ok | na | 4.290 | 4.507 | 5.495 | 5.688 | na P3V3 | 3.302 | Volts | ok | na | 2.828 | 2.970 | 3.618 | 3.760 | na P5V_STBY | 5.061 | Volts | ok | na | 4.290 | 4.507 | 5.495 | 5.688 | na P_VBAT | 3.074 | Volts | ok | na | 2.581 | 2.697 | na | na | na P_VCCP | 0.980 | Volts | ok | na | 0.421 | 0.451 | 1.431 | 1.509 | na P_1V2_HUB | 1.205 | Volts | ok | na | 1.029 | 1.078 | 1.323 | 1.372 | na P_VDDQ_AB | 1.499 | Volts | ok | na | 1.284 | 1.343 | 1.656 | 1.715 | na P_VDDQ_CD | 1.509 | Volts | ok | na | 1.284 | 1.343 | 1.656 | 1.715 | na P_0V9_VDD | 0.960 | Volts | ok | na | 0.774 | 0.813 | 0.990 | 1.029 | na P_1V5_VDD | 1.509 | Volts | ok | na | 1.284 | 1.352 | 1.646 | 1.705 | na P_2V5_VDD | 2.517 | Volts | ok | na | 2.154 | 2.251 | 2.747 | 2.856 | na P_1V8_VDD | 1.813 | Volts | ok | na | 1.548 | 1.627 | 1.980 | 2.048 | na CPU0_FAN | 6100.000 | RPM | ok | na | 600.000 | 800.000 | na | na | na SYS_FAN1 | 900.000 | RPM | ok | na | 600.000 | 800.000 | na | na | na SYS_FAN2 | 1400.000 | RPM | ok | na | 600.000 | 800.000 | na | na | na SYS_FAN3 | na | RPM | na | na | 600.000 | 800.000 | na | na | na SYS_FAN4 | na | RPM | na | na | 600.000 | 800.000 | na | na | na CPU0 | 0x0 | discrete | 0x8080| na | na | na | na | na | na MB_TEMP1 | 39.000 | degrees C | ok | na | 0.000 | 5.000 | 55.000 | 60.000 | na MB_TEMP2 | 34.000 | degrees C | ok | na | 0.000 | 5.000 | 55.000 | 60.000 | na MB_TEMP3 | 29.000 | degrees C | ok | na | 0.000 | 5.000 | 55.000 | 60.000 | na SEL | 0x0 | discrete | 0x0080| na | na | na | na | na | na
There is one obvious error in the output: DIMM_P0_A0 | na | degrees C | na | na | 0.000 | 5.000 | 75.000 | 80.000 | na
There is a DIMM definitely in that slot, but it doesn't have a temperature reading. It's the exact same part and batch as the other 3, so I'd expect there to be a number there. Firmware bug?
Gordan
On 13/03/16 09:20, Gordan Bobic wrote:
Is there a driver to access IPMI internally without connecting to the BMC over the network?
# ipmitool sensor Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory Get Device ID command failed Unable to open SDR for reading
It works over the network, though: # ipmitool -I lanplus -H 192.168.2.43 -U admin -P password sensor CPU0_TEMP | 78.000 | degrees C | ok | na | 0.000 | 5.000 | 100.000 | 105.000 | na DIMM_P0_A0 | na | degrees C | na | na | 0.000 | 5.000 | 75.000 | 80.000 | na DIMM_P0_A1 | na | degrees C | na | na | 0.000 | 5.000 | 75.000 | 80.000 | na DIMM_P0_B0 | 36.000 | degrees C | ok | na | 0.000 | 5.000 | 75.000 | 80.000 | na DIMM_P0_B1 | na | degrees C | na | na | 0.000 | 5.000 | 75.000 | 80.000 | na DIMM_P0_C0 | 40.000 | degrees C | ok | na | 0.000 | 5.000 | 75.000 | 80.000 | na DIMM_P0_C1 | na | degrees C | na | na | 0.000 | 5.000 | 75.000 | 80.000 | na DIMM_P0_D0 | 40.000 | degrees C | ok | na | 0.000 | 5.000 | 75.000 | 80.000 | na DIMM_P0_D1 | na | degrees C | na | na | 0.000 | 5.000 | 75.000 | 80.000 | na P12V | 12.064 | Volts | ok | na | 10.324 | 10.788 | 13.224 | 13.688 | na P5V | 5.037 | Volts | ok | na | 4.290 | 4.507 | 5.495 | 5.688 | na P3V3 | 3.302 | Volts | ok | na | 2.828 | 2.970 | 3.618 | 3.760 | na P5V_STBY | 5.061 | Volts | ok | na | 4.290 | 4.507 | 5.495 | 5.688 | na P_VBAT | 3.074 | Volts | ok | na | 2.581 | 2.697 | na | na | na P_VCCP | 0.980 | Volts | ok | na | 0.421 | 0.451 | 1.431 | 1.509 | na P_1V2_HUB | 1.205 | Volts | ok | na | 1.029 | 1.078 | 1.323 | 1.372 | na P_VDDQ_AB | 1.499 | Volts | ok | na | 1.284 | 1.343 | 1.656 | 1.715 | na P_VDDQ_CD | 1.509 | Volts | ok | na | 1.284 | 1.343 | 1.656 | 1.715 | na P_0V9_VDD | 0.960 | Volts | ok | na | 0.774 | 0.813 | 0.990 | 1.029 | na P_1V5_VDD | 1.509 | Volts | ok | na | 1.284 | 1.352 | 1.646 | 1.705 | na P_2V5_VDD | 2.517 | Volts | ok | na | 2.154 | 2.251 | 2.747 | 2.856 | na P_1V8_VDD | 1.813 | Volts | ok | na | 1.548 | 1.627 | 1.980 | 2.048 | na CPU0_FAN | 6100.000 | RPM | ok | na | 600.000 | 800.000 | na | na | na SYS_FAN1 | 900.000 | RPM | ok | na | 600.000 | 800.000 | na | na | na SYS_FAN2 | 1400.000 | RPM | ok | na | 600.000 | 800.000 | na | na | na SYS_FAN3 | na | RPM | na | na | 600.000 | 800.000 | na | na | na SYS_FAN4 | na | RPM | na | na | 600.000 | 800.000 | na | na | na CPU0 | 0x0 | discrete | 0x8080| na | na | na | na | na | na MB_TEMP1 | 39.000 | degrees C | ok | na | 0.000 | 5.000 | 55.000 | 60.000 | na MB_TEMP2 | 34.000 | degrees C | ok | na | 0.000 | 5.000 | 55.000 | 60.000 | na MB_TEMP3 | 29.000 | degrees C | ok | na | 0.000 | 5.000 | 55.000 | 60.000 | na SEL | 0x0 | discrete | 0x0080| na | na | na | na | na | na
There is one obvious error in the output: DIMM_P0_A0 | na | degrees C | na | na | 0.000 | 5.000 | 75.000 | 80.000 | na
There is a DIMM definitely in that slot, but it doesn't have a temperature reading. It's the exact same part and batch as the other 3, so I'd expect there to be a number there. Firmware bug?
And to answer my own question, yes, it's a firmware bug. Updating the BMC firmware downloadable from the Gigabyte site to 3.56 (board shipped with 3.14) fixes the sensor reading on DIMM_P0_A0.
Gordan
On 2016-03-01 22:32, Michael Howard wrote:
On 01/03/2016 22:26, Richard W.M. Jones wrote:
On Mon, Feb 29, 2016 at 03:20:03PM +0000, Michael Howard wrote:
Just to let you know, I can't get this to work. aarch64 is supposed to be binary compatible, with the correct libraries installed, but I'm thinking the cpu isn't.
All I get is 'cannot execute binary file: Exec format error', regardless of what I try.
As I understand it the problem is page size - 64K was chosen by Red Hat for aarch64, where as 4K is the norm on armv7.
Anyway, you can run a 32 bit VM and it works well -- in fact a lot faster than regular 32 bit armv7 hardware.
Yes, with CONFIG_ARM64_4K_PAGES=y and CONFIG_COMPAT=y, 32 bit binaries run fine.
I built a kernel with these options enabled, but chrooting into an armv5tel subtree segfaults immediately. :-(
# grep -E "CONFIG_COMPAT=|CONFIG_ARM64_4K_PAGES=" /boot/config-4.4.5 CONFIG_ARM64_4K_PAGES=y CONFIG_COMPAT=y
# chroot /orcone/docker/rsel6/ Segmentation fault
The chroot is armv5tel soft-float, which I think should work. Oddly, I see no mention of a segfault in dmesg or in /var/log/messages on the host...
# strace chroot /orcone/docker/media/ execve("/sbin/chroot", ["chroot", "/orcone/docker/media/"], [/* 18 vars */]) = 0 brk(0) = 0x153eb000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f98108000 faccessat(AT_FDCWD, "/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=23876, ...}) = 0 mmap(NULL, 23876, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f98102000 close(3) = 0 openat(AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\270\r\2\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1801536, ...}) = 0 mmap(NULL, 1528796, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f97f66000 mprotect(0x7f980c2000, 65536, PROT_NONE) = 0 mmap(0x7f980d2000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15c000) = 0x7f980d2000 mmap(0x7f980d8000, 13276, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f980d8000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f98101000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f98100000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f980ff000 mprotect(0x7f980d2000, 16384, PROT_READ) = 0 mprotect(0x41f000, 4096, PROT_READ) = 0 mprotect(0x7f9810b000, 4096, PROT_READ) = 0 munmap(0x7f98102000, 23876) = 0 brk(0) = 0x153eb000 brk(0x1540c000) = 0x1540c000 brk(0) = 0x1540c000 openat(AT_FDCWD, "/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=109669264, ...}) = 0 mmap(NULL, 109669264, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f916cf000 close(3) = 0 chroot("/orcone/docker/media/") = 0 chdir("/") = 0 execve("/bin/bash", ["/bin/bash", "-i"], [/* 18 vars */]) = -1053305918634065933 --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=0} --- +++ killed by SIGSEGV +++ Segmentation fault
What am I doing differently?
On 2016-03-14 15:00, Gordan Bobic wrote:
On 2016-03-01 22:32, Michael Howard wrote:
On 01/03/2016 22:26, Richard W.M. Jones wrote:
On Mon, Feb 29, 2016 at 03:20:03PM +0000, Michael Howard wrote:
Just to let you know, I can't get this to work. aarch64 is supposed to be binary compatible, with the correct libraries installed, but I'm thinking the cpu isn't.
All I get is 'cannot execute binary file: Exec format error', regardless of what I try.
As I understand it the problem is page size - 64K was chosen by Red Hat for aarch64, where as 4K is the norm on armv7.
Anyway, you can run a 32 bit VM and it works well -- in fact a lot faster than regular 32 bit armv7 hardware.
Yes, with CONFIG_ARM64_4K_PAGES=y and CONFIG_COMPAT=y, 32 bit binaries run fine.
I built a kernel with these options enabled, but chrooting into an armv5tel subtree segfaults immediately. :-(
# grep -E "CONFIG_COMPAT=|CONFIG_ARM64_4K_PAGES=" /boot/config-4.4.5 CONFIG_ARM64_4K_PAGES=y CONFIG_COMPAT=y
# chroot /orcone/docker/rsel6/ Segmentation fault
The chroot is armv5tel soft-float, which I think should work. Oddly, I see no mention of a segfault in dmesg or in /var/log/messages on the host...
# strace chroot /orcone/docker/media/ execve("/sbin/chroot", ["chroot", "/orcone/docker/media/"], [/* 18 vars */]) = 0 brk(0) = 0x153eb000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f98108000 faccessat(AT_FDCWD, "/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=23876, ...}) = 0 mmap(NULL, 23876, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f98102000 close(3) = 0 openat(AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\270\r\2\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1801536, ...}) = 0 mmap(NULL, 1528796, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f97f66000 mprotect(0x7f980c2000, 65536, PROT_NONE) = 0 mmap(0x7f980d2000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15c000) = 0x7f980d2000 mmap(0x7f980d8000, 13276, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f980d8000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f98101000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f98100000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f980ff000 mprotect(0x7f980d2000, 16384, PROT_READ) = 0 mprotect(0x41f000, 4096, PROT_READ) = 0 mprotect(0x7f9810b000, 4096, PROT_READ) = 0 munmap(0x7f98102000, 23876) = 0 brk(0) = 0x153eb000 brk(0x1540c000) = 0x1540c000 brk(0) = 0x1540c000 openat(AT_FDCWD, "/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=109669264, ...}) = 0 mmap(NULL, 109669264, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f916cf000 close(3) = 0 chroot("/orcone/docker/media/") = 0 chdir("/") = 0 execve("/bin/bash", ["/bin/bash", "-i"], [/* 18 vars */]) = -1053305918634065933 --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=0} --- +++ killed by SIGSEGV +++ Segmentation fault
What am I doing differently?
Just to make sure we are as much on the same page as possible, here is the minimal chroot I am trying: http://ftp.redsleeve.org/pub/el6-staging/rootfs/rsel6-minimal.tar.xz
Built from the latest RedSleeve 6 binaries using: yum --installroot=/some/path install @core
Can you extract that into an empty folder and chroot into it from your aarch64 CentOS 7 install? Does it work for you or does it segfault?
If it works for you, any chance you could post your kernel config somewhere? It's the only thing I can think of that could plausibly be causeing the discrepancy (I am on 4.4.5 and IIRC you were on 4.5rc).
Gordan
On 14/03/2016 16:56, Gordan Bobic wrote:
On 2016-03-14 15:00, Gordan Bobic wrote:
On 2016-03-01 22:32, Michael Howard wrote:
On 01/03/2016 22:26, Richard W.M. Jones wrote:
On Mon, Feb 29, 2016 at 03:20:03PM +0000, Michael Howard wrote:
Just to let you know, I can't get this to work. aarch64 is supposed to be binary compatible, with the correct libraries installed, but I'm thinking the cpu isn't.
All I get is 'cannot execute binary file: Exec format error', regardless of what I try.
As I understand it the problem is page size - 64K was chosen by Red Hat for aarch64, where as 4K is the norm on armv7.
Anyway, you can run a 32 bit VM and it works well -- in fact a lot faster than regular 32 bit armv7 hardware.
Yes, with CONFIG_ARM64_4K_PAGES=y and CONFIG_COMPAT=y, 32 bit binaries run fine.
I built a kernel with these options enabled, but chrooting into an armv5tel subtree segfaults immediately. :-(
# grep -E "CONFIG_COMPAT=|CONFIG_ARM64_4K_PAGES=" /boot/config-4.4.5 CONFIG_ARM64_4K_PAGES=y CONFIG_COMPAT=y
# chroot /orcone/docker/rsel6/ Segmentation fault
The chroot is armv5tel soft-float, which I think should work. Oddly, I see no mention of a segfault in dmesg or in /var/log/messages on the host...
# strace chroot /orcone/docker/media/ execve("/sbin/chroot", ["chroot", "/orcone/docker/media/"], [/* 18 vars */]) = 0 brk(0) = 0x153eb000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f98108000 faccessat(AT_FDCWD, "/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=23876, ...}) = 0 mmap(NULL, 23876, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f98102000 close(3) = 0 openat(AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\270\r\2\0\0\0\0\0"...,
- = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1801536, ...}) = 0 mmap(NULL, 1528796, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f97f66000 mprotect(0x7f980c2000, 65536, PROT_NONE) = 0 mmap(0x7f980d2000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15c000) = 0x7f980d2000 mmap(0x7f980d8000, 13276, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f980d8000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f98101000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f98100000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f980ff000 mprotect(0x7f980d2000, 16384, PROT_READ) = 0 mprotect(0x41f000, 4096, PROT_READ) = 0 mprotect(0x7f9810b000, 4096, PROT_READ) = 0 munmap(0x7f98102000, 23876) = 0 brk(0) = 0x153eb000 brk(0x1540c000) = 0x1540c000 brk(0) = 0x1540c000 openat(AT_FDCWD, "/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=109669264, ...}) = 0 mmap(NULL, 109669264, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f916cf000 close(3) = 0 chroot("/orcone/docker/media/") = 0 chdir("/") = 0 execve("/bin/bash", ["/bin/bash", "-i"], [/* 18 vars */]) = -1053305918634065933 --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=0} --- +++ killed by SIGSEGV +++ Segmentation fault
What am I doing differently?
Just to make sure we are as much on the same page as possible, here is the minimal chroot I am trying: http://ftp.redsleeve.org/pub/el6-staging/rootfs/rsel6-minimal.tar.xz
Built from the latest RedSleeve 6 binaries using: yum --installroot=/some/path install @core
Can you extract that into an empty folder and chroot into it from your aarch64 CentOS 7 install? Does it work for you or does it segfault?
If it works for you, any chance you could post your kernel config somewhere? It's the only thing I can think of that could plausibly be causeing the discrepancy (I am on 4.4.5 and IIRC you were on 4.5rc).
Downloading now but it will be a couple of hours before I can check it out.
On 2016-03-14 17:13, Michael Howard wrote:
On 14/03/2016 16:56, Gordan Bobic wrote:
On 2016-03-14 15:00, Gordan Bobic wrote:
On 2016-03-01 22:32, Michael Howard wrote:
On 01/03/2016 22:26, Richard W.M. Jones wrote:
On Mon, Feb 29, 2016 at 03:20:03PM +0000, Michael Howard wrote:
Just to let you know, I can't get this to work. aarch64 is supposed to be binary compatible, with the correct libraries installed, but I'm thinking the cpu isn't.
All I get is 'cannot execute binary file: Exec format error', regardless of what I try.
As I understand it the problem is page size - 64K was chosen by Red Hat for aarch64, where as 4K is the norm on armv7.
Anyway, you can run a 32 bit VM and it works well -- in fact a lot faster than regular 32 bit armv7 hardware.
Yes, with CONFIG_ARM64_4K_PAGES=y and CONFIG_COMPAT=y, 32 bit binaries run fine.
I built a kernel with these options enabled, but chrooting into an armv5tel subtree segfaults immediately. :-(
# grep -E "CONFIG_COMPAT=|CONFIG_ARM64_4K_PAGES=" /boot/config-4.4.5 CONFIG_ARM64_4K_PAGES=y CONFIG_COMPAT=y
# chroot /orcone/docker/rsel6/ Segmentation fault
The chroot is armv5tel soft-float, which I think should work. Oddly, I see no mention of a segfault in dmesg or in /var/log/messages on the host...
# strace chroot /orcone/docker/media/ execve("/sbin/chroot", ["chroot", "/orcone/docker/media/"], [/* 18 vars */]) = 0 brk(0) = 0x153eb000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f98108000 faccessat(AT_FDCWD, "/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=23876, ...}) = 0 mmap(NULL, 23876, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f98102000 close(3) = 0 openat(AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\270\r\2\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1801536, ...}) = 0 mmap(NULL, 1528796, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f97f66000 mprotect(0x7f980c2000, 65536, PROT_NONE) = 0 mmap(0x7f980d2000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15c000) = 0x7f980d2000 mmap(0x7f980d8000, 13276, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f980d8000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f98101000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f98100000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f980ff000 mprotect(0x7f980d2000, 16384, PROT_READ) = 0 mprotect(0x41f000, 4096, PROT_READ) = 0 mprotect(0x7f9810b000, 4096, PROT_READ) = 0 munmap(0x7f98102000, 23876) = 0 brk(0) = 0x153eb000 brk(0x1540c000) = 0x1540c000 brk(0) = 0x1540c000 openat(AT_FDCWD, "/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=109669264, ...}) = 0 mmap(NULL, 109669264, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f916cf000 close(3) = 0 chroot("/orcone/docker/media/") = 0 chdir("/") = 0 execve("/bin/bash", ["/bin/bash", "-i"], [/* 18 vars */]) = -1053305918634065933 --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=0} --- +++ killed by SIGSEGV +++ Segmentation fault
What am I doing differently?
Just to make sure we are as much on the same page as possible, here is the minimal chroot I am trying: http://ftp.redsleeve.org/pub/el6-staging/rootfs/rsel6-minimal.tar.xz
Built from the latest RedSleeve 6 binaries using: yum --installroot=/some/path install @core
Can you extract that into an empty folder and chroot into it from your aarch64 CentOS 7 install? Does it work for you or does it segfault?
If it works for you, any chance you could post your kernel config somewhere? It's the only thing I can think of that could plausibly be causeing the discrepancy (I am on 4.4.5 and IIRC you were on 4.5rc).
Downloading now but it will be a couple of hours before I can check it out.
Thanks, most appreciated. You may want to re-download, as I literally just replaced with tar ball with a more compressed version. If that happened during your download, what you get may end up being corrupted (check whether it matches the md5 checksum).
Gordan
On 14/03/2016 17:16, Gordan Bobic wrote:
On 2016-03-14 17:13, Michael Howard wrote:
On 14/03/2016 16:56, Gordan Bobic wrote:
On 2016-03-14 15:00, Gordan Bobic wrote:
On 2016-03-01 22:32, Michael Howard wrote:
On 01/03/2016 22:26, Richard W.M. Jones wrote:
On Mon, Feb 29, 2016 at 03:20:03PM +0000, Michael Howard wrote: > Just to let you know, I can't get this to work. aarch64 is supposed > to be binary compatible, with the correct libraries installed, but > I'm thinking the cpu isn't. > > All I get is 'cannot execute binary file: Exec format error', > regardless of what I try. As I understand it the problem is page size - 64K was chosen by Red Hat for aarch64, where as 4K is the norm on armv7.
Anyway, you can run a 32 bit VM and it works well -- in fact a lot faster than regular 32 bit armv7 hardware.
Yes, with CONFIG_ARM64_4K_PAGES=y and CONFIG_COMPAT=y, 32 bit binaries run fine.
I built a kernel with these options enabled, but chrooting into an armv5tel subtree segfaults immediately. :-(
# grep -E "CONFIG_COMPAT=|CONFIG_ARM64_4K_PAGES=" /boot/config-4.4.5 CONFIG_ARM64_4K_PAGES=y CONFIG_COMPAT=y
# chroot /orcone/docker/rsel6/ Segmentation fault
The chroot is armv5tel soft-float, which I think should work. Oddly, I see no mention of a segfault in dmesg or in /var/log/messages on the host...
# strace chroot /orcone/docker/media/ execve("/sbin/chroot", ["chroot", "/orcone/docker/media/"], [/* 18 vars */]) = 0 brk(0) = 0x153eb000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f98108000 faccessat(AT_FDCWD, "/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=23876, ...}) = 0 mmap(NULL, 23876, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f98102000 close(3) = 0 openat(AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\270\r\2\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1801536, ...}) = 0 mmap(NULL, 1528796, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f97f66000 mprotect(0x7f980c2000, 65536, PROT_NONE) = 0 mmap(0x7f980d2000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15c000) = 0x7f980d2000 mmap(0x7f980d8000, 13276, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f980d8000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f98101000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f98100000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f980ff000 mprotect(0x7f980d2000, 16384, PROT_READ) = 0 mprotect(0x41f000, 4096, PROT_READ) = 0 mprotect(0x7f9810b000, 4096, PROT_READ) = 0 munmap(0x7f98102000, 23876) = 0 brk(0) = 0x153eb000 brk(0x1540c000) = 0x1540c000 brk(0) = 0x1540c000 openat(AT_FDCWD, "/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=109669264, ...}) = 0 mmap(NULL, 109669264, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f916cf000 close(3) = 0 chroot("/orcone/docker/media/") = 0 chdir("/") = 0 execve("/bin/bash", ["/bin/bash", "-i"], [/* 18 vars */]) = -1053305918634065933 --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=0} --- +++ killed by SIGSEGV +++ Segmentation fault
What am I doing differently?
Just to make sure we are as much on the same page as possible, here is the minimal chroot I am trying: http://ftp.redsleeve.org/pub/el6-staging/rootfs/rsel6-minimal.tar.xz
Built from the latest RedSleeve 6 binaries using: yum --installroot=/some/path install @core
Can you extract that into an empty folder and chroot into it from your aarch64 CentOS 7 install? Does it work for you or does it segfault?
If it works for you, any chance you could post your kernel config somewhere? It's the only thing I can think of that could plausibly be causeing the discrepancy (I am on 4.4.5 and IIRC you were on 4.5rc).
Downloading now but it will be a couple of hours before I can check it out.
Thanks, most appreciated. You may want to re-download, as I literally just replaced with tar ball with a more compressed version. If that happened during your download, what you get may end up being corrupted (check whether it matches the md5 checksum).
I did re-download, just in case. It all works here as expected.
[root@mp30 ~]# chroot ~/CHROOT2 [root@mp30 ~]# echo "nameserver 192.168.1.2" > /etc/resolv.conf [root@mp30 /]# yum search linux base | 3.8 kB 00:00 updates | 3.0 kB 00:00 ============================== N/S Matched: linux ============================== libselinux.armv5tel : SELinux library and simple utilities libselinux-utils.armv5tel : SELinux libselinux utilies python-linux-procfs.noarch : Linux /proc abstraction classes selinux-policy.noarch : SELinux policy configuration selinux-policy-doc.noarch : SELinux policy documentation selinux-policy-minimum.noarch : SELinux minimum base policy selinux-policy-mls.noarch : SELinux mls base policy selinux- SELinux policy compiler epel-release.noarch : Extra Packages for Enterprise Linux repository : configuration filesystem.armv5tel : The basic directory layout for a Linux system iptables.armv5tel : Tools for managing Linux kernel packet filtering : capabilities libsemanage.armv5tel : SELinux binary policy manipulation library libsepol.armv5tel : SELinux binary policy manipulation library man-pages.noarch : Man (manual) pages from the Linux Documentation Project man-pages-cs.noarch : Czech man pages from the Linux Documentation Project man-pages-es.noarch : Spanish man pages from the Linux Documentation Project man-pages-fr.noarch : French version of the Linux man-pages man-pages-it.noarch : Italian man (manual) pages from the Linux Documentation : Project man-pages-pl.noarch : Polish man pages from the Linux Documentation Project man-pages-ru.noarch : Russian man pages from the Linux Documentation Project man-pages-uk.noarch : Ukrainian man pages from the Linux Documentation Project policycoreutils.armv5tel : SELinux policy core utilities redhat-bookmarks.noarch : Red Hat Enterprise Linux bookmarks redhat-indexhtml.noarch : Browser default start page for Red Hat Enterprise : Linux redsleeve-release.armv5tel : Red Sleeve Enterprise Linux release file rhel-guest-image-6.noarch : Red Hat Enterprise Linux Guest Images util-linux-ng.armv5tel : A collection of basic system utilities
Name and summary matches only, use "search all" for everything. [root@mp30 /]# exit [root@mp30 ~]#
On 2016-03-14 21:41, Michael Howard wrote:
On 14/03/2016 17:16, Gordan Bobic wrote:
On 2016-03-14 17:13, Michael Howard wrote:
On 14/03/2016 16:56, Gordan Bobic wrote:
On 2016-03-14 15:00, Gordan Bobic wrote:
On 2016-03-01 22:32, Michael Howard wrote:
On 01/03/2016 22:26, Richard W.M. Jones wrote: > On Mon, Feb 29, 2016 at 03:20:03PM +0000, Michael Howard wrote: >> Just to let you know, I can't get this to work. aarch64 is >> supposed >> to be binary compatible, with the correct libraries installed, >> but >> I'm thinking the cpu isn't. >> >> All I get is 'cannot execute binary file: Exec format error', >> regardless of what I try. > As I understand it the problem is page size - 64K was chosen by > Red Hat for aarch64, where as 4K is the norm on armv7. > > Anyway, you can run a 32 bit VM and it works well -- in fact a > lot > faster than regular 32 bit armv7 hardware. >
Yes, with CONFIG_ARM64_4K_PAGES=y and CONFIG_COMPAT=y, 32 bit binaries run fine.
I built a kernel with these options enabled, but chrooting into an armv5tel subtree segfaults immediately. :-(
# grep -E "CONFIG_COMPAT=|CONFIG_ARM64_4K_PAGES=" /boot/config-4.4.5 CONFIG_ARM64_4K_PAGES=y CONFIG_COMPAT=y
# chroot /orcone/docker/rsel6/ Segmentation fault
The chroot is armv5tel soft-float, which I think should work. Oddly, I see no mention of a segfault in dmesg or in /var/log/messages on the host...
# strace chroot /orcone/docker/media/ execve("/sbin/chroot", ["chroot", "/orcone/docker/media/"], [/* 18 vars */]) = 0 brk(0) = 0x153eb000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f98108000 faccessat(AT_FDCWD, "/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=23876, ...}) = 0 mmap(NULL, 23876, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f98102000 close(3) = 0 openat(AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\270\r\2\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1801536, ...}) = 0 mmap(NULL, 1528796, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f97f66000 mprotect(0x7f980c2000, 65536, PROT_NONE) = 0 mmap(0x7f980d2000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15c000) = 0x7f980d2000 mmap(0x7f980d8000, 13276, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f980d8000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f98101000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f98100000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f980ff000 mprotect(0x7f980d2000, 16384, PROT_READ) = 0 mprotect(0x41f000, 4096, PROT_READ) = 0 mprotect(0x7f9810b000, 4096, PROT_READ) = 0 munmap(0x7f98102000, 23876) = 0 brk(0) = 0x153eb000 brk(0x1540c000) = 0x1540c000 brk(0) = 0x1540c000 openat(AT_FDCWD, "/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=109669264, ...}) = 0 mmap(NULL, 109669264, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f916cf000 close(3) = 0 chroot("/orcone/docker/media/") = 0 chdir("/") = 0 execve("/bin/bash", ["/bin/bash", "-i"], [/* 18 vars */]) = -1053305918634065933 --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=0} --- +++ killed by SIGSEGV +++ Segmentation fault
What am I doing differently?
Just to make sure we are as much on the same page as possible, here is the minimal chroot I am trying: http://ftp.redsleeve.org/pub/el6-staging/rootfs/rsel6-minimal.tar.xz
Built from the latest RedSleeve 6 binaries using: yum --installroot=/some/path install @core
Can you extract that into an empty folder and chroot into it from your aarch64 CentOS 7 install? Does it work for you or does it segfault?
If it works for you, any chance you could post your kernel config somewhere? It's the only thing I can think of that could plausibly be causeing the discrepancy (I am on 4.4.5 and IIRC you were on 4.5rc).
Downloading now but it will be a couple of hours before I can check it out.
Thanks, most appreciated. You may want to re-download, as I literally just replaced with tar ball with a more compressed version. If that happened during your download, what you get may end up being corrupted (check whether it matches the md5 checksum).
I did re-download, just in case. It all works here as expected.
[root@mp30 ~]# chroot ~/CHROOT2 [root@mp30 ~]# echo "nameserver 192.168.1.2" > /etc/resolv.conf [root@mp30 /]# yum search linux base | 3.8 kB 00:00 updates | 3.0 kB 00:00 ============================== N/S Matched: linux ============================== libselinux.armv5tel : SELinux library and simple utilities libselinux-utils.armv5tel : SELinux libselinux utilies python-linux-procfs.noarch : Linux /proc abstraction classes selinux-policy.noarch : SELinux policy configuration selinux-policy-doc.noarch : SELinux policy documentation selinux-policy-minimum.noarch : SELinux minimum base policy selinux-policy-mls.noarch : SELinux mls base policy selinux- SELinux policy compiler epel-release.noarch : Extra Packages for Enterprise Linux repository : configuration filesystem.armv5tel : The basic directory layout for a Linux system iptables.armv5tel : Tools for managing Linux kernel packet filtering : capabilities libsemanage.armv5tel : SELinux binary policy manipulation library libsepol.armv5tel : SELinux binary policy manipulation library man-pages.noarch : Man (manual) pages from the Linux Documentation Project man-pages-cs.noarch : Czech man pages from the Linux Documentation Project man-pages-es.noarch : Spanish man pages from the Linux Documentation Project man-pages-fr.noarch : French version of the Linux man-pages man-pages-it.noarch : Italian man (manual) pages from the Linux Documentation : Project man-pages-pl.noarch : Polish man pages from the Linux Documentation Project man-pages-ru.noarch : Russian man pages from the Linux Documentation Project man-pages-uk.noarch : Ukrainian man pages from the Linux Documentation Project policycoreutils.armv5tel : SELinux policy core utilities redhat-bookmarks.noarch : Red Hat Enterprise Linux bookmarks redhat-indexhtml.noarch : Browser default start page for Red Hat Enterprise : Linux redsleeve-release.armv5tel : Red Sleeve Enterprise Linux release file rhel-guest-image-6.noarch : Red Hat Enterprise Linux Guest Images util-linux-ng.armv5tel : A collection of basic system utilities
Name and summary matches only, use "search all" for everything. [root@mp30 /]# exit [root@mp30 ~]#
That is most puzzling. Any chance you could please post your kernel config file (pastebin it or similar)? I'd like to try to build one exactly the same and see if I can get it working.
Many thanks.
Gordan
On 14/03/2016 21:47, Gordan Bobic wrote:
On 2016-03-14 21:41, Michael Howard wrote:
On 14/03/2016 17:16, Gordan Bobic wrote:
On 2016-03-14 17:13, Michael Howard wrote:
On 14/03/2016 16:56, Gordan Bobic wrote:
On 2016-03-14 15:00, Gordan Bobic wrote:
On 2016-03-01 22:32, Michael Howard wrote: > On 01/03/2016 22:26, Richard W.M. Jones wrote: >> On Mon, Feb 29, 2016 at 03:20:03PM +0000, Michael Howard wrote: >>> Just to let you know, I can't get this to work. aarch64 is >>> supposed >>> to be binary compatible, with the correct libraries installed, >>> but >>> I'm thinking the cpu isn't. >>> >>> All I get is 'cannot execute binary file: Exec format error', >>> regardless of what I try. >> As I understand it the problem is page size - 64K was chosen by >> Red Hat for aarch64, where as 4K is the norm on armv7. >> >> Anyway, you can run a 32 bit VM and it works well -- in fact a lot >> faster than regular 32 bit armv7 hardware. >> > > Yes, with CONFIG_ARM64_4K_PAGES=y and CONFIG_COMPAT=y, 32 bit > binaries run fine.
I built a kernel with these options enabled, but chrooting into an armv5tel subtree segfaults immediately. :-(
# grep -E "CONFIG_COMPAT=|CONFIG_ARM64_4K_PAGES=" /boot/config-4.4.5 CONFIG_ARM64_4K_PAGES=y CONFIG_COMPAT=y
# chroot /orcone/docker/rsel6/ Segmentation fault
The chroot is armv5tel soft-float, which I think should work. Oddly, I see no mention of a segfault in dmesg or in /var/log/messages on the host...
# strace chroot /orcone/docker/media/ execve("/sbin/chroot", ["chroot", "/orcone/docker/media/"], [/* 18 vars */]) = 0 brk(0) = 0x153eb000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f98108000 faccessat(AT_FDCWD, "/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=23876, ...}) = 0 mmap(NULL, 23876, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f98102000 close(3) = 0 openat(AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\270\r\2\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1801536, ...}) = 0 mmap(NULL, 1528796, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f97f66000 mprotect(0x7f980c2000, 65536, PROT_NONE) = 0 mmap(0x7f980d2000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15c000) = 0x7f980d2000 mmap(0x7f980d8000, 13276, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f980d8000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f98101000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f98100000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f980ff000 mprotect(0x7f980d2000, 16384, PROT_READ) = 0 mprotect(0x41f000, 4096, PROT_READ) = 0 mprotect(0x7f9810b000, 4096, PROT_READ) = 0 munmap(0x7f98102000, 23876) = 0 brk(0) = 0x153eb000 brk(0x1540c000) = 0x1540c000 brk(0) = 0x1540c000 openat(AT_FDCWD, "/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=109669264, ...}) = 0 mmap(NULL, 109669264, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f916cf000 close(3) = 0 chroot("/orcone/docker/media/") = 0 chdir("/") = 0 execve("/bin/bash", ["/bin/bash", "-i"], [/* 18 vars */]) = -1053305918634065933 --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=0} --- +++ killed by SIGSEGV +++ Segmentation fault
What am I doing differently?
Just to make sure we are as much on the same page as possible, here is the minimal chroot I am trying: http://ftp.redsleeve.org/pub/el6-staging/rootfs/rsel6-minimal.tar.xz
Built from the latest RedSleeve 6 binaries using: yum --installroot=/some/path install @core
Can you extract that into an empty folder and chroot into it from your aarch64 CentOS 7 install? Does it work for you or does it segfault?
If it works for you, any chance you could post your kernel config somewhere? It's the only thing I can think of that could plausibly be causeing the discrepancy (I am on 4.4.5 and IIRC you were on 4.5rc).
Downloading now but it will be a couple of hours before I can check it out.
Thanks, most appreciated. You may want to re-download, as I literally just replaced with tar ball with a more compressed version. If that happened during your download, what you get may end up being corrupted (check whether it matches the md5 checksum).
I did re-download, just in case. It all works here as expected.
[root@mp30 ~]# chroot ~/CHROOT2 [root@mp30 ~]# echo "nameserver 192.168.1.2" > /etc/resolv.conf [root@mp30 /]# yum search linux base | 3.8 kB 00:00 updates | 3.0 kB 00:00 ============================== N/S Matched: linux ============================== libselinux.armv5tel : SELinux library and simple utilities libselinux-utils.armv5tel : SELinux libselinux utilies python-linux-procfs.noarch : Linux /proc abstraction classes selinux-policy.noarch : SELinux policy configuration selinux-policy-doc.noarch : SELinux policy documentation selinux-policy-minimum.noarch : SELinux minimum base policy selinux-policy-mls.noarch : SELinux mls base policy selinux- SELinux policy compiler epel-release.noarch : Extra Packages for Enterprise Linux repository : configuration filesystem.armv5tel : The basic directory layout for a Linux system iptables.armv5tel : Tools for managing Linux kernel packet filtering : capabilities libsemanage.armv5tel : SELinux binary policy manipulation library libsepol.armv5tel : SELinux binary policy manipulation library man-pages.noarch : Man (manual) pages from the Linux Documentation Project man-pages-cs.noarch : Czech man pages from the Linux Documentation Project man-pages-es.noarch : Spanish man pages from the Linux Documentation Project man-pages-fr.noarch : French version of the Linux man-pages man-pages-it.noarch : Italian man (manual) pages from the Linux Documentation : Project man-pages-pl.noarch : Polish man pages from the Linux Documentation Project man-pages-ru.noarch : Russian man pages from the Linux Documentation Project man-pages-uk.noarch : Ukrainian man pages from the Linux Documentation Project policycoreutils.armv5tel : SELinux policy core utilities redhat-bookmarks.noarch : Red Hat Enterprise Linux bookmarks redhat-indexhtml.noarch : Browser default start page for Red Hat Enterprise : Linux redsleeve-release.armv5tel : Red Sleeve Enterprise Linux release file rhel-guest-image-6.noarch : Red Hat Enterprise Linux Guest Images util-linux-ng.armv5tel : A collection of basic system utilities
Name and summary matches only, use "search all" for everything. [root@mp30 /]# exit [root@mp30 ~]#
That is most puzzling. Any chance you could please post your kernel config file (pastebin it or similar)? I'd like to try to build one exactly the same and see if I can get it working.
No problem;
If all else fails (don't see why it should) I can put up the binary and modules so you can triple check. I didn't build an RPM as I came across a packaging problem, an aarch64/UTS_MACHINE issue I believe and I had no idea how to solve it nor could I spend any real time investigating it.
On 2016-03-14 22:14, Michael Howard wrote:
On 14/03/2016 21:47, Gordan Bobic wrote:
On 2016-03-14 21:41, Michael Howard wrote:
On 14/03/2016 17:16, Gordan Bobic wrote:
On 2016-03-14 17:13, Michael Howard wrote:
On 14/03/2016 16:56, Gordan Bobic wrote:
On 2016-03-14 15:00, Gordan Bobic wrote: > On 2016-03-01 22:32, Michael Howard wrote: >> On 01/03/2016 22:26, Richard W.M. Jones wrote: >>> On Mon, Feb 29, 2016 at 03:20:03PM +0000, Michael Howard wrote: >>>> Just to let you know, I can't get this to work. aarch64 is >>>> supposed >>>> to be binary compatible, with the correct libraries installed, >>>> but >>>> I'm thinking the cpu isn't. >>>> >>>> All I get is 'cannot execute binary file: Exec format error', >>>> regardless of what I try. >>> As I understand it the problem is page size - 64K was chosen by >>> Red Hat for aarch64, where as 4K is the norm on armv7. >>> >>> Anyway, you can run a 32 bit VM and it works well -- in fact a >>> lot >>> faster than regular 32 bit armv7 hardware. >>> >> >> Yes, with CONFIG_ARM64_4K_PAGES=y and CONFIG_COMPAT=y, 32 bit >> binaries run fine. > > I built a kernel with these options enabled, but chrooting into > an > armv5tel subtree segfaults immediately. :-( > > # grep -E "CONFIG_COMPAT=|CONFIG_ARM64_4K_PAGES=" > /boot/config-4.4.5 > CONFIG_ARM64_4K_PAGES=y > CONFIG_COMPAT=y > > # chroot /orcone/docker/rsel6/ > Segmentation fault > > The chroot is armv5tel soft-float, which I think should work. > Oddly, I see no mention of a segfault in dmesg or in > /var/log/messages > on the host... > > # strace chroot /orcone/docker/media/ > execve("/sbin/chroot", ["chroot", "/orcone/docker/media/"], [/* > 18 vars */]) = 0 > brk(0) = 0x153eb000 > mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, > -1, > 0) = 0x7f98108000 > faccessat(AT_FDCWD, "/etc/ld.so.preload", R_OK) = -1 ENOENT (No > such > file or directory) > openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 > fstat(3, {st_mode=S_IFREG|0644, st_size=23876, ...}) = 0 > mmap(NULL, 23876, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f98102000 > close(3) = 0 > openat(AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 > read(3, > "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\270\r\2\0\0\0\0\0"..., > 832) = 832 > fstat(3, {st_mode=S_IFREG|0755, st_size=1801536, ...}) = 0 > mmap(NULL, 1528796, PROT_READ|PROT_EXEC, > MAP_PRIVATE|MAP_DENYWRITE, 3, > 0) = 0x7f97f66000 > mprotect(0x7f980c2000, 65536, PROT_NONE) = 0 > mmap(0x7f980d2000, 24576, PROT_READ|PROT_WRITE, > MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15c000) = 0x7f980d2000 > mmap(0x7f980d8000, 13276, PROT_READ|PROT_WRITE, > MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f980d8000 > close(3) = 0 > mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, > -1, > 0) = 0x7f98101000 > mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, > -1, > 0) = 0x7f98100000 > mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, > -1, > 0) = 0x7f980ff000 > mprotect(0x7f980d2000, 16384, PROT_READ) = 0 > mprotect(0x41f000, 4096, PROT_READ) = 0 > mprotect(0x7f9810b000, 4096, PROT_READ) = 0 > munmap(0x7f98102000, 23876) = 0 > brk(0) = 0x153eb000 > brk(0x1540c000) = 0x1540c000 > brk(0) = 0x1540c000 > openat(AT_FDCWD, "/usr/lib/locale/locale-archive", > O_RDONLY|O_CLOEXEC) = 3 > fstat(3, {st_mode=S_IFREG|0644, st_size=109669264, ...}) = 0 > mmap(NULL, 109669264, PROT_READ, MAP_PRIVATE, 3, 0) = > 0x7f916cf000 > close(3) = 0 > chroot("/orcone/docker/media/") = 0 > chdir("/") = 0 > execve("/bin/bash", ["/bin/bash", "-i"], [/* 18 vars */]) = > -1053305918634065933 > --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=0} --- > +++ killed by SIGSEGV +++ > Segmentation fault > > > What am I doing differently?
Just to make sure we are as much on the same page as possible, here is the minimal chroot I am trying: http://ftp.redsleeve.org/pub/el6-staging/rootfs/rsel6-minimal.tar.xz
Built from the latest RedSleeve 6 binaries using: yum --installroot=/some/path install @core
Can you extract that into an empty folder and chroot into it from your aarch64 CentOS 7 install? Does it work for you or does it segfault?
If it works for you, any chance you could post your kernel config somewhere? It's the only thing I can think of that could plausibly be causeing the discrepancy (I am on 4.4.5 and IIRC you were on 4.5rc).
Downloading now but it will be a couple of hours before I can check it out.
Thanks, most appreciated. You may want to re-download, as I literally just replaced with tar ball with a more compressed version. If that happened during your download, what you get may end up being corrupted (check whether it matches the md5 checksum).
I did re-download, just in case. It all works here as expected.
[root@mp30 ~]# chroot ~/CHROOT2 [root@mp30 ~]# echo "nameserver 192.168.1.2" > /etc/resolv.conf [root@mp30 /]# yum search linux base | 3.8 kB 00:00 updates | 3.0 kB 00:00 ============================== N/S Matched: linux ============================== libselinux.armv5tel : SELinux library and simple utilities libselinux-utils.armv5tel : SELinux libselinux utilies python-linux-procfs.noarch : Linux /proc abstraction classes selinux-policy.noarch : SELinux policy configuration selinux-policy-doc.noarch : SELinux policy documentation selinux-policy-minimum.noarch : SELinux minimum base policy selinux-policy-mls.noarch : SELinux mls base policy selinux- SELinux policy compiler epel-release.noarch : Extra Packages for Enterprise Linux repository : configuration filesystem.armv5tel : The basic directory layout for a Linux system iptables.armv5tel : Tools for managing Linux kernel packet filtering : capabilities libsemanage.armv5tel : SELinux binary policy manipulation library libsepol.armv5tel : SELinux binary policy manipulation library man-pages.noarch : Man (manual) pages from the Linux Documentation Project man-pages-cs.noarch : Czech man pages from the Linux Documentation Project man-pages-es.noarch : Spanish man pages from the Linux Documentation Project man-pages-fr.noarch : French version of the Linux man-pages man-pages-it.noarch : Italian man (manual) pages from the Linux Documentation : Project man-pages-pl.noarch : Polish man pages from the Linux Documentation Project man-pages-ru.noarch : Russian man pages from the Linux Documentation Project man-pages-uk.noarch : Ukrainian man pages from the Linux Documentation Project policycoreutils.armv5tel : SELinux policy core utilities redhat-bookmarks.noarch : Red Hat Enterprise Linux bookmarks redhat-indexhtml.noarch : Browser default start page for Red Hat Enterprise : Linux redsleeve-release.armv5tel : Red Sleeve Enterprise Linux release file rhel-guest-image-6.noarch : Red Hat Enterprise Linux Guest Images util-linux-ng.armv5tel : A collection of basic system utilities
Name and summary matches only, use "search all" for everything. [root@mp30 /]# exit [root@mp30 ~]#
That is most puzzling. Any chance you could please post your kernel config file (pastebin it or similar)? I'd like to try to build one exactly the same and see if I can get it working.
No problem;
If all else fails (don't see why it should) I can put up the binary and modules so you can triple check. I didn't build an RPM as I came across a packaging problem, an aarch64/UTS_MACHINE issue I believe and I had no idea how to solve it nor could I spend any real time investigating it.
Thanks for this. I'm building a new kernel with your config now. Hoping to report success in the morning. :)
Gordan
On 2016-03-14 22:25, Gordan Bobic wrote:
On 2016-03-14 22:14, Michael Howard wrote:
On 14/03/2016 21:47, Gordan Bobic wrote:
On 2016-03-14 21:41, Michael Howard wrote:
On 14/03/2016 17:16, Gordan Bobic wrote:
On 2016-03-14 17:13, Michael Howard wrote:
On 14/03/2016 16:56, Gordan Bobic wrote: > On 2016-03-14 15:00, Gordan Bobic wrote: >> On 2016-03-01 22:32, Michael Howard wrote: >>> On 01/03/2016 22:26, Richard W.M. Jones wrote: >>>> On Mon, Feb 29, 2016 at 03:20:03PM +0000, Michael Howard >>>> wrote: >>>>> Just to let you know, I can't get this to work. aarch64 is >>>>> supposed >>>>> to be binary compatible, with the correct libraries >>>>> installed, but >>>>> I'm thinking the cpu isn't. >>>>> >>>>> All I get is 'cannot execute binary file: Exec format error', >>>>> regardless of what I try. >>>> As I understand it the problem is page size - 64K was chosen >>>> by >>>> Red Hat for aarch64, where as 4K is the norm on armv7. >>>> >>>> Anyway, you can run a 32 bit VM and it works well -- in fact a >>>> lot >>>> faster than regular 32 bit armv7 hardware. >>>> >>> >>> Yes, with CONFIG_ARM64_4K_PAGES=y and CONFIG_COMPAT=y, 32 bit >>> binaries run fine. >> >> I built a kernel with these options enabled, but chrooting into >> an >> armv5tel subtree segfaults immediately. :-( >> >> # grep -E "CONFIG_COMPAT=|CONFIG_ARM64_4K_PAGES=" >> /boot/config-4.4.5 >> CONFIG_ARM64_4K_PAGES=y >> CONFIG_COMPAT=y >> >> # chroot /orcone/docker/rsel6/ >> Segmentation fault >> >> The chroot is armv5tel soft-float, which I think should work. >> Oddly, I see no mention of a segfault in dmesg or in >> /var/log/messages >> on the host... >> >> # strace chroot /orcone/docker/media/ >> execve("/sbin/chroot", ["chroot", "/orcone/docker/media/"], [/* >> 18 vars */]) = 0 >> brk(0) = 0x153eb000 >> mmap(NULL, 4096, PROT_READ|PROT_WRITE, >> MAP_PRIVATE|MAP_ANONYMOUS, -1, >> 0) = 0x7f98108000 >> faccessat(AT_FDCWD, "/etc/ld.so.preload", R_OK) = -1 ENOENT (No >> such >> file or directory) >> openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 >> fstat(3, {st_mode=S_IFREG|0644, st_size=23876, ...}) = 0 >> mmap(NULL, 23876, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f98102000 >> close(3) = 0 >> openat(AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 >> read(3, >> "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\270\r\2\0\0\0\0\0"..., >> 832) = 832 >> fstat(3, {st_mode=S_IFREG|0755, st_size=1801536, ...}) = 0 >> mmap(NULL, 1528796, PROT_READ|PROT_EXEC, >> MAP_PRIVATE|MAP_DENYWRITE, 3, >> 0) = 0x7f97f66000 >> mprotect(0x7f980c2000, 65536, PROT_NONE) = 0 >> mmap(0x7f980d2000, 24576, PROT_READ|PROT_WRITE, >> MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15c000) = 0x7f980d2000 >> mmap(0x7f980d8000, 13276, PROT_READ|PROT_WRITE, >> MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f980d8000 >> close(3) = 0 >> mmap(NULL, 4096, PROT_READ|PROT_WRITE, >> MAP_PRIVATE|MAP_ANONYMOUS, -1, >> 0) = 0x7f98101000 >> mmap(NULL, 4096, PROT_READ|PROT_WRITE, >> MAP_PRIVATE|MAP_ANONYMOUS, -1, >> 0) = 0x7f98100000 >> mmap(NULL, 4096, PROT_READ|PROT_WRITE, >> MAP_PRIVATE|MAP_ANONYMOUS, -1, >> 0) = 0x7f980ff000 >> mprotect(0x7f980d2000, 16384, PROT_READ) = 0 >> mprotect(0x41f000, 4096, PROT_READ) = 0 >> mprotect(0x7f9810b000, 4096, PROT_READ) = 0 >> munmap(0x7f98102000, 23876) = 0 >> brk(0) = 0x153eb000 >> brk(0x1540c000) = 0x1540c000 >> brk(0) = 0x1540c000 >> openat(AT_FDCWD, "/usr/lib/locale/locale-archive", >> O_RDONLY|O_CLOEXEC) = 3 >> fstat(3, {st_mode=S_IFREG|0644, st_size=109669264, ...}) = 0 >> mmap(NULL, 109669264, PROT_READ, MAP_PRIVATE, 3, 0) = >> 0x7f916cf000 >> close(3) = 0 >> chroot("/orcone/docker/media/") = 0 >> chdir("/") = 0 >> execve("/bin/bash", ["/bin/bash", "-i"], [/* 18 vars */]) = >> -1053305918634065933 >> --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=0} --- >> +++ killed by SIGSEGV +++ >> Segmentation fault >> >> >> What am I doing differently? > > Just to make sure we are as much on the same page as possible, > here > is the minimal chroot I am trying: > http://ftp.redsleeve.org/pub/el6-staging/rootfs/rsel6-minimal.tar.xz > > Built from the latest RedSleeve 6 binaries using: > yum --installroot=/some/path install @core > > Can you extract that into an empty folder and chroot into it > from your aarch64 CentOS 7 install? Does it work for you or > does it segfault? > > If it works for you, any chance you could post your kernel > config somewhere? It's the only thing I can think of that > could plausibly be causeing the discrepancy (I am on 4.4.5 > and IIRC you were on 4.5rc).
Downloading now but it will be a couple of hours before I can check it out.
Thanks, most appreciated. You may want to re-download, as I literally just replaced with tar ball with a more compressed version. If that happened during your download, what you get may end up being corrupted (check whether it matches the md5 checksum).
I did re-download, just in case. It all works here as expected.
[root@mp30 ~]# chroot ~/CHROOT2 [root@mp30 ~]# echo "nameserver 192.168.1.2" > /etc/resolv.conf [root@mp30 /]# yum search linux base | 3.8 kB 00:00 updates | 3.0 kB 00:00 ============================== N/S Matched: linux ============================== libselinux.armv5tel : SELinux library and simple utilities libselinux-utils.armv5tel : SELinux libselinux utilies python-linux-procfs.noarch : Linux /proc abstraction classes selinux-policy.noarch : SELinux policy configuration selinux-policy-doc.noarch : SELinux policy documentation selinux-policy-minimum.noarch : SELinux minimum base policy selinux-policy-mls.noarch : SELinux mls base policy selinux- SELinux policy compiler epel-release.noarch : Extra Packages for Enterprise Linux repository : configuration filesystem.armv5tel : The basic directory layout for a Linux system iptables.armv5tel : Tools for managing Linux kernel packet filtering : capabilities libsemanage.armv5tel : SELinux binary policy manipulation library libsepol.armv5tel : SELinux binary policy manipulation library man-pages.noarch : Man (manual) pages from the Linux Documentation Project man-pages-cs.noarch : Czech man pages from the Linux Documentation Project man-pages-es.noarch : Spanish man pages from the Linux Documentation Project man-pages-fr.noarch : French version of the Linux man-pages man-pages-it.noarch : Italian man (manual) pages from the Linux Documentation : Project man-pages-pl.noarch : Polish man pages from the Linux Documentation Project man-pages-ru.noarch : Russian man pages from the Linux Documentation Project man-pages-uk.noarch : Ukrainian man pages from the Linux Documentation Project policycoreutils.armv5tel : SELinux policy core utilities redhat-bookmarks.noarch : Red Hat Enterprise Linux bookmarks redhat-indexhtml.noarch : Browser default start page for Red Hat Enterprise : Linux redsleeve-release.armv5tel : Red Sleeve Enterprise Linux release file rhel-guest-image-6.noarch : Red Hat Enterprise Linux Guest Images util-linux-ng.armv5tel : A collection of basic system utilities
Name and summary matches only, use "search all" for everything. [root@mp30 /]# exit [root@mp30 ~]#
That is most puzzling. Any chance you could please post your kernel config file (pastebin it or similar)? I'd like to try to build one exactly the same and see if I can get it working.
No problem;
If all else fails (don't see why it should) I can put up the binary and modules so you can triple check. I didn't build an RPM as I came across a packaging problem, an aarch64/UTS_MACHINE issue I believe and I had no idea how to solve it nor could I spend any real time investigating it.
Thanks for this. I'm building a new kernel with your config now. Hoping to report success in the morning. :)
I forgot how fast this thing builds the kernel. :) I'm happy to say that 4.5.0 release kernel works fine, and I can run chroots!
Thanks for your help Michael, I really appreciate it.
Now to see if I can make the same thing work with the LT 4.4.x kernel...
Gordan
On 2016-03-14 22:58, Gordan Bobic wrote:
On 2016-03-14 22:25, Gordan Bobic wrote:
On 2016-03-14 22:14, Michael Howard wrote:
On 14/03/2016 21:47, Gordan Bobic wrote:
On 2016-03-14 21:41, Michael Howard wrote:
On 14/03/2016 17:16, Gordan Bobic wrote:
On 2016-03-14 17:13, Michael Howard wrote: > On 14/03/2016 16:56, Gordan Bobic wrote: >> On 2016-03-14 15:00, Gordan Bobic wrote: >>> On 2016-03-01 22:32, Michael Howard wrote: >>>> On 01/03/2016 22:26, Richard W.M. Jones wrote: >>>>> On Mon, Feb 29, 2016 at 03:20:03PM +0000, Michael Howard >>>>> wrote: >>>>>> Just to let you know, I can't get this to work. aarch64 is >>>>>> supposed >>>>>> to be binary compatible, with the correct libraries >>>>>> installed, but >>>>>> I'm thinking the cpu isn't. >>>>>> >>>>>> All I get is 'cannot execute binary file: Exec format >>>>>> error', >>>>>> regardless of what I try. >>>>> As I understand it the problem is page size - 64K was chosen >>>>> by >>>>> Red Hat for aarch64, where as 4K is the norm on armv7. >>>>> >>>>> Anyway, you can run a 32 bit VM and it works well -- in fact >>>>> a lot >>>>> faster than regular 32 bit armv7 hardware. >>>>> >>>> >>>> Yes, with CONFIG_ARM64_4K_PAGES=y and CONFIG_COMPAT=y, 32 bit >>>> binaries run fine. >>> >>> I built a kernel with these options enabled, but chrooting into >>> an >>> armv5tel subtree segfaults immediately. :-( >>> >>> # grep -E "CONFIG_COMPAT=|CONFIG_ARM64_4K_PAGES=" >>> /boot/config-4.4.5 >>> CONFIG_ARM64_4K_PAGES=y >>> CONFIG_COMPAT=y >>> >>> # chroot /orcone/docker/rsel6/ >>> Segmentation fault >>> >>> The chroot is armv5tel soft-float, which I think should work. >>> Oddly, I see no mention of a segfault in dmesg or in >>> /var/log/messages >>> on the host... >>> >>> # strace chroot /orcone/docker/media/ >>> execve("/sbin/chroot", ["chroot", "/orcone/docker/media/"], [/* >>> 18 vars */]) = 0 >>> brk(0) = 0x153eb000 >>> mmap(NULL, 4096, PROT_READ|PROT_WRITE, >>> MAP_PRIVATE|MAP_ANONYMOUS, -1, >>> 0) = 0x7f98108000 >>> faccessat(AT_FDCWD, "/etc/ld.so.preload", R_OK) = -1 ENOENT (No >>> such >>> file or directory) >>> openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 >>> fstat(3, {st_mode=S_IFREG|0644, st_size=23876, ...}) = 0 >>> mmap(NULL, 23876, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f98102000 >>> close(3) = 0 >>> openat(AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 >>> read(3, >>> "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\270\r\2\0\0\0\0\0"..., >>> 832) = 832 >>> fstat(3, {st_mode=S_IFREG|0755, st_size=1801536, ...}) = 0 >>> mmap(NULL, 1528796, PROT_READ|PROT_EXEC, >>> MAP_PRIVATE|MAP_DENYWRITE, 3, >>> 0) = 0x7f97f66000 >>> mprotect(0x7f980c2000, 65536, PROT_NONE) = 0 >>> mmap(0x7f980d2000, 24576, PROT_READ|PROT_WRITE, >>> MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15c000) = >>> 0x7f980d2000 >>> mmap(0x7f980d8000, 13276, PROT_READ|PROT_WRITE, >>> MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f980d8000 >>> close(3) = 0 >>> mmap(NULL, 4096, PROT_READ|PROT_WRITE, >>> MAP_PRIVATE|MAP_ANONYMOUS, -1, >>> 0) = 0x7f98101000 >>> mmap(NULL, 4096, PROT_READ|PROT_WRITE, >>> MAP_PRIVATE|MAP_ANONYMOUS, -1, >>> 0) = 0x7f98100000 >>> mmap(NULL, 4096, PROT_READ|PROT_WRITE, >>> MAP_PRIVATE|MAP_ANONYMOUS, -1, >>> 0) = 0x7f980ff000 >>> mprotect(0x7f980d2000, 16384, PROT_READ) = 0 >>> mprotect(0x41f000, 4096, PROT_READ) = 0 >>> mprotect(0x7f9810b000, 4096, PROT_READ) = 0 >>> munmap(0x7f98102000, 23876) = 0 >>> brk(0) = 0x153eb000 >>> brk(0x1540c000) = 0x1540c000 >>> brk(0) = 0x1540c000 >>> openat(AT_FDCWD, "/usr/lib/locale/locale-archive", >>> O_RDONLY|O_CLOEXEC) = 3 >>> fstat(3, {st_mode=S_IFREG|0644, st_size=109669264, ...}) = 0 >>> mmap(NULL, 109669264, PROT_READ, MAP_PRIVATE, 3, 0) = >>> 0x7f916cf000 >>> close(3) = 0 >>> chroot("/orcone/docker/media/") = 0 >>> chdir("/") = 0 >>> execve("/bin/bash", ["/bin/bash", "-i"], [/* 18 vars */]) = >>> -1053305918634065933 >>> --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=0} >>> --- >>> +++ killed by SIGSEGV +++ >>> Segmentation fault >>> >>> >>> What am I doing differently? >> >> Just to make sure we are as much on the same page as possible, >> here >> is the minimal chroot I am trying: >> http://ftp.redsleeve.org/pub/el6-staging/rootfs/rsel6-minimal.tar.xz >> >> Built from the latest RedSleeve 6 binaries using: >> yum --installroot=/some/path install @core >> >> Can you extract that into an empty folder and chroot into it >> from your aarch64 CentOS 7 install? Does it work for you or >> does it segfault? >> >> If it works for you, any chance you could post your kernel >> config somewhere? It's the only thing I can think of that >> could plausibly be causeing the discrepancy (I am on 4.4.5 >> and IIRC you were on 4.5rc). > > Downloading now but it will be a couple of hours before I can > check it out.
Thanks, most appreciated. You may want to re-download, as I literally just replaced with tar ball with a more compressed version. If that happened during your download, what you get may end up being corrupted (check whether it matches the md5 checksum).
I did re-download, just in case. It all works here as expected.
[root@mp30 ~]# chroot ~/CHROOT2 [root@mp30 ~]# echo "nameserver 192.168.1.2" > /etc/resolv.conf [root@mp30 /]# yum search linux base | 3.8 kB 00:00 updates | 3.0 kB 00:00 ============================== N/S Matched: linux ============================== libselinux.armv5tel : SELinux library and simple utilities libselinux-utils.armv5tel : SELinux libselinux utilies python-linux-procfs.noarch : Linux /proc abstraction classes selinux-policy.noarch : SELinux policy configuration selinux-policy-doc.noarch : SELinux policy documentation selinux-policy-minimum.noarch : SELinux minimum base policy selinux-policy-mls.noarch : SELinux mls base policy selinux- SELinux policy compiler epel-release.noarch : Extra Packages for Enterprise Linux repository : configuration filesystem.armv5tel : The basic directory layout for a Linux system iptables.armv5tel : Tools for managing Linux kernel packet filtering : capabilities libsemanage.armv5tel : SELinux binary policy manipulation library libsepol.armv5tel : SELinux binary policy manipulation library man-pages.noarch : Man (manual) pages from the Linux Documentation Project man-pages-cs.noarch : Czech man pages from the Linux Documentation Project man-pages-es.noarch : Spanish man pages from the Linux Documentation Project man-pages-fr.noarch : French version of the Linux man-pages man-pages-it.noarch : Italian man (manual) pages from the Linux Documentation : Project man-pages-pl.noarch : Polish man pages from the Linux Documentation Project man-pages-ru.noarch : Russian man pages from the Linux Documentation Project man-pages-uk.noarch : Ukrainian man pages from the Linux Documentation Project policycoreutils.armv5tel : SELinux policy core utilities redhat-bookmarks.noarch : Red Hat Enterprise Linux bookmarks redhat-indexhtml.noarch : Browser default start page for Red Hat Enterprise : Linux redsleeve-release.armv5tel : Red Sleeve Enterprise Linux release file rhel-guest-image-6.noarch : Red Hat Enterprise Linux Guest Images util-linux-ng.armv5tel : A collection of basic system utilities
Name and summary matches only, use "search all" for everything. [root@mp30 /]# exit [root@mp30 ~]#
That is most puzzling. Any chance you could please post your kernel config file (pastebin it or similar)? I'd like to try to build one exactly the same and see if I can get it working.
No problem;
If all else fails (don't see why it should) I can put up the binary and modules so you can triple check. I didn't build an RPM as I came across a packaging problem, an aarch64/UTS_MACHINE issue I believe and I had no idea how to solve it nor could I spend any real time investigating it.
Thanks for this. I'm building a new kernel with your config now. Hoping to report success in the morning. :)
I forgot how fast this thing builds the kernel. :) I'm happy to say that 4.5.0 release kernel works fine, and I can run chroots!
Thanks for your help Michael, I really appreciate it.
Now to see if I can make the same thing work with the LT 4.4.x kernel...
Using that same config with 4.4.5 (make oldconfig, take all defaults) also works. There must have been an extra config option that I missed the first time around.
Gordan
On 14/03/2016 23:39, Gordan Bobic wrote:
On 2016-03-14 22:58, Gordan Bobic wrote:
On 2016-03-14 22:25, Gordan Bobic wrote:
On 2016-03-14 22:14, Michael Howard wrote:
On 14/03/2016 21:47, Gordan Bobic wrote:
On 2016-03-14 21:41, Michael Howard wrote:
On 14/03/2016 17:16, Gordan Bobic wrote: > On 2016-03-14 17:13, Michael Howard wrote: >> On 14/03/2016 16:56, Gordan Bobic wrote: >>> On 2016-03-14 15:00, Gordan Bobic wrote: >>>> On 2016-03-01 22:32, Michael Howard wrote: >>>>> On 01/03/2016 22:26, Richard W.M. Jones wrote: >>>>>> On Mon, Feb 29, 2016 at 03:20:03PM +0000, Michael Howard >>>>>> wrote: >>>>>>> Just to let you know, I can't get this to work. aarch64 is >>>>>>> supposed >>>>>>> to be binary compatible, with the correct libraries >>>>>>> installed, but >>>>>>> I'm thinking the cpu isn't. >>>>>>> >>>>>>> All I get is 'cannot execute binary file: Exec format error', >>>>>>> regardless of what I try. >>>>>> As I understand it the problem is page size - 64K was >>>>>> chosen by >>>>>> Red Hat for aarch64, where as 4K is the norm on armv7. >>>>>> >>>>>> Anyway, you can run a 32 bit VM and it works well -- in >>>>>> fact a lot >>>>>> faster than regular 32 bit armv7 hardware. >>>>>> >>>>> >>>>> Yes, with CONFIG_ARM64_4K_PAGES=y and CONFIG_COMPAT=y, 32 >>>>> bit binaries run fine. >>>> >>>> I built a kernel with these options enabled, but chrooting >>>> into an >>>> armv5tel subtree segfaults immediately. :-( >>>> >>>> # grep -E "CONFIG_COMPAT=|CONFIG_ARM64_4K_PAGES=" >>>> /boot/config-4.4.5 >>>> CONFIG_ARM64_4K_PAGES=y >>>> CONFIG_COMPAT=y >>>> >>>> # chroot /orcone/docker/rsel6/ >>>> Segmentation fault >>>> >>>> The chroot is armv5tel soft-float, which I think should work. >>>> Oddly, I see no mention of a segfault in dmesg or in >>>> /var/log/messages >>>> on the host... >>>> >>>> # strace chroot /orcone/docker/media/ >>>> execve("/sbin/chroot", ["chroot", "/orcone/docker/media/"], >>>> [/* 18 vars */]) = 0 >>>> brk(0) = 0x153eb000 >>>> mmap(NULL, 4096, PROT_READ|PROT_WRITE, >>>> MAP_PRIVATE|MAP_ANONYMOUS, -1, >>>> 0) = 0x7f98108000 >>>> faccessat(AT_FDCWD, "/etc/ld.so.preload", R_OK) = -1 ENOENT >>>> (No such >>>> file or directory) >>>> openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 >>>> fstat(3, {st_mode=S_IFREG|0644, st_size=23876, ...}) = 0 >>>> mmap(NULL, 23876, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f98102000 >>>> close(3) = 0 >>>> openat(AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 >>>> read(3, >>>> "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\267\0\1\0\0\0\270\r\2\0\0\0\0\0"..., >>>> 832) = 832 >>>> fstat(3, {st_mode=S_IFREG|0755, st_size=1801536, ...}) = 0 >>>> mmap(NULL, 1528796, PROT_READ|PROT_EXEC, >>>> MAP_PRIVATE|MAP_DENYWRITE, 3, >>>> 0) = 0x7f97f66000 >>>> mprotect(0x7f980c2000, 65536, PROT_NONE) = 0 >>>> mmap(0x7f980d2000, 24576, PROT_READ|PROT_WRITE, >>>> MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15c000) = 0x7f980d2000 >>>> mmap(0x7f980d8000, 13276, PROT_READ|PROT_WRITE, >>>> MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f980d8000 >>>> close(3) = 0 >>>> mmap(NULL, 4096, PROT_READ|PROT_WRITE, >>>> MAP_PRIVATE|MAP_ANONYMOUS, -1, >>>> 0) = 0x7f98101000 >>>> mmap(NULL, 4096, PROT_READ|PROT_WRITE, >>>> MAP_PRIVATE|MAP_ANONYMOUS, -1, >>>> 0) = 0x7f98100000 >>>> mmap(NULL, 4096, PROT_READ|PROT_WRITE, >>>> MAP_PRIVATE|MAP_ANONYMOUS, -1, >>>> 0) = 0x7f980ff000 >>>> mprotect(0x7f980d2000, 16384, PROT_READ) = 0 >>>> mprotect(0x41f000, 4096, PROT_READ) = 0 >>>> mprotect(0x7f9810b000, 4096, PROT_READ) = 0 >>>> munmap(0x7f98102000, 23876) = 0 >>>> brk(0) = 0x153eb000 >>>> brk(0x1540c000) = 0x1540c000 >>>> brk(0) = 0x1540c000 >>>> openat(AT_FDCWD, "/usr/lib/locale/locale-archive", >>>> O_RDONLY|O_CLOEXEC) = 3 >>>> fstat(3, {st_mode=S_IFREG|0644, st_size=109669264, ...}) = 0 >>>> mmap(NULL, 109669264, PROT_READ, MAP_PRIVATE, 3, 0) = >>>> 0x7f916cf000 >>>> close(3) = 0 >>>> chroot("/orcone/docker/media/") = 0 >>>> chdir("/") = 0 >>>> execve("/bin/bash", ["/bin/bash", "-i"], [/* 18 vars */]) = >>>> -1053305918634065933 >>>> --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=0} --- >>>> +++ killed by SIGSEGV +++ >>>> Segmentation fault >>>> >>>> >>>> What am I doing differently? >>> >>> Just to make sure we are as much on the same page as possible, >>> here >>> is the minimal chroot I am trying: >>> http://ftp.redsleeve.org/pub/el6-staging/rootfs/rsel6-minimal.tar.xz >>> >>> >>> Built from the latest RedSleeve 6 binaries using: >>> yum --installroot=/some/path install @core >>> >>> Can you extract that into an empty folder and chroot into it >>> from your aarch64 CentOS 7 install? Does it work for you or >>> does it segfault? >>> >>> If it works for you, any chance you could post your kernel >>> config somewhere? It's the only thing I can think of that >>> could plausibly be causeing the discrepancy (I am on 4.4.5 >>> and IIRC you were on 4.5rc). >> >> Downloading now but it will be a couple of hours before I can >> check it out. > > Thanks, most appreciated. You may want to re-download, as I > literally > just replaced with tar ball with a more compressed version. If > that happened > during your download, what you get may end up being corrupted > (check whether > it matches the md5 checksum).
I did re-download, just in case. It all works here as expected.
[root@mp30 ~]# chroot ~/CHROOT2 [root@mp30 ~]# echo "nameserver 192.168.1.2" > /etc/resolv.conf [root@mp30 /]# yum search linux base | 3.8 kB 00:00 updates | 3.0 kB 00:00 ============================== N/S Matched: linux ============================== libselinux.armv5tel : SELinux library and simple utilities libselinux-utils.armv5tel : SELinux libselinux utilies python-linux-procfs.noarch : Linux /proc abstraction classes selinux-policy.noarch : SELinux policy configuration selinux-policy-doc.noarch : SELinux policy documentation selinux-policy-minimum.noarch : SELinux minimum base policy selinux-policy-mls.noarch : SELinux mls base policy selinux- SELinux policy compiler epel-release.noarch : Extra Packages for Enterprise Linux repository : configuration filesystem.armv5tel : The basic directory layout for a Linux system iptables.armv5tel : Tools for managing Linux kernel packet filtering : capabilities libsemanage.armv5tel : SELinux binary policy manipulation library libsepol.armv5tel : SELinux binary policy manipulation library man-pages.noarch : Man (manual) pages from the Linux Documentation Project man-pages-cs.noarch : Czech man pages from the Linux Documentation Project man-pages-es.noarch : Spanish man pages from the Linux Documentation Project man-pages-fr.noarch : French version of the Linux man-pages man-pages-it.noarch : Italian man (manual) pages from the Linux Documentation : Project man-pages-pl.noarch : Polish man pages from the Linux Documentation Project man-pages-ru.noarch : Russian man pages from the Linux Documentation Project man-pages-uk.noarch : Ukrainian man pages from the Linux Documentation Project policycoreutils.armv5tel : SELinux policy core utilities redhat-bookmarks.noarch : Red Hat Enterprise Linux bookmarks redhat-indexhtml.noarch : Browser default start page for Red Hat Enterprise : Linux redsleeve-release.armv5tel : Red Sleeve Enterprise Linux release file rhel-guest-image-6.noarch : Red Hat Enterprise Linux Guest Images util-linux-ng.armv5tel : A collection of basic system utilities
Name and summary matches only, use "search all" for everything. [root@mp30 /]# exit [root@mp30 ~]#
That is most puzzling. Any chance you could please post your kernel config file (pastebin it or similar)? I'd like to try to build one exactly the same and see if I can get it working.
No problem;
If all else fails (don't see why it should) I can put up the binary and modules so you can triple check. I didn't build an RPM as I came across a packaging problem, an aarch64/UTS_MACHINE issue I believe and I had no idea how to solve it nor could I spend any real time investigating it.
Thanks for this. I'm building a new kernel with your config now. Hoping to report success in the morning. :)
I forgot how fast this thing builds the kernel. :) I'm happy to say that 4.5.0 release kernel works fine, and I can run chroots!
Thanks for your help Michael, I really appreciate it.
Now to see if I can make the same thing work with the LT 4.4.x kernel...
Using that same config with 4.4.5 (make oldconfig, take all defaults) also works. There must have been an extra config option that I missed the first time around.
Excellent.
On 2016-03-14 22:14, Michael Howard wrote:
I didn't build an RPM as I came across a packaging problem, an aarch64/UTS_MACHINE issue I believe and I had no idea how to solve it nor could I spend any real time investigating it.
I have put together some kernel rpms: http://ftp.redsleeve.org/pub/misc/aarch64/
On 17/03/2016 01:24, Gordan Bobic wrote:
On 2016-03-14 22:14, Michael Howard wrote:
I didn't build an RPM as I came across a packaging problem, an aarch64/UTS_MACHINE issue I believe and I had no idea how to solve it nor could I spend any real time investigating it.
I have put together some kernel rpms: http://ftp.redsleeve.org/pub/misc/aarch64/
Cool. Did you have any problems? make rpm-pkg failed for me at packaging stage, with an error something like;
|scripts/Makefile.fwinst:43: *** mixed implicit and static pattern rules. Stop. make[2]: *** [_modinst_post] Error 2|
On 2016-03-17 08:05, Michael Howard wrote:
On 17/03/2016 01:24, Gordan Bobic wrote:
On 2016-03-14 22:14, Michael Howard wrote:
I didn't build an RPM as I came across a packaging problem, an aarch64/UTS_MACHINE issue I believe and I had no idea how to solve it nor could I spend any real time investigating it.
I have put together some kernel rpms: http://ftp.redsleeve.org/pub/misc/aarch64/
Cool. Did you have any problems? make rpm-pkg failed for me at packaging stage, with an error something like;
scripts/Makefile.fwinst:43: *** mixed implicit and static pattern rules. Stop. make[2]: *** [_modinst_post] Error 2
Yes, I get the same error if I use kernel's built in rpm making support.
The src.rpm at the path above is derived from my modified x86-64 3.18.x LT kernel package, which is in turn derived from elrepo's mainline kernel .spec file.
Gordan
On 2016-03-17 08:13, Gordan Bobic wrote:
On 2016-03-17 08:05, Michael Howard wrote:
On 17/03/2016 01:24, Gordan Bobic wrote:
On 2016-03-14 22:14, Michael Howard wrote:
I didn't build an RPM as I came across a packaging problem, an aarch64/UTS_MACHINE issue I believe and I had no idea how to solve it nor could I spend any real time investigating it.
I have put together some kernel rpms: http://ftp.redsleeve.org/pub/misc/aarch64/
Cool. Did you have any problems? make rpm-pkg failed for me at packaging stage, with an error something like;
scripts/Makefile.fwinst:43: *** mixed implicit and static pattern rules. Stop. make[2]: *** [_modinst_post] Error 2
Yes, I get the same error if I use kernel's built in rpm making support.
The src.rpm at the path above is derived from my modified x86-64 3.18.x LT kernel package, which is in turn derived from elrepo's mainline kernel .spec file.
On a tangential note, I have just added the ZFS packages for aarch64 to the same folder: http://ftp.redsleeve.org/pub/misc/aarch64/
Just in case anyone here would like to take that for a spin.
Gordan
On 17/03/16 08:05, Michael Howard wrote:
On 17/03/2016 01:24, Gordan Bobic wrote:
On 2016-03-14 22:14, Michael Howard wrote:
I didn't build an RPM as I came across a packaging problem, an aarch64/UTS_MACHINE issue I believe and I had no idea how to solve it nor could I spend any real time investigating it.
I have put together some kernel rpms: http://ftp.redsleeve.org/pub/misc/aarch64/
Cool. Did you have any problems? make rpm-pkg failed for me at packaging stage, with an error something like;
|scripts/Makefile.fwinst:43: *** mixed implicit and static pattern rules. Stop. make[2]: *** [_modinst_post] Error 2|
Speaking of the kernel, I seem to be having a problem. On the kernel above, if I modprobe different SATA/SAS drivers, I get an immediate kernel lock-up for which the only cure is the hard-reset (I can only complete the boot if blacklist the drivers with the PCIe SATA card installed).
But here's the weird part - the CentOS 4.2.0 kernel doesn't have this problem. So I'm wondering if the CentOS kernel has patches that specifically address this, or whether this is an upstream bug, either a regression since 4.2.x or a bug that manifests when using 4KB memory pages.
I have thus far reproduced this with a SIL3132 2-port SATA card and a 3ware 9650SE-16ML 16-port SAS card. I don't have any other SATA controllers handy to test with.
Do you happen to have any SATA/SAS controllers you could try (or have tried) with your kernel on this board?
Gordan
On 19/03/2016 09:21, Gordan Bobic wrote:
On 17/03/16 08:05, Michael Howard wrote:
On 17/03/2016 01:24, Gordan Bobic wrote:
On 2016-03-14 22:14, Michael Howard wrote:
I didn't build an RPM as I came across a packaging problem, an aarch64/UTS_MACHINE issue I believe and I had no idea how to solve it nor could I spend any real time investigating it.
I have put together some kernel rpms: http://ftp.redsleeve.org/pub/misc/aarch64/
Cool. Did you have any problems? make rpm-pkg failed for me at packaging stage, with an error something like;
|scripts/Makefile.fwinst:43: *** mixed implicit and static pattern rules. Stop. make[2]: *** [_modinst_post] Error 2|
Speaking of the kernel, I seem to be having a problem. On the kernel above, if I modprobe different SATA/SAS drivers, I get an immediate kernel lock-up for which the only cure is the hard-reset (I can only complete the boot if blacklist the drivers with the PCIe SATA card installed).
But here's the weird part - the CentOS 4.2.0 kernel doesn't have this problem. So I'm wondering if the CentOS kernel has patches that specifically address this, or whether this is an upstream bug, either a regression since 4.2.x or a bug that manifests when using 4KB memory pages.
I have thus far reproduced this with a SIL3132 2-port SATA card and a 3ware 9650SE-16ML 16-port SAS card. I don't have any other SATA controllers handy to test with.
Do you happen to have any SATA/SAS controllers you could try (or have tried) with your kernel on this board?
I'll take a look later today, when I can get at some cards but I can confirm similar results with a Perc H800 fitted (don't ask), the kernel panics on boot but doesn't with the original kernel.
On 19/03/16 11:59, Michael Howard wrote:
On 19/03/2016 09:21, Gordan Bobic wrote:
On 17/03/16 08:05, Michael Howard wrote:
On 17/03/2016 01:24, Gordan Bobic wrote:
On 2016-03-14 22:14, Michael Howard wrote:
I didn't build an RPM as I came across a packaging problem, an aarch64/UTS_MACHINE issue I believe and I had no idea how to solve it nor could I spend any real time investigating it.
I have put together some kernel rpms: http://ftp.redsleeve.org/pub/misc/aarch64/
Cool. Did you have any problems? make rpm-pkg failed for me at packaging stage, with an error something like;
|scripts/Makefile.fwinst:43: *** mixed implicit and static pattern rules. Stop. make[2]: *** [_modinst_post] Error 2|
Speaking of the kernel, I seem to be having a problem. On the kernel above, if I modprobe different SATA/SAS drivers, I get an immediate kernel lock-up for which the only cure is the hard-reset (I can only complete the boot if blacklist the drivers with the PCIe SATA card installed).
But here's the weird part - the CentOS 4.2.0 kernel doesn't have this problem. So I'm wondering if the CentOS kernel has patches that specifically address this, or whether this is an upstream bug, either a regression since 4.2.x or a bug that manifests when using 4KB memory pages.
I have thus far reproduced this with a SIL3132 2-port SATA card and a 3ware 9650SE-16ML 16-port SAS card. I don't have any other SATA controllers handy to test with.
Do you happen to have any SATA/SAS controllers you could try (or have tried) with your kernel on this board?
I'll take a look later today, when I can get at some cards but I can confirm similar results with a Perc H800 fitted (don't ask),
Nothing _to_ ask - seems perfectly reasonable to me to have some big fat SAS cards in this machine. My own plans for this box include filling it up with a boatload of disks. :-)
the kernel panics on boot but doesn't with the original kernel.
Is this with your 4.5.x kernel?
I wonder if running with 4KB pages breaks some assumption about DMA alignment or something along those lines. Which would bring up an interesting question - whether picking 64KB pages in the CentOS kernel a fluke or a bodge...
Gordan
On Mon, Mar 14, 2016 at 03:00:35PM +0000, Gordan Bobic wrote:
On 2016-03-01 22:32, Michael Howard wrote:
On 01/03/2016 22:26, Richard W.M. Jones wrote:
On Mon, Feb 29, 2016 at 03:20:03PM +0000, Michael Howard wrote:
Just to let you know, I can't get this to work. aarch64 is supposed to be binary compatible, with the correct libraries installed, but I'm thinking the cpu isn't.
All I get is 'cannot execute binary file: Exec format error', regardless of what I try.
As I understand it the problem is page size - 64K was chosen by Red Hat for aarch64, where as 4K is the norm on armv7.
Anyway, you can run a 32 bit VM and it works well -- in fact a lot faster than regular 32 bit armv7 hardware.
Yes, with CONFIG_ARM64_4K_PAGES=y and CONFIG_COMPAT=y, 32 bit binaries run fine.
I built a kernel with these options enabled, but chrooting into an armv5tel subtree segfaults immediately. :-(
I may be missing some context here, but is there some reason not to just use a VM? It's more predictable because you'll be running the same kernel that the 32 bit environment is expecting. Also it will (or should) work without you needing to compile your own host kernel.
Rich.
On 2016-03-15 18:32, Richard W.M. Jones wrote:
On Mon, Mar 14, 2016 at 03:00:35PM +0000, Gordan Bobic wrote:
On 2016-03-01 22:32, Michael Howard wrote:
On 01/03/2016 22:26, Richard W.M. Jones wrote:
On Mon, Feb 29, 2016 at 03:20:03PM +0000, Michael Howard wrote:
Just to let you know, I can't get this to work. aarch64 is supposed to be binary compatible, with the correct libraries installed, but I'm thinking the cpu isn't.
All I get is 'cannot execute binary file: Exec format error', regardless of what I try.
As I understand it the problem is page size - 64K was chosen by Red Hat for aarch64, where as 4K is the norm on armv7.
Anyway, you can run a 32 bit VM and it works well -- in fact a lot faster than regular 32 bit armv7 hardware.
Yes, with CONFIG_ARM64_4K_PAGES=y and CONFIG_COMPAT=y, 32 bit binaries run fine.
I built a kernel with these options enabled, but chrooting into an armv5tel subtree segfaults immediately. :-(
I may be missing some context here, but is there some reason not to just use a VM?
Performance for one.
It's more predictable because you'll be running the same kernel that the 32 bit environment is expecting.
The aarch64 environment seems no less predictable with a kernel defaulting to 4K pages. There are also other reasons, for example I want to run ZFS on the host and don't want to have to re-export the shares to guests via a network file system.
Also it will (or should) work without you needing to compile your own host kernel.
Well, as far as the host kernel is concerned:
1) I already posted a link with a selection of posts from Linus himself explaining at some length why using large default pages is a bad idea at the best of times (and for all other cases where bigger pages do give us that 3% speed-up we can use hugepages directly instead).
2) The kernel that ships is deprecated and was never a LT kernel (4.2).
So switching to the next LT kernel better configured for practically any task seems advantageous in every way.
I now have docker happily running armv5tel guests.
Gordan
On Tue, Mar 15, 2016 at 07:49:22PM +0000, Gordan Bobic wrote:
On 2016-03-15 18:32, Richard W.M. Jones wrote:
I may be missing some context here, but is there some reason not to just use a VM?
Performance for one.
Can you precisely quantify that?
It's more predictable because you'll be running the same kernel that the 32 bit environment is expecting.
The aarch64 environment seems no less predictable with a kernel defaulting to 4K pages.
It's more predictable for the 32 bit guest, because the guest will have exactly the kernel it expects, not some random kernel and a chroot.
There are also other reasons, for example I want to run ZFS on the host and don't want to have to re-export the shares to guests via a network file system.
Also it will (or should) work without you needing to compile your own host kernel.
Well, as far as the host kernel is concerned:
- I already posted a link with a selection of posts from Linus himself
explaining at some length why using large default pages is a bad idea at the best of times (and for all other cases where bigger pages do give us that 3% speed-up we can use hugepages directly instead).
- The kernel that ships is deprecated and was never a LT kernel (4.2).
So switching to the next LT kernel better configured for practically any task seems advantageous in every way.
I think RHELSA 7.3 will have a 4.5 kernel. Of course "LT" kernels aren't really relevant for Red Hat, because we spend huge amounts of money supporting our kernels long term.
I now have docker happily running armv5tel guests.
Rich.
On 2016-03-15 22:12, Richard W.M. Jones wrote:
On Tue, Mar 15, 2016 at 07:49:22PM +0000, Gordan Bobic wrote:
On 2016-03-15 18:32, Richard W.M. Jones wrote:
I may be missing some context here, but is there some reason not to just use a VM?
Performance for one.
Can you precisely quantify that?
On ARM? No, haven't tried it yet. On x86-64? Between 30% and 40% on a concurrent load saturating the CPU. Measured with different hypervisors (KVM, Xen and ESXi) and different generations of Intel CPUs from Core2 to Westmere Xeons. The results are reproducible on different loads, from a simple parallel kernel compile to a parallel read-only replay of MySQL general log.
Here are some old results on Core2 class hardware: https://www.altechnative.net/2012/08/04/virtual-performance-part-1-vmware/
Unfortunately, later version of both hypervisors and hardware (I last ran similar tests using MySQL last year), exhibit the exact same performance degradation.
To reproduce: 1) 1 host, 1 VM 2) Give the VM all CPU cores available on the host 3) Run test with double the number of threads as there are CPU cores 4) If you are running the kernel compile test, put the sources on tmpfs (yes, you'll need a suitable amount of RAM) to avoid any I/O bottlenecking
It's more predictable because you'll be running the same kernel that the 32 bit environment is expecting.
The aarch64 environment seems no less predictable with a kernel defaulting to 4K pages.
It's more predictable for the 32 bit guest, because the guest will have exactly the kernel it expects, not some random kernel and a chroot.
Given it's an EL6 armv5tel guest, I dare say there is no reasonable expectation of any particular kernel from the guest userspace. Sadly, in the ARM world until very recently, the kernel that ships with the device has often been the only option.
The only kernel/userspace compatibility issue I have encountered was on the EL7 ARM port where a recent kernel is required specifically because systemd has done away with firmware loader helpers, and kernels before a certain version weren't up to the task of loading the firmware unassisted. But that's about it. I have a whole stack of ARM devices running rag-tag kernels they shipped with but with my own userspace.
There are also other reasons, for example I want to run ZFS on the host and don't want to have to re-export the shares to guests via a network file system.
Also it will (or should) work without you needing to compile your own host kernel.
Well, as far as the host kernel is concerned:
- I already posted a link with a selection of posts from Linus
himself explaining at some length why using large default pages is a bad idea at the best of times (and for all other cases where bigger pages do give us that 3% speed-up we can use hugepages directly instead).
- The kernel that ships is deprecated and was never a LT kernel
(4.2).
So switching to the next LT kernel better configured for practically any task seems advantageous in every way.
I think RHELSA 7.3 will have a 4.5 kernel. Of course "LT" kernels aren't really relevant for Red Hat, because we spend huge amounts of money supporting our kernels long term.
Let's not go there: https://bugzilla.redhat.com/show_bug.cgi?id=773107
Gordan
On Tue, Mar 15, 2016 at 10:49:14PM +0000, Gordan Bobic wrote:
On 2016-03-15 22:12, Richard W.M. Jones wrote:
On Tue, Mar 15, 2016 at 07:49:22PM +0000, Gordan Bobic wrote:
On 2016-03-15 18:32, Richard W.M. Jones wrote:
I may be missing some context here, but is there some reason not to just use a VM?
Performance for one.
Can you precisely quantify that?
On ARM? No, haven't tried it yet. On x86-64? Between 30% and 40% on a concurrent load saturating the CPU. Measured with different hypervisors (KVM, Xen and ESXi) and different generations of Intel CPUs from Core2 to Westmere Xeons. The results are reproducible on different loads, from a simple parallel kernel compile to a parallel read-only replay of MySQL general log.
You must be doing something very wrong if you see such a huge slowdown with KVM. Red Hat has a team that tracks performance and looks for regressions between releases. You shouldn't see more than a 5% slowdown, except in rare and exceptional corner cases, or if it's configured wrong. Hard to say what - perhaps not using virtio, or not using the right <cpu> model, or maybe overprovisioning.
Here are some old results on Core2 class hardware: https://www.altechnative.net/2012/08/04/virtual-performance-part-1-vmware/
I can't comment on VMware, nor on results from 4 years ago.
Unfortunately, later version of both hypervisors and hardware (I last ran similar tests using MySQL last year), exhibit the exact same performance degradation.
To reproduce:
- 1 host, 1 VM
- Give the VM all CPU cores available on the host
- Run test with double the number of threads as there are CPU cores
So the problem is overprovisioning.
I think RHELSA 7.3 will have a 4.5 kernel. Of course "LT" kernels aren't really relevant for Red Hat, because we spend huge amounts of money supporting our kernels long term.
Let's not go there: https://bugzilla.redhat.com/show_bug.cgi?id=773107
We don't support self-compiled kernels, for fairly obvious reasons.
Rich.
On 2016-03-16 11:58, Richard W.M. Jones wrote:
On Tue, Mar 15, 2016 at 10:49:14PM +0000, Gordan Bobic wrote:
On 2016-03-15 22:12, Richard W.M. Jones wrote:
On Tue, Mar 15, 2016 at 07:49:22PM +0000, Gordan Bobic wrote:
On 2016-03-15 18:32, Richard W.M. Jones wrote:
I may be missing some context here, but is there some reason not to just use a VM?
Performance for one.
Can you precisely quantify that?
On ARM? No, haven't tried it yet. On x86-64? Between 30% and 40% on a concurrent load saturating the CPU. Measured with different hypervisors (KVM, Xen and ESXi) and different generations of Intel CPUs from Core2 to Westmere Xeons. The results are reproducible on different loads, from a simple parallel kernel compile to a parallel read-only replay of MySQL general log.
You must be doing something very wrong if you see such a huge slowdown with KVM. Red Hat has a team that tracks performance and looks for regressions between releases. You shouldn't see more than a 5% slowdown, except in rare and exceptional corner cases, or if it's configured wrong.
Did you try the test as I mentioned and measure and observe the results for yourself? It would be more productive to compare empirically measured numbers with empirically masured numbers rather than empirically measured numbers with marketing brochure contents. And/or saying that the user is "holding it wrong".
Hard to say what - perhaps not using virtio,
Virtio shouldn't be a factor when the entire process is running in RAM on tmpfs and never touches disk or network I/O.
or not using the right <cpu> model, or maybe overprovisioning.
I never over-provision. The VM has exactly the number of cores the host has, and the host ran no other CPU consuming tasks in any of the tests, other than the hypervisor.
Here are some old results on Core2 class hardware: https://www.altechnative.net/2012/08/04/virtual-performance-part-1-vmware/
I can't comment on VMware, nor on results from 4 years ago.
As I mentioned, the results are very repeatable on much more recent hardware and software stacks. Happy to re-run it again on EL7 on my dual socket Westmere this wekend and share the results, but I don't expect things to have changed significantly.
Unfortunately, later version of both hypervisors and hardware (I last ran similar tests using MySQL last year), exhibit the exact same performance degradation.
To reproduce:
- 1 host, 1 VM
- Give the VM all CPU cores available on the host
- Run test with double the number of threads as there are CPU cores
So the problem is overprovisioning.
If you under-provision then you are reducing the number of CPU cores available to the VM compared to what it would have on bare metal. This counts as overhead however you spin it (and it doesn't actually change the overall results for the better).
And nV=nP isn't overprovisioning (or underprovisioning).
This is one of the reasons why some very large installations run on a "bare metal cloud" concept (they spin up physical machines rather than virtual ones).
I think RHELSA 7.3 will have a 4.5 kernel. Of course "LT" kernels aren't really relevant for Red Hat, because we spend huge amounts of money supporting our kernels long term.
Let's not go there: https://bugzilla.redhat.com/show_bug.cgi?id=773107
We don't support self-compiled kernels, for fairly obvious reasons.
The problem here is that it also extends to ignoring patches that fix what are pretty obvious mis-patch bugs that by pure luck alone don't trigger failures on the specific configuration used. You'd think that at least "make allyesconfig", "make allmodconfig" and "make allnoconfig" would be tested to pass after heavily patching the kernel. In the case of that particular bug, IIRC, "make allnoconfig" would have picked up the FTBFS. When one provides a patch that fixes the problem, it is difficult to not be left disappointed about the care about the quality of the code when it gets brushed aside like that. It's one of the reasons I stopped bothering filing distro level bug reports and have switched to running mainline kernels on many of my deployments.
Gordan
On 2016-03-01 22:26, Richard W.M. Jones wrote:
On Mon, Feb 29, 2016 at 03:20:03PM +0000, Michael Howard wrote:
Just to let you know, I can't get this to work. aarch64 is supposed to be binary compatible, with the correct libraries installed, but I'm thinking the cpu isn't.
All I get is 'cannot execute binary file: Exec format error', regardless of what I try.
As I understand it the problem is page size - 64K was chosen by Red Hat for aarch64, where as 4K is the norm on armv7.
I shall leave this link here without further comment, regarding using pages that are bigger than 4KB: http://yarchive.net/comp/linux/page_sizes.html
Anyway, you can run a 32 bit VM and it works well -- in fact a lot faster than regular 32 bit armv7 hardware.
Given what x86 hypervisor overheads are under heavy concurrent loads, I'd say that rather depends on what ARMv7 hardware is being compared.
Gordan
On 02/03/2016 09:58, Gordan Bobic wrote:
On 2016-03-01 22:26, Richard W.M. Jones wrote:
On Mon, Feb 29, 2016 at 03:20:03PM +0000, Michael Howard wrote:
Just to let you know, I can't get this to work. aarch64 is supposed to be binary compatible, with the correct libraries installed, but I'm thinking the cpu isn't.
All I get is 'cannot execute binary file: Exec format error', regardless of what I try.
As I understand it the problem is page size - 64K was chosen by Red Hat for aarch64, where as 4K is the norm on armv7.
I shall leave this link here without further comment, regarding using pages that are bigger than 4KB: http://yarchive.net/comp/linux/page_sizes.html
Yes, I read that before I reconfigured the kernel, it makes interesting reading.
My needs require me to run 32 bit binaries on my mp30-ar0 (at least in the short to medium term) so I'll use my modified kernel and 4KB pages.
On 2016-03-02 10:12, Michael Howard wrote:
On 02/03/2016 09:58, Gordan Bobic wrote:
On 2016-03-01 22:26, Richard W.M. Jones wrote:
On Mon, Feb 29, 2016 at 03:20:03PM +0000, Michael Howard wrote:
Just to let you know, I can't get this to work. aarch64 is supposed to be binary compatible, with the correct libraries installed, but I'm thinking the cpu isn't.
All I get is 'cannot execute binary file: Exec format error', regardless of what I try.
As I understand it the problem is page size - 64K was chosen by Red Hat for aarch64, where as 4K is the norm on armv7.
I shall leave this link here without further comment, regarding using pages that are bigger than 4KB: http://yarchive.net/comp/linux/page_sizes.html
Yes, I read that before I reconfigured the kernel, it makes interesting reading.
My needs require me to run 32 bit binaries on my mp30-ar0 (at least in the short to medium term) so I'll use my modified kernel and 4KB pages.
Same here. And the MP30-AR0 just made my shopping list with this case covered. :)
And I say that as a "database person", as per Linus' reference in that link.
Gordan
On 22/02/16 05:02, Phong Vo wrote:
Hi,
The mp30ar0 U-boot has some special memory mapping to accommodate 32-bit DMA. Please download the tar ball again - I've updated the tianocore UHP for this.
https://dl.dropboxusercontent.com/u/20403943/mp30ar0_tianocore_binaries.ta r.xz
Updated instruction for U-boot chain loading: MP30AR0# setenv num_cores 1 MP30AR0# setenv DDRBASE2G 1 MP30AR0# save; reset
I just did this part and it seems to have semi-bricked the board. It gets as far as: === U-Boot 2013.04 (Jun 02 2015 - 10:54:10)ooREV: 1.15.01-F05 ( uart0 ) ===
and it just stops.
That seems a bit odd from just changing one variable and adding another, I didn't think those were supposed to be read until after the boot interruption prompt.
On to unbricking procedure I go...
On 12/03/16 12:04, Gordan Bobic wrote:
On 22/02/16 05:02, Phong Vo wrote:
Hi,
The mp30ar0 U-boot has some special memory mapping to accommodate 32-bit DMA. Please download the tar ball again - I've updated the tianocore UHP for this.
https://dl.dropboxusercontent.com/u/20403943/mp30ar0_tianocore_binaries.ta
r.xz
Updated instruction for U-boot chain loading: MP30AR0# setenv num_cores 1 MP30AR0# setenv DDRBASE2G 1 MP30AR0# save; reset
I just did this part and it seems to have semi-bricked the board. It gets as far as: === U-Boot 2013.04 (Jun 02 2015 - 10:54:10)ooREV: 1.15.01-F05 ( uart0 ) ===
and it just stops.
That seems a bit odd from just changing one variable and adding another, I didn't think those were supposed to be read until after the boot interruption prompt.
On to unbricking procedure I go...
Which gets stuck at the exct same point during the boot, only this time it looks like u-boot is a little newer:
=== U-Boot 2013.04-mp30ar0_sw_1.18.04 (Sep 02 2015 - 16:38:06) REV: F06b ( uart0 ) ===
Also tried clearing the CMOS, which made no difference.
Gordan
On 12/03/2016 12:36, Gordan Bobic wrote:
On 12/03/16 12:04, Gordan Bobic wrote:
On 22/02/16 05:02, Phong Vo wrote:
Hi,
The mp30ar0 U-boot has some special memory mapping to accommodate 32-bit DMA. Please download the tar ball again - I've updated the tianocore UHP for this.
https://dl.dropboxusercontent.com/u/20403943/mp30ar0_tianocore_binaries.ta
r.xz
Updated instruction for U-boot chain loading: MP30AR0# setenv num_cores 1 MP30AR0# setenv DDRBASE2G 1 MP30AR0# save; reset
I just did this part and it seems to have semi-bricked the board. It gets as far as: === U-Boot 2013.04 (Jun 02 2015 - 10:54:10)ooREV: 1.15.01-F05 ( uart0 ) ===
and it just stops.
That seems a bit odd from just changing one variable and adding another, I didn't think those were supposed to be read until after the boot interruption prompt.
On to unbricking procedure I go...
Which gets stuck at the exct same point during the boot, only this time it looks like u-boot is a little newer:
=== U-Boot 2013.04-mp30ar0_sw_1.18.04 (Sep 02 2015 - 16:38:06) REV: F06b ( uart0 ) ===
Also tried clearing the CMOS, which made no difference.
Yes, there is a newer u-boot than that shipped. I have used both but I don't remember any advantages with the newer one.
I had an issue whereby I was using the serial console, but had a usb keyboard attached the the MP30 , and the output diverted to the VGA output. Very odd. Hook up a monitor if you haven't done so, just to check.
On 12/03/2016 12:36, Gordan Bobic wrote:
On 12/03/16 12:04, Gordan Bobic wrote:
On 22/02/16 05:02, Phong Vo wrote:
Hi,
The mp30ar0 U-boot has some special memory mapping to accommodate 32-bit DMA. Please download the tar ball again - I've updated the tianocore UHP for this.
https://dl.dropboxusercontent.com/u/20403943/mp30ar0_tianocore_binaries.ta
r.xz
Updated instruction for U-boot chain loading: MP30AR0# setenv num_cores 1 MP30AR0# setenv DDRBASE2G 1 MP30AR0# save; reset
I just did this part and it seems to have semi-bricked the board. It gets as far as: === U-Boot 2013.04 (Jun 02 2015 - 10:54:10)ooREV: 1.15.01-F05 ( uart0 ) ===
and it just stops.
As mentioned in one of my other posts , check the vga output or serial output if you are using vga. You have actually only changed one variable, DDRBASE2G would have already been set.
On 12/03/16 12:48, Michael Howard wrote:
On 12/03/2016 12:36, Gordan Bobic wrote:
On 12/03/16 12:04, Gordan Bobic wrote:
On 22/02/16 05:02, Phong Vo wrote:
Hi,
The mp30ar0 U-boot has some special memory mapping to accommodate 32-bit DMA. Please download the tar ball again - I've updated the tianocore UHP for this.
https://dl.dropboxusercontent.com/u/20403943/mp30ar0_tianocore_binaries.ta
r.xz
Updated instruction for U-boot chain loading: MP30AR0# setenv num_cores 1 MP30AR0# setenv DDRBASE2G 1 MP30AR0# save; reset
I just did this part and it seems to have semi-bricked the board. It gets as far as: === U-Boot 2013.04 (Jun 02 2015 - 10:54:10)ooREV: 1.15.01-F05 ( uart0 ) ===
and it just stops.
As mentioned in one of my other posts , check the vga output or serial output if you are using vga. You have actually only changed one variable, DDRBASE2G would have already been set.
I checked, and DDRBASE2G wasn't defined.
I don't suppose you managed to get "serial over LAN" working on the BMC? Getting to the actual serial console over ILO is... as unintuitive as it is undocumented...
Gordan
On 12/03/2016 13:07, Gordan Bobic wrote:
On 12/03/16 12:48, Michael Howard wrote:
On 12/03/2016 12:36, Gordan Bobic wrote:
On 12/03/16 12:04, Gordan Bobic wrote:
On 22/02/16 05:02, Phong Vo wrote:
Hi,
The mp30ar0 U-boot has some special memory mapping to accommodate 32-bit DMA. Please download the tar ball again - I've updated the tianocore UHP for this.
https://dl.dropboxusercontent.com/u/20403943/mp30ar0_tianocore_binaries.ta
r.xz
Updated instruction for U-boot chain loading: MP30AR0# setenv num_cores 1 MP30AR0# setenv DDRBASE2G 1 MP30AR0# save; reset
I just did this part and it seems to have semi-bricked the board. It gets as far as: === U-Boot 2013.04 (Jun 02 2015 - 10:54:10)ooREV: 1.15.01-F05 ( uart0 ) ===
and it just stops.
As mentioned in one of my other posts , check the vga output or serial output if you are using vga. You have actually only changed one variable, DDRBASE2G would have already been set.
I checked, and DDRBASE2G wasn't defined.
I don't suppose you managed to get "serial over LAN" working on the BMC? Getting to the actual serial console over ILO is... as unintuitive as it is undocumented...
IPMI works, that I know, I tested it by pulling sensor readings. I haven't tried to access the serial console directly though. I'll take a look.
On 12/03/2016 13:07, Gordan Bobic wrote:
On 12/03/16 12:48, Michael Howard wrote:
On 12/03/2016 12:36, Gordan Bobic wrote:
On 12/03/16 12:04, Gordan Bobic wrote:
On 22/02/16 05:02, Phong Vo wrote:
Hi,
The mp30ar0 U-boot has some special memory mapping to accommodate 32-bit DMA. Please download the tar ball again - I've updated the tianocore UHP for this.
https://dl.dropboxusercontent.com/u/20403943/mp30ar0_tianocore_binaries.ta
r.xz
Updated instruction for U-boot chain loading: MP30AR0# setenv num_cores 1 MP30AR0# setenv DDRBASE2G 1 MP30AR0# save; reset
I just did this part and it seems to have semi-bricked the board. It gets as far as: === U-Boot 2013.04 (Jun 02 2015 - 10:54:10)ooREV: 1.15.01-F05 ( uart0 ) ===
and it just stops.
As mentioned in one of my other posts , check the vga output or serial output if you are using vga. You have actually only changed one variable, DDRBASE2G would have already been set.
I checked, and DDRBASE2G wasn't defined.
I don't suppose you managed to get "serial over LAN" working on the BMC? Getting to the actual serial console over ILO is... as unintuitive as it is undocumented...
Ok, tried SOL and that works here. I used;
ipmitool -I lanplus -H 192.168.1.81 -U admin -P password sol activate
On 12/03/16 13:27, Michael Howard wrote:
On 12/03/2016 13:07, Gordan Bobic wrote:
On 12/03/16 12:48, Michael Howard wrote:
On 12/03/2016 12:36, Gordan Bobic wrote:
On 12/03/16 12:04, Gordan Bobic wrote:
On 22/02/16 05:02, Phong Vo wrote:
Hi,
The mp30ar0 U-boot has some special memory mapping to accommodate 32-bit DMA. Please download the tar ball again - I've updated the tianocore UHP for this.
https://dl.dropboxusercontent.com/u/20403943/mp30ar0_tianocore_binaries.ta
r.xz
Updated instruction for U-boot chain loading: MP30AR0# setenv num_cores 1 MP30AR0# setenv DDRBASE2G 1 MP30AR0# save; reset
I just did this part and it seems to have semi-bricked the board. It gets as far as: === U-Boot 2013.04 (Jun 02 2015 - 10:54:10)ooREV: 1.15.01-F05 ( uart0 ) ===
and it just stops.
As mentioned in one of my other posts , check the vga output or serial output if you are using vga. You have actually only changed one variable, DDRBASE2G would have already been set.
I checked, and DDRBASE2G wasn't defined.
I don't suppose you managed to get "serial over LAN" working on the BMC? Getting to the actual serial console over ILO is... as unintuitive as it is undocumented...
Ok, tried SOL and that works here. I used;
ipmitool -I lanplus -H 192.168.1.81 -U admin -P password sol activate
You, sir, are awesome. :) Not to mention right - for some reason u-boot did indeed decide to go to serial only with no VGA.
What setting is used to control that?
Gordan
On 12/03/2016 13:36, Gordan Bobic wrote:
On 12/03/16 13:27, Michael Howard wrote:
On 12/03/2016 13:07, Gordan Bobic wrote:
On 12/03/16 12:48, Michael Howard wrote:
On 12/03/2016 12:36, Gordan Bobic wrote:
On 12/03/16 12:04, Gordan Bobic wrote:
On 22/02/16 05:02, Phong Vo wrote: > Hi, > > The mp30ar0 U-boot has some special memory mapping to accommodate > 32-bit > DMA. > Please download the tar ball again - I've updated the tianocore > UHP for > this. > > https://dl.dropboxusercontent.com/u/20403943/mp30ar0_tianocore_binaries.ta > > > > > r.xz > > Updated instruction for U-boot chain loading: > MP30AR0# setenv num_cores 1 > MP30AR0# setenv DDRBASE2G 1 > MP30AR0# save; reset
I just did this part and it seems to have semi-bricked the board. It gets as far as: === U-Boot 2013.04 (Jun 02 2015 - 10:54:10)ooREV: 1.15.01-F05 ( uart0 ) ===
and it just stops.
As mentioned in one of my other posts , check the vga output or serial output if you are using vga. You have actually only changed one variable, DDRBASE2G would have already been set.
I checked, and DDRBASE2G wasn't defined.
I don't suppose you managed to get "serial over LAN" working on the BMC? Getting to the actual serial console over ILO is... as unintuitive as it is undocumented...
Ok, tried SOL and that works here. I used;
ipmitool -I lanplus -H 192.168.1.81 -U admin -P password sol activate
You, sir, are awesome. :) Not to mention right - for some reason u-boot did indeed decide to go to serial only with no VGA.
What setting is used to control that?
To be honest, I don't know. I've had the box next to me while I've been 'playing' and out of habit tend to use the serial console cos that's what was traditionally available on arm devices. I only discovered the 'switch' from vga/serial by accident having left the usb keyboard plugged in. I did notice that with both (serial & vga) hooked up, not all output appears on vga whilst it does on serial, hence I stuck to serial. I can live without the penguin.
On 12/03/16 13:44, Michael Howard wrote:
On 12/03/2016 13:36, Gordan Bobic wrote:
On 12/03/16 13:27, Michael Howard wrote:
On 12/03/2016 13:07, Gordan Bobic wrote:
On 12/03/16 12:48, Michael Howard wrote:
On 12/03/2016 12:36, Gordan Bobic wrote:
On 12/03/16 12:04, Gordan Bobic wrote: > On 22/02/16 05:02, Phong Vo wrote: >> Hi, >> >> The mp30ar0 U-boot has some special memory mapping to accommodate >> 32-bit >> DMA. >> Please download the tar ball again - I've updated the tianocore >> UHP for >> this. >> >> https://dl.dropboxusercontent.com/u/20403943/mp30ar0_tianocore_binaries.ta >> >> >> >> >> r.xz >> >> Updated instruction for U-boot chain loading: >> MP30AR0# setenv num_cores 1 >> MP30AR0# setenv DDRBASE2G 1 >> MP30AR0# save; reset > > I just did this part and it seems to have semi-bricked the board. It > gets as far as: > === > U-Boot 2013.04 (Jun 02 2015 - 10:54:10)ooREV: 1.15.01-F05 ( uart0 ) > === > > and it just stops. >
As mentioned in one of my other posts , check the vga output or serial output if you are using vga. You have actually only changed one variable, DDRBASE2G would have already been set.
I checked, and DDRBASE2G wasn't defined.
I don't suppose you managed to get "serial over LAN" working on the BMC? Getting to the actual serial console over ILO is... as unintuitive as it is undocumented...
Ok, tried SOL and that works here. I used;
ipmitool -I lanplus -H 192.168.1.81 -U admin -P password sol activate
You, sir, are awesome. :) Not to mention right - for some reason u-boot did indeed decide to go to serial only with no VGA.
What setting is used to control that?
To be honest, I don't know. I've had the box next to me while I've been 'playing' and out of habit tend to use the serial console cos that's what was traditionally available on arm devices. I only discovered the 'switch' from vga/serial by accident having left the usb keyboard plugged in. I did notice that with both (serial & vga) hooked up, not all output appears on vga whilst it does on serial, hence I stuck to serial. I can live without the penguin.
Yes, so can I, and VGA out comes back to life once UEFI loads. Also, unce UEFI loads, the remote network console via the Java client starts to work, too.
Disappointingly, the fact that u-boot seems to arbitrarily decide to stop using local console, does seem to make it's usefulness rather diminished as the first stage boot-loader. :-(
But yay, I have it working! :)
Now to put Tianocore files onto the UEFI partition...
Gordan
On 12/03/2016 15:17, Gordan Bobic wrote:
On 12/03/16 13:44, Michael Howard wrote:
On 12/03/2016 13:36, Gordan Bobic wrote:
On 12/03/16 13:27, Michael Howard wrote:
On 12/03/2016 13:07, Gordan Bobic wrote:
On 12/03/16 12:48, Michael Howard wrote:
On 12/03/2016 12:36, Gordan Bobic wrote: > On 12/03/16 12:04, Gordan Bobic wrote: >> On 22/02/16 05:02, Phong Vo wrote: >>> Hi, >>> >>> The mp30ar0 U-boot has some special memory mapping to accommodate >>> 32-bit >>> DMA. >>> Please download the tar ball again - I've updated the tianocore >>> UHP for >>> this. >>> >>> https://dl.dropboxusercontent.com/u/20403943/mp30ar0_tianocore_binaries.ta >>> >>> >>> >>> >>> >>> r.xz >>> >>> Updated instruction for U-boot chain loading: >>> MP30AR0# setenv num_cores 1 >>> MP30AR0# setenv DDRBASE2G 1 >>> MP30AR0# save; reset >> >> I just did this part and it seems to have semi-bricked the >> board. It >> gets as far as: >> === >> U-Boot 2013.04 (Jun 02 2015 - 10:54:10)ooREV: 1.15.01-F05 ( >> uart0 ) >> === >> >> and it just stops. >> As mentioned in one of my other posts , check the vga output or serial output if you are using vga. You have actually only changed one variable, DDRBASE2G would have already been set.
I checked, and DDRBASE2G wasn't defined.
I don't suppose you managed to get "serial over LAN" working on the BMC? Getting to the actual serial console over ILO is... as unintuitive as it is undocumented...
Ok, tried SOL and that works here. I used;
ipmitool -I lanplus -H 192.168.1.81 -U admin -P password sol activate
You, sir, are awesome. :) Not to mention right - for some reason u-boot did indeed decide to go to serial only with no VGA.
What setting is used to control that?
To be honest, I don't know. I've had the box next to me while I've been 'playing' and out of habit tend to use the serial console cos that's what was traditionally available on arm devices. I only discovered the 'switch' from vga/serial by accident having left the usb keyboard plugged in. I did notice that with both (serial & vga) hooked up, not all output appears on vga whilst it does on serial, hence I stuck to serial. I can live without the penguin.
Yes, so can I, and VGA out comes back to life once UEFI loads. Also, unce UEFI loads, the remote network console via the Java client starts to work, too.
Disappointingly, the fact that u-boot seems to arbitrarily decide to stop using local console, does seem to make it's usefulness rather diminished as the first stage boot-loader. :-(
But yay, I have it working! :)
Now to put Tianocore files onto the UEFI partition...
Yes, better than mmc or tftp :)
On 12/03/16 15:21, Michael Howard wrote:
On 12/03/2016 15:17, Gordan Bobic wrote:
On 12/03/16 13:44, Michael Howard wrote:
On 12/03/2016 13:36, Gordan Bobic wrote:
On 12/03/16 13:27, Michael Howard wrote:
On 12/03/2016 13:07, Gordan Bobic wrote:
On 12/03/16 12:48, Michael Howard wrote: > On 12/03/2016 12:36, Gordan Bobic wrote: >> On 12/03/16 12:04, Gordan Bobic wrote: >>> On 22/02/16 05:02, Phong Vo wrote: >>>> Hi, >>>> >>>> The mp30ar0 U-boot has some special memory mapping to accommodate >>>> 32-bit >>>> DMA. >>>> Please download the tar ball again - I've updated the tianocore >>>> UHP for >>>> this. >>>> >>>> https://dl.dropboxusercontent.com/u/20403943/mp30ar0_tianocore_binaries.ta >>>> >>>> >>>> >>>> >>>> >>>> r.xz >>>> >>>> Updated instruction for U-boot chain loading: >>>> MP30AR0# setenv num_cores 1 >>>> MP30AR0# setenv DDRBASE2G 1 >>>> MP30AR0# save; reset >>> >>> I just did this part and it seems to have semi-bricked the >>> board. It >>> gets as far as: >>> === >>> U-Boot 2013.04 (Jun 02 2015 - 10:54:10)ooREV: 1.15.01-F05 ( >>> uart0 ) >>> === >>> >>> and it just stops. >>> > As mentioned in one of my other posts , check the vga output or > serial > output if you are using vga. You have actually only changed one > variable, DDRBASE2G would have already been set.
I checked, and DDRBASE2G wasn't defined.
I don't suppose you managed to get "serial over LAN" working on the BMC? Getting to the actual serial console over ILO is... as unintuitive as it is undocumented...
Ok, tried SOL and that works here. I used;
ipmitool -I lanplus -H 192.168.1.81 -U admin -P password sol activate
You, sir, are awesome. :) Not to mention right - for some reason u-boot did indeed decide to go to serial only with no VGA.
What setting is used to control that?
To be honest, I don't know. I've had the box next to me while I've been 'playing' and out of habit tend to use the serial console cos that's what was traditionally available on arm devices. I only discovered the 'switch' from vga/serial by accident having left the usb keyboard plugged in. I did notice that with both (serial & vga) hooked up, not all output appears on vga whilst it does on serial, hence I stuck to serial. I can live without the penguin.
Yes, so can I, and VGA out comes back to life once UEFI loads. Also, unce UEFI loads, the remote network console via the Java client starts to work, too.
Disappointingly, the fact that u-boot seems to arbitrarily decide to stop using local console, does seem to make it's usefulness rather diminished as the first stage boot-loader. :-(
But yay, I have it working! :)
Now to put Tianocore files onto the UEFI partition...
Yes, better than mmc or tftp :)
One final thing - it seems that after the installation the kernel has to be booted with "nomodeset". Otherwise the VGA console will go blank and never return.
Gordan
On 22/02/16 05:02, Phong Vo wrote:
Hi,
The mp30ar0 U-boot has some special memory mapping to accommodate 32-bit DMA. Please download the tar ball again - I've updated the tianocore UHP for this.
https://dl.dropboxusercontent.com/u/20403943/mp30ar0_tianocore_binaries.ta r.xz
Updated instruction for U-boot chain loading: MP30AR0# setenv num_cores 1 MP30AR0# setenv DDRBASE2G 1 MP30AR0# save; reset
MP30AR0# setenv load_tianocore 'tftp 0x82000000 ${user_dir}/mp30ar0_tianocore_ubt.fd; tftp 0x1d000000 ${user_dir}/mp30ar0_tianocore_sec_ubt.fd' MP30AR0# setenv run_tianocore 'go 0x1d000000' MP30AR0# run load_tianocore run_tianocore
OK, I got this far now, with some minor changes (loading Tianocore off USB until I can complete the install and put the files on the UEFI FAT disk partition. My modified incantations are:
MP30AR0# setenv num_cores 1 MP30AR0# setenv DDRBASE2G 1
MP30AR0# setenv load_tianocore ' fatload usb 0:1 0x82000000 mp30ar0_tianocore_ubt.fd; fatload usb 0:1 0x1d000000 mp30ar0_tianocore_sec_ubt.fd;'
MP30AR0# setenv run_tianocore 'go 0x1d000000' MP30AR0# save; reset
then after it reboots:
MP30AR0# usb reset MP30AR0# run load_tianocore run_tianocore
reading mp30ar0_tianocore_ubt.fd 1835008 bytes read in 569 ms (3.1 MiB/s) reading mp30ar0_tianocore_sec_ubt.fd 262144 bytes read in 218 ms (1.1 MiB/s) ## Starting application at 0x1D000000 ...
X-Gene Mp30ar0 Board Boot firmware (version 1.20.03-uhp built at 11:18:31 on Feb 22 2016) PROGRESS CODE: V3020003 I0 PROGRESS CODE: V3020002 I0 PROGRESS CODE: V3020003 I0 PROGRESS CODE: V3020002 I0 PROGRESS CODE: V3020003 I0 PROGRESS CODE: V3020002 I0 PROGRESS CODE: V3020003 I0 PROGRESS CODE: V3021001 I0
*** (Note: Boot stops there for long enough to be concerning. Give it a minute and it will eventually get further.) ***
Eventually that will get you to the bit blow as Phong mentioned previously:
Welcome banner should show something similar to below
TianoCore 1.20.03-uhp UEFI 2.4.0 Feb 22 2016 11:17:26 <=== CPU: APM ARM 64-bit Potenza Rev B0 2400MHz PCP 2400MHz 32 KB ICACHE, 32 KB DCACHE SOC 2000MHz IOBAXI 400MHz AXI 250MHz AHB 200MHz GFC 125MHz Board: X-Gene Mp30ar0 Board Slimpro FW: Ver: 2.4 (build 01.20.04.00 2016/02/18) TPC: disable AVS: support SOC: 950 mV The default boot selection will start in 5 seconds
[1] Shell [2] Boot Manager [3] Reboot [4] Shutdown
Make sure the install DVD is inserted, pick 1, and type in:
FS1:\EFI\BOOT\BOOTAA64.EFI
The installer will do the rest, with the exception of figuring out the NIC MAC addresses. 3 NICs show up as having ethernet address of ff:ff:ff:ff:ff:ff, even though they are set correctly in u-boot.
I seem to recall that Michael had the same problem.
Gordan
Gordan
On 12/03/2016 14:32, Gordan Bobic wrote:
On 22/02/16 05:02, Phong Vo wrote:
Hi,
The mp30ar0 U-boot has some special memory mapping to accommodate 32-bit DMA. Please download the tar ball again - I've updated the tianocore UHP for this.
https://dl.dropboxusercontent.com/u/20403943/mp30ar0_tianocore_binaries.ta
r.xz
Updated instruction for U-boot chain loading: MP30AR0# setenv num_cores 1 MP30AR0# setenv DDRBASE2G 1 MP30AR0# save; reset
MP30AR0# setenv load_tianocore 'tftp 0x82000000 ${user_dir}/mp30ar0_tianocore_ubt.fd; tftp 0x1d000000 ${user_dir}/mp30ar0_tianocore_sec_ubt.fd' MP30AR0# setenv run_tianocore 'go 0x1d000000' MP30AR0# run load_tianocore run_tianocore
OK, I got this far now, with some minor changes (loading Tianocore off USB until I can complete the install and put the files on the UEFI FAT disk partition. My modified incantations are:
MP30AR0# setenv num_cores 1 MP30AR0# setenv DDRBASE2G 1
MP30AR0# setenv load_tianocore ' fatload usb 0:1 0x82000000 mp30ar0_tianocore_ubt.fd; fatload usb 0:1 0x1d000000 mp30ar0_tianocore_sec_ubt.fd;'
MP30AR0# setenv run_tianocore 'go 0x1d000000' MP30AR0# save; reset
then after it reboots:
MP30AR0# usb reset MP30AR0# run load_tianocore run_tianocore
reading mp30ar0_tianocore_ubt.fd 1835008 bytes read in 569 ms (3.1 MiB/s) reading mp30ar0_tianocore_sec_ubt.fd 262144 bytes read in 218 ms (1.1 MiB/s) ## Starting application at 0x1D000000 ...
X-Gene Mp30ar0 Board Boot firmware (version 1.20.03-uhp built at 11:18:31 on Feb 22 2016) PROGRESS CODE: V3020003 I0 PROGRESS CODE: V3020002 I0 PROGRESS CODE: V3020003 I0 PROGRESS CODE: V3020002 I0 PROGRESS CODE: V3020003 I0 PROGRESS CODE: V3020002 I0 PROGRESS CODE: V3020003 I0 PROGRESS CODE: V3021001 I0
(Note: Boot stops there for long enough to be concerning. Give it a minute and it will eventually get further.)
Eventually that will get you to the bit blow as Phong mentioned previously:
Welcome banner should show something similar to below
TianoCore 1.20.03-uhp UEFI 2.4.0 Feb 22 2016 11:17:26 <=== CPU: APM ARM 64-bit Potenza Rev B0 2400MHz PCP 2400MHz 32 KB ICACHE, 32 KB DCACHE SOC 2000MHz IOBAXI 400MHz AXI 250MHz AHB 200MHz GFC 125MHz Board: X-Gene Mp30ar0 Board Slimpro FW: Ver: 2.4 (build 01.20.04.00 2016/02/18) TPC: disable AVS: support SOC: 950 mV The default boot selection will start in 5 seconds
[1] Shell [2] Boot Manager [3] Reboot [4] Shutdown
Make sure the install DVD is inserted, pick 1, and type in:
FS1:\EFI\BOOT\BOOTAA64.EFI
The installer will do the rest, with the exception of figuring out the NIC MAC addresses. 3 NICs show up as having ethernet address of ff:ff:ff:ff:ff:ff, even though they are set correctly in u-boot.
At the Shell prompt, set MAC0 xx:xx:xx:xx:xx:xx & set MAC1 xx:xx:xx:xx:xx:xx
but this was insufficient for the Centos installer to get an ip even after a reboot. What I did was change the kernel command line at the grub menu to include ip, netmask and to request vnc.
On 12/03/16 14:53, Michael Howard wrote:
On 12/03/2016 14:32, Gordan Bobic wrote:
On 22/02/16 05:02, Phong Vo wrote:
Hi,
The mp30ar0 U-boot has some special memory mapping to accommodate 32-bit DMA. Please download the tar ball again - I've updated the tianocore UHP for this.
https://dl.dropboxusercontent.com/u/20403943/mp30ar0_tianocore_binaries.ta
r.xz
Updated instruction for U-boot chain loading: MP30AR0# setenv num_cores 1 MP30AR0# setenv DDRBASE2G 1 MP30AR0# save; reset
MP30AR0# setenv load_tianocore 'tftp 0x82000000 ${user_dir}/mp30ar0_tianocore_ubt.fd; tftp 0x1d000000 ${user_dir}/mp30ar0_tianocore_sec_ubt.fd' MP30AR0# setenv run_tianocore 'go 0x1d000000' MP30AR0# run load_tianocore run_tianocore
OK, I got this far now, with some minor changes (loading Tianocore off USB until I can complete the install and put the files on the UEFI FAT disk partition. My modified incantations are:
MP30AR0# setenv num_cores 1 MP30AR0# setenv DDRBASE2G 1
MP30AR0# setenv load_tianocore ' fatload usb 0:1 0x82000000 mp30ar0_tianocore_ubt.fd; fatload usb 0:1 0x1d000000 mp30ar0_tianocore_sec_ubt.fd;'
MP30AR0# setenv run_tianocore 'go 0x1d000000' MP30AR0# save; reset
then after it reboots:
MP30AR0# usb reset MP30AR0# run load_tianocore run_tianocore
reading mp30ar0_tianocore_ubt.fd 1835008 bytes read in 569 ms (3.1 MiB/s) reading mp30ar0_tianocore_sec_ubt.fd 262144 bytes read in 218 ms (1.1 MiB/s) ## Starting application at 0x1D000000 ...
X-Gene Mp30ar0 Board Boot firmware (version 1.20.03-uhp built at 11:18:31 on Feb 22 2016) PROGRESS CODE: V3020003 I0 PROGRESS CODE: V3020002 I0 PROGRESS CODE: V3020003 I0 PROGRESS CODE: V3020002 I0 PROGRESS CODE: V3020003 I0 PROGRESS CODE: V3020002 I0 PROGRESS CODE: V3020003 I0 PROGRESS CODE: V3021001 I0
(Note: Boot stops there for long enough to be concerning. Give it a minute and it will eventually get further.)
Eventually that will get you to the bit blow as Phong mentioned previously:
Welcome banner should show something similar to below
TianoCore 1.20.03-uhp UEFI 2.4.0 Feb 22 2016 11:17:26 <=== CPU: APM ARM 64-bit Potenza Rev B0 2400MHz PCP 2400MHz 32 KB ICACHE, 32 KB DCACHE SOC 2000MHz IOBAXI 400MHz AXI 250MHz AHB 200MHz GFC 125MHz Board: X-Gene Mp30ar0 Board Slimpro FW: Ver: 2.4 (build 01.20.04.00 2016/02/18) TPC: disable AVS: support SOC: 950 mV The default boot selection will start in 5 seconds
[1] Shell [2] Boot Manager [3] Reboot [4] Shutdown
Make sure the install DVD is inserted, pick 1, and type in:
FS1:\EFI\BOOT\BOOTAA64.EFI
The installer will do the rest, with the exception of figuring out the NIC MAC addresses. 3 NICs show up as having ethernet address of ff:ff:ff:ff:ff:ff, even though they are set correctly in u-boot.
At the Shell prompt, set MAC0 xx:xx:xx:xx:xx:xx & set MAC1 xx:xx:xx:xx:xx:xx
but this was insufficient for the Centos installer to get an ip even after a reboot. What I did was change the kernel command line at the grub menu to include ip, netmask and to request vnc.
Yes, I went back through the thread and re-read about that bit. What worked for me is adding "ip=dhcp" to the kernel boot parameters. There are actually 4 NICs on this board, so I just added all 4 (MAC0-MAC3).
Gordan
On 12/03/2016 15:14, Gordan Bobic wrote:
On 12/03/16 14:53, Michael Howard wrote:
On 12/03/2016 14:32, Gordan Bobic wrote:
On 22/02/16 05:02, Phong Vo wrote:
Hi,
The mp30ar0 U-boot has some special memory mapping to accommodate 32-bit DMA. Please download the tar ball again - I've updated the tianocore UHP for this.
https://dl.dropboxusercontent.com/u/20403943/mp30ar0_tianocore_binaries.ta
r.xz
Updated instruction for U-boot chain loading: MP30AR0# setenv num_cores 1 MP30AR0# setenv DDRBASE2G 1 MP30AR0# save; reset
MP30AR0# setenv load_tianocore 'tftp 0x82000000 ${user_dir}/mp30ar0_tianocore_ubt.fd; tftp 0x1d000000 ${user_dir}/mp30ar0_tianocore_sec_ubt.fd' MP30AR0# setenv run_tianocore 'go 0x1d000000' MP30AR0# run load_tianocore run_tianocore
OK, I got this far now, with some minor changes (loading Tianocore off USB until I can complete the install and put the files on the UEFI FAT disk partition. My modified incantations are:
MP30AR0# setenv num_cores 1 MP30AR0# setenv DDRBASE2G 1
MP30AR0# setenv load_tianocore ' fatload usb 0:1 0x82000000 mp30ar0_tianocore_ubt.fd; fatload usb 0:1 0x1d000000 mp30ar0_tianocore_sec_ubt.fd;'
MP30AR0# setenv run_tianocore 'go 0x1d000000' MP30AR0# save; reset
then after it reboots:
MP30AR0# usb reset MP30AR0# run load_tianocore run_tianocore
reading mp30ar0_tianocore_ubt.fd 1835008 bytes read in 569 ms (3.1 MiB/s) reading mp30ar0_tianocore_sec_ubt.fd 262144 bytes read in 218 ms (1.1 MiB/s) ## Starting application at 0x1D000000 ...
X-Gene Mp30ar0 Board Boot firmware (version 1.20.03-uhp built at 11:18:31 on Feb 22 2016) PROGRESS CODE: V3020003 I0 PROGRESS CODE: V3020002 I0 PROGRESS CODE: V3020003 I0 PROGRESS CODE: V3020002 I0 PROGRESS CODE: V3020003 I0 PROGRESS CODE: V3020002 I0 PROGRESS CODE: V3020003 I0 PROGRESS CODE: V3021001 I0
(Note: Boot stops there for long enough to be concerning. Give it a minute and it will eventually get further.)
Eventually that will get you to the bit blow as Phong mentioned previously:
Welcome banner should show something similar to below
TianoCore 1.20.03-uhp UEFI 2.4.0 Feb 22 2016 11:17:26 <=== CPU: APM ARM 64-bit Potenza Rev B0 2400MHz PCP 2400MHz 32 KB ICACHE, 32 KB DCACHE SOC 2000MHz IOBAXI 400MHz AXI 250MHz AHB 200MHz GFC 125MHz Board: X-Gene Mp30ar0 Board Slimpro FW: Ver: 2.4 (build 01.20.04.00 2016/02/18) TPC: disable AVS: support SOC: 950 mV The default boot selection will start in 5 seconds
[1] Shell [2] Boot Manager [3] Reboot [4] Shutdown
Make sure the install DVD is inserted, pick 1, and type in:
FS1:\EFI\BOOT\BOOTAA64.EFI
The installer will do the rest, with the exception of figuring out the NIC MAC addresses. 3 NICs show up as having ethernet address of ff:ff:ff:ff:ff:ff, even though they are set correctly in u-boot.
At the Shell prompt, set MAC0 xx:xx:xx:xx:xx:xx & set MAC1 xx:xx:xx:xx:xx:xx
but this was insufficient for the Centos installer to get an ip even after a reboot. What I did was change the kernel command line at the grub menu to include ip, netmask and to request vnc.
Yes, I went back through the thread and re-read about that bit. What worked for me is adding "ip=dhcp" to the kernel boot parameters. There are actually 4 NICs on this board, so I just added all 4 (MAC0-MAC3).
Yes, ip=dhcp is also good. Actually there are 5 nics :) Not sure why the installer only sees 3, unless the the third one it sees is the BMC interface, which you wouldn't normally expect.
On 12/03/16 15:19, Michael Howard wrote:
On 12/03/2016 15:14, Gordan Bobic wrote:
On 12/03/16 14:53, Michael Howard wrote:
On 12/03/2016 14:32, Gordan Bobic wrote:
On 22/02/16 05:02, Phong Vo wrote:
Hi,
The mp30ar0 U-boot has some special memory mapping to accommodate 32-bit DMA. Please download the tar ball again - I've updated the tianocore UHP for this.
https://dl.dropboxusercontent.com/u/20403943/mp30ar0_tianocore_binaries.ta
r.xz
Updated instruction for U-boot chain loading: MP30AR0# setenv num_cores 1 MP30AR0# setenv DDRBASE2G 1 MP30AR0# save; reset
MP30AR0# setenv load_tianocore 'tftp 0x82000000 ${user_dir}/mp30ar0_tianocore_ubt.fd; tftp 0x1d000000 ${user_dir}/mp30ar0_tianocore_sec_ubt.fd' MP30AR0# setenv run_tianocore 'go 0x1d000000' MP30AR0# run load_tianocore run_tianocore
OK, I got this far now, with some minor changes (loading Tianocore off USB until I can complete the install and put the files on the UEFI FAT disk partition. My modified incantations are:
MP30AR0# setenv num_cores 1 MP30AR0# setenv DDRBASE2G 1
MP30AR0# setenv load_tianocore ' fatload usb 0:1 0x82000000 mp30ar0_tianocore_ubt.fd; fatload usb 0:1 0x1d000000 mp30ar0_tianocore_sec_ubt.fd;'
MP30AR0# setenv run_tianocore 'go 0x1d000000' MP30AR0# save; reset
then after it reboots:
MP30AR0# usb reset MP30AR0# run load_tianocore run_tianocore
reading mp30ar0_tianocore_ubt.fd 1835008 bytes read in 569 ms (3.1 MiB/s) reading mp30ar0_tianocore_sec_ubt.fd 262144 bytes read in 218 ms (1.1 MiB/s) ## Starting application at 0x1D000000 ...
X-Gene Mp30ar0 Board Boot firmware (version 1.20.03-uhp built at 11:18:31 on Feb 22 2016) PROGRESS CODE: V3020003 I0 PROGRESS CODE: V3020002 I0 PROGRESS CODE: V3020003 I0 PROGRESS CODE: V3020002 I0 PROGRESS CODE: V3020003 I0 PROGRESS CODE: V3020002 I0 PROGRESS CODE: V3020003 I0 PROGRESS CODE: V3021001 I0
(Note: Boot stops there for long enough to be concerning. Give it a minute and it will eventually get further.)
Eventually that will get you to the bit blow as Phong mentioned previously:
Welcome banner should show something similar to below
TianoCore 1.20.03-uhp UEFI 2.4.0 Feb 22 2016 11:17:26 <=== CPU: APM ARM 64-bit Potenza Rev B0 2400MHz PCP 2400MHz 32 KB ICACHE, 32 KB DCACHE SOC 2000MHz IOBAXI 400MHz AXI 250MHz AHB 200MHz GFC 125MHz Board: X-Gene Mp30ar0 Board Slimpro FW: Ver: 2.4 (build 01.20.04.00 2016/02/18) TPC: disable AVS: support SOC: 950 mV The default boot selection will start in 5 seconds
[1] Shell [2] Boot Manager [3] Reboot [4] Shutdown
Make sure the install DVD is inserted, pick 1, and type in:
FS1:\EFI\BOOT\BOOTAA64.EFI
The installer will do the rest, with the exception of figuring out the NIC MAC addresses. 3 NICs show up as having ethernet address of ff:ff:ff:ff:ff:ff, even though they are set correctly in u-boot.
At the Shell prompt, set MAC0 xx:xx:xx:xx:xx:xx & set MAC1 xx:xx:xx:xx:xx:xx
but this was insufficient for the Centos installer to get an ip even after a reboot. What I did was change the kernel command line at the grub menu to include ip, netmask and to request vnc.
Yes, I went back through the thread and re-read about that bit. What worked for me is adding "ip=dhcp" to the kernel boot parameters. There are actually 4 NICs on this board, so I just added all 4 (MAC0-MAC3).
Yes, ip=dhcp is also good. Actually there are 5 nics :) Not sure why the installer only sees 3, unless the the third one it sees is the BMC interface, which you wouldn't normally expect.
Both the installer and the installed system see 3. eth0 and eth1 are definitely the two gigabit ports.
eth3 is definitely not the BMC (different MAC address, I just checked). So eth3 is one of the SFP ports. Which makes me wonder why the 2nd SFP port isn't showing up.
Gordan
On 12/03/2016 15:52, Gordan Bobic wrote:
On 12/03/16 15:19, Michael Howard wrote:
On 12/03/2016 15:14, Gordan Bobic wrote:
On 12/03/16 14:53, Michael Howard wrote:
On 12/03/2016 14:32, Gordan Bobic wrote:
On 22/02/16 05:02, Phong Vo wrote:
Hi,
The mp30ar0 U-boot has some special memory mapping to accommodate 32-bit DMA. Please download the tar ball again - I've updated the tianocore UHP for this.
https://dl.dropboxusercontent.com/u/20403943/mp30ar0_tianocore_binaries.ta
r.xz
Updated instruction for U-boot chain loading: MP30AR0# setenv num_cores 1 MP30AR0# setenv DDRBASE2G 1 MP30AR0# save; reset
MP30AR0# setenv load_tianocore 'tftp 0x82000000 ${user_dir}/mp30ar0_tianocore_ubt.fd; tftp 0x1d000000 ${user_dir}/mp30ar0_tianocore_sec_ubt.fd' MP30AR0# setenv run_tianocore 'go 0x1d000000' MP30AR0# run load_tianocore run_tianocore
OK, I got this far now, with some minor changes (loading Tianocore off USB until I can complete the install and put the files on the UEFI FAT disk partition. My modified incantations are:
MP30AR0# setenv num_cores 1 MP30AR0# setenv DDRBASE2G 1
MP30AR0# setenv load_tianocore ' fatload usb 0:1 0x82000000 mp30ar0_tianocore_ubt.fd; fatload usb 0:1 0x1d000000 mp30ar0_tianocore_sec_ubt.fd;'
MP30AR0# setenv run_tianocore 'go 0x1d000000' MP30AR0# save; reset
then after it reboots:
MP30AR0# usb reset MP30AR0# run load_tianocore run_tianocore
reading mp30ar0_tianocore_ubt.fd 1835008 bytes read in 569 ms (3.1 MiB/s) reading mp30ar0_tianocore_sec_ubt.fd 262144 bytes read in 218 ms (1.1 MiB/s) ## Starting application at 0x1D000000 ...
X-Gene Mp30ar0 Board Boot firmware (version 1.20.03-uhp built at 11:18:31 on Feb 22 2016) PROGRESS CODE: V3020003 I0 PROGRESS CODE: V3020002 I0 PROGRESS CODE: V3020003 I0 PROGRESS CODE: V3020002 I0 PROGRESS CODE: V3020003 I0 PROGRESS CODE: V3020002 I0 PROGRESS CODE: V3020003 I0 PROGRESS CODE: V3021001 I0
(Note: Boot stops there for long enough to be concerning. Give it a minute and it will eventually get further.)
Eventually that will get you to the bit blow as Phong mentioned previously:
Welcome banner should show something similar to below
TianoCore 1.20.03-uhp UEFI 2.4.0 Feb 22 2016 11:17:26 <=== CPU: APM ARM 64-bit Potenza Rev B0 2400MHz PCP 2400MHz 32 KB ICACHE, 32 KB DCACHE SOC 2000MHz IOBAXI 400MHz AXI 250MHz AHB 200MHz GFC 125MHz Board: X-Gene Mp30ar0 Board Slimpro FW: Ver: 2.4 (build 01.20.04.00 2016/02/18) TPC: disable AVS: support SOC: 950 mV The default boot selection will start in 5 seconds
[1] Shell [2] Boot Manager [3] Reboot [4] Shutdown
Make sure the install DVD is inserted, pick 1, and type in:
FS1:\EFI\BOOT\BOOTAA64.EFI
The installer will do the rest, with the exception of figuring out the NIC MAC addresses. 3 NICs show up as having ethernet address of ff:ff:ff:ff:ff:ff, even though they are set correctly in u-boot.
At the Shell prompt, set MAC0 xx:xx:xx:xx:xx:xx & set MAC1 xx:xx:xx:xx:xx:xx
but this was insufficient for the Centos installer to get an ip even after a reboot. What I did was change the kernel command line at the grub menu to include ip, netmask and to request vnc.
Yes, I went back through the thread and re-read about that bit. What worked for me is adding "ip=dhcp" to the kernel boot parameters. There are actually 4 NICs on this board, so I just added all 4 (MAC0-MAC3).
Yes, ip=dhcp is also good. Actually there are 5 nics :) Not sure why the installer only sees 3, unless the the third one it sees is the BMC interface, which you wouldn't normally expect.
Both the installer and the installed system see 3. eth0 and eth1 are definitely the two gigabit ports.
eth3 is definitely not the BMC (different MAC address, I just checked). So eth3 is one of the SFP ports. Which makes me wonder why the 2nd SFP port isn't showing up.
Ah, yes, I seem to remember this being a kernel issue, can't remember an exact reference though. I'll try and jog the grey matter.
On 12/03/2016 15:52, Gordan Bobic wrote:
On 12/03/16 15:19, Michael Howard wrote:
On 12/03/2016 15:14, Gordan Bobic wrote:
On 12/03/16 14:53, Michael Howard wrote:
On 12/03/2016 14:32, Gordan Bobic wrote:
On 22/02/16 05:02, Phong Vo wrote:
Hi,
The mp30ar0 U-boot has some special memory mapping to accommodate 32-bit DMA. Please download the tar ball again - I've updated the tianocore UHP for this.
https://dl.dropboxusercontent.com/u/20403943/mp30ar0_tianocore_binaries.ta
r.xz
Updated instruction for U-boot chain loading: MP30AR0# setenv num_cores 1 MP30AR0# setenv DDRBASE2G 1 MP30AR0# save; reset
MP30AR0# setenv load_tianocore 'tftp 0x82000000 ${user_dir}/mp30ar0_tianocore_ubt.fd; tftp 0x1d000000 ${user_dir}/mp30ar0_tianocore_sec_ubt.fd' MP30AR0# setenv run_tianocore 'go 0x1d000000' MP30AR0# run load_tianocore run_tianocore
OK, I got this far now, with some minor changes (loading Tianocore off USB until I can complete the install and put the files on the UEFI FAT disk partition. My modified incantations are:
MP30AR0# setenv num_cores 1 MP30AR0# setenv DDRBASE2G 1
MP30AR0# setenv load_tianocore ' fatload usb 0:1 0x82000000 mp30ar0_tianocore_ubt.fd; fatload usb 0:1 0x1d000000 mp30ar0_tianocore_sec_ubt.fd;'
MP30AR0# setenv run_tianocore 'go 0x1d000000' MP30AR0# save; reset
then after it reboots:
MP30AR0# usb reset MP30AR0# run load_tianocore run_tianocore
reading mp30ar0_tianocore_ubt.fd 1835008 bytes read in 569 ms (3.1 MiB/s) reading mp30ar0_tianocore_sec_ubt.fd 262144 bytes read in 218 ms (1.1 MiB/s) ## Starting application at 0x1D000000 ...
X-Gene Mp30ar0 Board Boot firmware (version 1.20.03-uhp built at 11:18:31 on Feb 22 2016) PROGRESS CODE: V3020003 I0 PROGRESS CODE: V3020002 I0 PROGRESS CODE: V3020003 I0 PROGRESS CODE: V3020002 I0 PROGRESS CODE: V3020003 I0 PROGRESS CODE: V3020002 I0 PROGRESS CODE: V3020003 I0 PROGRESS CODE: V3021001 I0
(Note: Boot stops there for long enough to be concerning. Give it a minute and it will eventually get further.)
Eventually that will get you to the bit blow as Phong mentioned previously:
Welcome banner should show something similar to below
TianoCore 1.20.03-uhp UEFI 2.4.0 Feb 22 2016 11:17:26 <=== CPU: APM ARM 64-bit Potenza Rev B0 2400MHz PCP 2400MHz 32 KB ICACHE, 32 KB DCACHE SOC 2000MHz IOBAXI 400MHz AXI 250MHz AHB 200MHz GFC 125MHz Board: X-Gene Mp30ar0 Board Slimpro FW: Ver: 2.4 (build 01.20.04.00 2016/02/18) TPC: disable AVS: support SOC: 950 mV The default boot selection will start in 5 seconds
[1] Shell [2] Boot Manager [3] Reboot [4] Shutdown
Make sure the install DVD is inserted, pick 1, and type in:
FS1:\EFI\BOOT\BOOTAA64.EFI
The installer will do the rest, with the exception of figuring out the NIC MAC addresses. 3 NICs show up as having ethernet address of ff:ff:ff:ff:ff:ff, even though they are set correctly in u-boot.
At the Shell prompt, set MAC0 xx:xx:xx:xx:xx:xx & set MAC1 xx:xx:xx:xx:xx:xx
but this was insufficient for the Centos installer to get an ip even after a reboot. What I did was change the kernel command line at the grub menu to include ip, netmask and to request vnc.
Yes, I went back through the thread and re-read about that bit. What worked for me is adding "ip=dhcp" to the kernel boot parameters. There are actually 4 NICs on this board, so I just added all 4 (MAC0-MAC3).
Yes, ip=dhcp is also good. Actually there are 5 nics :) Not sure why the installer only sees 3, unless the the third one it sees is the BMC interface, which you wouldn't normally expect.
Both the installer and the installed system see 3. eth0 and eth1 are definitely the two gigabit ports.
eth3 is definitely not the BMC (different MAC address, I just checked). So eth3 is one of the SFP ports. Which makes me wonder why the 2nd SFP port isn't showing up.
The physical label on the port header will tell you which 10Gb port it is. On my modified 4.5.0-rc6 I do see 4 nics but the fourth is bogus as the hwaddr is nothing like and I can't physically test at the mo. I don't think there is support yet for the second 10Gb nic.
On 12/03/16 16:31, Michael Howard wrote:
On 12/03/2016 15:52, Gordan Bobic wrote:
On 12/03/16 15:19, Michael Howard wrote:
On 12/03/2016 15:14, Gordan Bobic wrote:
On 12/03/16 14:53, Michael Howard wrote:
On 12/03/2016 14:32, Gordan Bobic wrote:
On 22/02/16 05:02, Phong Vo wrote: > Hi, > > The mp30ar0 U-boot has some special memory mapping to accommodate > 32-bit > DMA. > Please download the tar ball again - I've updated the tianocore UHP > for > this. > > https://dl.dropboxusercontent.com/u/20403943/mp30ar0_tianocore_binaries.ta > > > > r.xz > > Updated instruction for U-boot chain loading: > MP30AR0# setenv num_cores 1 > MP30AR0# setenv DDRBASE2G 1 > MP30AR0# save; reset > > MP30AR0# setenv load_tianocore 'tftp 0x82000000 > ${user_dir}/mp30ar0_tianocore_ubt.fd; tftp 0x1d000000 > ${user_dir}/mp30ar0_tianocore_sec_ubt.fd' > MP30AR0# setenv run_tianocore 'go 0x1d000000' > MP30AR0# run load_tianocore run_tianocore
OK, I got this far now, with some minor changes (loading Tianocore off USB until I can complete the install and put the files on the UEFI FAT disk partition. My modified incantations are:
MP30AR0# setenv num_cores 1 MP30AR0# setenv DDRBASE2G 1
MP30AR0# setenv load_tianocore ' fatload usb 0:1 0x82000000 mp30ar0_tianocore_ubt.fd; fatload usb 0:1 0x1d000000 mp30ar0_tianocore_sec_ubt.fd;'
MP30AR0# setenv run_tianocore 'go 0x1d000000' MP30AR0# save; reset
then after it reboots:
MP30AR0# usb reset MP30AR0# run load_tianocore run_tianocore
reading mp30ar0_tianocore_ubt.fd 1835008 bytes read in 569 ms (3.1 MiB/s) reading mp30ar0_tianocore_sec_ubt.fd 262144 bytes read in 218 ms (1.1 MiB/s) ## Starting application at 0x1D000000 ...
X-Gene Mp30ar0 Board Boot firmware (version 1.20.03-uhp built at 11:18:31 on Feb 22 2016) PROGRESS CODE: V3020003 I0 PROGRESS CODE: V3020002 I0 PROGRESS CODE: V3020003 I0 PROGRESS CODE: V3020002 I0 PROGRESS CODE: V3020003 I0 PROGRESS CODE: V3020002 I0 PROGRESS CODE: V3020003 I0 PROGRESS CODE: V3021001 I0
(Note: Boot stops there for long enough to be concerning. Give it a minute and it will eventually get further.)
Eventually that will get you to the bit blow as Phong mentioned previously:
> Welcome banner should show something similar to below > > TianoCore 1.20.03-uhp UEFI 2.4.0 Feb 22 2016 11:17:26 <=== > CPU: APM ARM 64-bit Potenza Rev B0 2400MHz PCP 2400MHz > 32 KB ICACHE, 32 KB DCACHE > SOC 2000MHz IOBAXI 400MHz AXI 250MHz AHB 200MHz GFC 125MHz > Board: X-Gene Mp30ar0 Board > Slimpro FW: > Ver: 2.4 (build 01.20.04.00 2016/02/18) > TPC: disable > AVS: support > SOC: 950 mV > The default boot selection will start in 5 seconds [1] Shell [2] Boot Manager [3] Reboot [4] Shutdown
Make sure the install DVD is inserted, pick 1, and type in:
FS1:\EFI\BOOT\BOOTAA64.EFI
The installer will do the rest, with the exception of figuring out the NIC MAC addresses. 3 NICs show up as having ethernet address of ff:ff:ff:ff:ff:ff, even though they are set correctly in u-boot.
At the Shell prompt, set MAC0 xx:xx:xx:xx:xx:xx & set MAC1 xx:xx:xx:xx:xx:xx
but this was insufficient for the Centos installer to get an ip even after a reboot. What I did was change the kernel command line at the grub menu to include ip, netmask and to request vnc.
Yes, I went back through the thread and re-read about that bit. What worked for me is adding "ip=dhcp" to the kernel boot parameters. There are actually 4 NICs on this board, so I just added all 4 (MAC0-MAC3).
Yes, ip=dhcp is also good. Actually there are 5 nics :) Not sure why the installer only sees 3, unless the the third one it sees is the BMC interface, which you wouldn't normally expect.
Both the installer and the installed system see 3. eth0 and eth1 are definitely the two gigabit ports.
eth3 is definitely not the BMC (different MAC address, I just checked). So eth3 is one of the SFP ports. Which makes me wonder why the 2nd SFP port isn't showing up.
The physical label on the port header will tell you which 10Gb port it is.
ethtool shows eth0 and eth1 are 1G, and eth2 is 10G, which is in line with what I mentioned earlier.
On my modified 4.5.0-rc6 I do see 4 nics but the fourth is bogus as the hwaddr is nothing like and I can't physically test at the mo. I don't think there is support yet for the second 10Gb nic.
So mainline 4.5.0 works without needing extra patches? What config did you use? The one from the CentOS kernel (with make oldconfig or similar)? I take it 4.1.x (most recent LT) is out of the question.
Gordan
On 12/03/2016 16:42, Gordan Bobic wrote:
On 12/03/16 16:31, Michael Howard wrote:
On 12/03/2016 15:52, Gordan Bobic wrote:
On 12/03/16 15:19, Michael Howard wrote:
On 12/03/2016 15:14, Gordan Bobic wrote:
On 12/03/16 14:53, Michael Howard wrote:
On 12/03/2016 14:32, Gordan Bobic wrote: > On 22/02/16 05:02, Phong Vo wrote: >> Hi, >> >> The mp30ar0 U-boot has some special memory mapping to accommodate >> 32-bit >> DMA. >> Please download the tar ball again - I've updated the tianocore >> UHP >> for >> this. >> >> https://dl.dropboxusercontent.com/u/20403943/mp30ar0_tianocore_binaries.ta >> >> >> >> >> r.xz >> >> Updated instruction for U-boot chain loading: >> MP30AR0# setenv num_cores 1 >> MP30AR0# setenv DDRBASE2G 1 >> MP30AR0# save; reset >> >> MP30AR0# setenv load_tianocore 'tftp 0x82000000 >> ${user_dir}/mp30ar0_tianocore_ubt.fd; tftp 0x1d000000 >> ${user_dir}/mp30ar0_tianocore_sec_ubt.fd' >> MP30AR0# setenv run_tianocore 'go 0x1d000000' >> MP30AR0# run load_tianocore run_tianocore > > OK, I got this far now, with some minor changes (loading Tianocore > off > USB until I can complete the install and put the files on the UEFI > FAT disk partition. My modified incantations are: > > MP30AR0# setenv num_cores 1 > MP30AR0# setenv DDRBASE2G 1 > > MP30AR0# setenv load_tianocore ' > fatload usb 0:1 0x82000000 mp30ar0_tianocore_ubt.fd; > fatload usb 0:1 0x1d000000 mp30ar0_tianocore_sec_ubt.fd;' > > MP30AR0# setenv run_tianocore 'go 0x1d000000' > MP30AR0# save; reset > > then after it reboots: > > MP30AR0# usb reset > MP30AR0# run load_tianocore run_tianocore > > reading mp30ar0_tianocore_ubt.fd > 1835008 bytes read in 569 ms (3.1 MiB/s) > reading mp30ar0_tianocore_sec_ubt.fd > 262144 bytes read in 218 ms (1.1 MiB/s) > ## Starting application at 0x1D000000 ... > > > X-Gene Mp30ar0 Board > Boot firmware (version 1.20.03-uhp built at 11:18:31 on Feb 22 > 2016) > PROGRESS CODE: V3020003 I0 > PROGRESS CODE: V3020002 I0 > PROGRESS CODE: V3020003 I0 > PROGRESS CODE: V3020002 I0 > PROGRESS CODE: V3020003 I0 > PROGRESS CODE: V3020002 I0 > PROGRESS CODE: V3020003 I0 > PROGRESS CODE: V3021001 I0 > > *** > (Note: Boot stops there for long enough to be concerning. Give it a > minute and it will eventually get further.) > *** > > Eventually that will get you to the bit blow as Phong mentioned > previously: > >> Welcome banner should show something similar to below >> >> TianoCore 1.20.03-uhp UEFI 2.4.0 Feb 22 2016 11:17:26 <=== >> CPU: APM ARM 64-bit Potenza Rev B0 2400MHz PCP 2400MHz >> 32 KB ICACHE, 32 KB DCACHE >> SOC 2000MHz IOBAXI 400MHz AXI 250MHz AHB 200MHz GFC 125MHz >> Board: X-Gene Mp30ar0 Board >> Slimpro FW: >> Ver: 2.4 (build 01.20.04.00 2016/02/18) >> TPC: disable >> AVS: support >> SOC: 950 mV >> The default boot selection will start in 5 seconds > [1] Shell > [2] Boot Manager > [3] Reboot > [4] Shutdown > > Make sure the install DVD is inserted, pick 1, and type in: > > FS1:\EFI\BOOT\BOOTAA64.EFI > > The installer will do the rest, with the exception of figuring out > the > NIC MAC addresses. 3 NICs show up as having ethernet address of > ff:ff:ff:ff:ff:ff, even though they are set correctly in u-boot. > At the Shell prompt, set MAC0 xx:xx:xx:xx:xx:xx & set MAC1 xx:xx:xx:xx:xx:xx
but this was insufficient for the Centos installer to get an ip even after a reboot. What I did was change the kernel command line at the grub menu to include ip, netmask and to request vnc.
Yes, I went back through the thread and re-read about that bit. What worked for me is adding "ip=dhcp" to the kernel boot parameters. There are actually 4 NICs on this board, so I just added all 4 (MAC0-MAC3).
Yes, ip=dhcp is also good. Actually there are 5 nics :) Not sure why the installer only sees 3, unless the the third one it sees is the BMC interface, which you wouldn't normally expect.
Both the installer and the installed system see 3. eth0 and eth1 are definitely the two gigabit ports.
eth3 is definitely not the BMC (different MAC address, I just checked). So eth3 is one of the SFP ports. Which makes me wonder why the 2nd SFP port isn't showing up.
The physical label on the port header will tell you which 10Gb port it is.
ethtool shows eth0 and eth1 are 1G, and eth2 is 10G, which is in line with what I mentioned earlier.
Yeah, I meant from the sticky label on the port header of the board, you'll know which physical port was being identified, in case you can't physically check which port is working.
On my modified 4.5.0-rc6 I do see 4 nics but the fourth is bogus as the hwaddr is nothing like and I can't physically test at the mo. I don't think there is support yet for the second 10Gb nic.
So mainline 4.5.0 works without needing extra patches?
Yes.
What config did you use? The one from the CentOS kernel (with make oldconfig or similar)?
Yes, I started with the original config, accepting all defaults, then made the changes I neeeded/wanted.
I take it 4.1.x (most recent LT) is out of the question.
I doubt it's 'out of the question'.
As I said earlier, I can't physically test my 10G ports at the mo and the mac address of eth3 is wildly out. However, ethtool does report (the same as eth2);
# ethtool eth3 Settings for eth3: Supported ports: [ FIBRE ] Supported link modes: 10000baseT/Full Supported pause frame use: No Supports auto-negotiation: No Advertised link modes: 10000baseT/Full Advertised pause frame use: No Advertised auto-negotiation: No Speed: 10000Mb/s Duplex: Full Port: FIBRE PHYAD: 0 Transceiver: internal Auto-negotiation: off Link detected: no
so maybe it's just a mis reported mac address.
On 12/03/16 17:12, Michael Howard wrote:
On 12/03/2016 16:42, Gordan Bobic wrote:
On 12/03/16 16:31, Michael Howard wrote:
On my modified 4.5.0-rc6 I do see 4 nics but the fourth is bogus as the hwaddr is nothing like and I can't physically test at the mo. I don't think there is support yet for the second 10Gb nic.
So mainline 4.5.0 works without needing extra patches?
Yes.
What config did you use? The one from the CentOS kernel (with make oldconfig or similar)?
Yes, I started with the original config, accepting all defaults, then made the changes I neeeded/wanted.
I take it 4.1.x (most recent LT) is out of the question.
I doubt it's 'out of the question'.
So I just looked at the CentOS git here: https://git.centos.org/summary/rpms!kernel-aarch64
The SPEC file shows: %define rpmversion 4.2.0 %define pkgrelease 0.21.el7
But: $ rpm -qa | grep kernel-4 kernel-4.2.0-0.26.el7.1.aarch64 $ uname -r 4.2.0-0.26.el7.1.aarch64
So where is the branch containing the latest 4.2.0-0.26.el7?
Also, I only see one patch: linux-kernel-test.patch
Is that really it? No special patches required to make the X-Gene work fully?
Another thing to consider is that 4.2.x is long EOL-ed (4.3.x is also EOL-ed now).
Michael, did you build your 4.5.x kernel as an rpm or standalone? Are there any special steps required other than "make all", copying the DTBs to /boot/dtb-<kernel version> and dracut-ing a new initrd?
Gordan
Bump. It seems the kernel binary rpm doesn't match the availability of the sources for it. I can find no src.rpm matching the binary, and the CentOS git doesn't seem to include this version: https://git.centos.org/summary/rpms!kernel-aarch64
Can you please provide the full src.rpm used to build the kernel-4.2.0-0.26.el7.1.aarch64 package?
Many thanks.
Gordan
On 13/03/16 07:32, Gordan Bobic wrote:
On 12/03/16 17:12, Michael Howard wrote:
On 12/03/2016 16:42, Gordan Bobic wrote:
On 12/03/16 16:31, Michael Howard wrote:
On my modified 4.5.0-rc6 I do see 4 nics but the fourth is bogus as the hwaddr is nothing like and I can't physically test at the mo. I don't think there is support yet for the second 10Gb nic.
So mainline 4.5.0 works without needing extra patches?
Yes.
What config did you use? The one from the CentOS kernel (with make oldconfig or similar)?
Yes, I started with the original config, accepting all defaults, then made the changes I neeeded/wanted.
I take it 4.1.x (most recent LT) is out of the question.
I doubt it's 'out of the question'.
So I just looked at the CentOS git here: https://git.centos.org/summary/rpms!kernel-aarch64
The SPEC file shows: %define rpmversion 4.2.0 %define pkgrelease 0.21.el7
But: $ rpm -qa | grep kernel-4 kernel-4.2.0-0.26.el7.1.aarch64 $ uname -r 4.2.0-0.26.el7.1.aarch64
So where is the branch containing the latest 4.2.0-0.26.el7?
Also, I only see one patch: linux-kernel-test.patch
Is that really it? No special patches required to make the X-Gene work fully?
Another thing to consider is that 4.2.x is long EOL-ed (4.3.x is also EOL-ed now).
Michael, did you build your 4.5.x kernel as an rpm or standalone? Are there any special steps required other than "make all", copying the DTBs to /boot/dtb-<kernel version> and dracut-ing a new initrd?
Gordan _______________________________________________ Arm-dev mailing list Arm-dev@centos.org https://lists.centos.org/mailman/listinfo/arm-dev
On 03/19/2016 04:12 AM, Gordan Bobic wrote:
Bump. It seems the kernel binary rpm doesn't match the availability of the sources for it. I can find no src.rpm matching the binary, and the CentOS git doesn't seem to include this version: https://git.centos.org/summary/rpms!kernel-aarch64
You're looking in the wrong place. That's the git tree for the redhat provided rhel(sa) sources. We don't modify that tree.
You want the sig-altarch7-aarch64 branch from https://git.centos.org/summary/sig-altarch!kernel.git
Can you please provide the full src.rpm used to build the kernel-4.2.0-0.26.el7.1.aarch64 package?
http://people.centos.org/jperrin/srpms/kernel-aarch64-4.2.0-0.26.el7.1.src.r...
I might also recommend a new thread rather than just a subject change for discussions like this. This message was very nearly lost to me as I've stopped watching the gigabyte board thread.
On 12/03/16 17:12, Michael Howard wrote:
On 12/03/2016 16:42, Gordan Bobic wrote:
On 12/03/16 16:31, Michael Howard wrote:
On my modified 4.5.0-rc6 I do see 4 nics but the fourth is bogus as the hwaddr is nothing like and I can't physically test at the mo. I don't think there is support yet for the second 10Gb nic.
So mainline 4.5.0 works without needing extra patches?
Yes.
I just build 4.4.5, and that works without any extra patches, too. Impressive. This is starting to get close to x86 as far as the lack of hoop jumping goes.
What config did you use? The one from the CentOS kernel (with make oldconfig or similar)?
Yes, I started with the original config, accepting all defaults, then made the changes I neeeded/wanted.
Worked for me, too.
As I said earlier, I can't physically test my 10G ports at the mo and the mac address of eth3 is wildly out. However, ethtool does report (the same as eth2);
# ethtool eth3 Settings for eth3: Supported ports: [ FIBRE ] Supported link modes: 10000baseT/Full Supported pause frame use: No Supports auto-negotiation: No Advertised link modes: 10000baseT/Full Advertised pause frame use: No Advertised auto-negotiation: No Speed: 10000Mb/s Duplex: Full Port: FIBRE PHYAD: 0 Transceiver: internal Auto-negotiation: off Link detected: no
so maybe it's just a mis reported mac address.
I'm also seeing the extra NIC with 4.4.5, but as you also described, the reported MAC address is wrong.
I wasn't intending to use the fibre ports anyway, though.
Gordan
On Sat, Mar 12, 2016 at 02:32:50PM +0000, Gordan Bobic wrote:
X-Gene Mp30ar0 Board Boot firmware (version 1.20.03-uhp built at 11:18:31 on Feb 22 2016) PROGRESS CODE: V3020003 I0 PROGRESS CODE: V3020002 I0 PROGRESS CODE: V3020003 I0 PROGRESS CODE: V3020002 I0 PROGRESS CODE: V3020003 I0 PROGRESS CODE: V3020002 I0 PROGRESS CODE: V3020003 I0 PROGRESS CODE: V3021001 I0
(Note: Boot stops there for long enough to be concerning. Give it a minute and it will eventually get further.)
Yup - this is normal, unfortunately. You could rebuild TianoCore with debugging enabled (which outputs a really enormous amount of debugging in my experience is generally annoying), and that could tell you what it's doing. Anyway, as long as it eventually gets past that, all good :-)
Make sure the install DVD is inserted, pick 1, and type in:
FS1:\EFI\BOOT\BOOTAA64.EFI
UEFI is like a DOS shell, so you can also do commands like:
fs1: dir cd \efi\boot dir bootaa64
Rich.
On Sat, Feb 20, 2016 at 11:06:08AM +0700, Phong Vo wrote:
In theory, you just need to convert CentOS vmlinuz to uImage, then do U-boot boot using the dtb and CentOS initrd.img; but somehow it hangs on me. I'll need to dig into it further.
I am not aware that it was shipped only with U-boot. If you want to try with UEFI, take it from my dropbox
https://dl.dropboxusercontent.com/u/20403943/mp30ar0_tianocore_binaries.tar....
mp30ar0_tianocore_media.img: burn to SPI NOR if you want to replace U-boot permanently
Has anyone tried this step ^^ (replacing u-boot permanently)?
I'm not too keen to brick an $800 board. Is it reversible?
Rich.
On 04/03/2016 11:47, Richard W.M. Jones wrote:
On Sat, Feb 20, 2016 at 11:06:08AM +0700, Phong Vo wrote:
In theory, you just need to convert CentOS vmlinuz to uImage, then do U-boot boot using the dtb and CentOS initrd.img; but somehow it hangs on me. I'll need to dig into it further.
I am not aware that it was shipped only with U-boot. If you want to try with UEFI, take it from my dropbox
https://dl.dropboxusercontent.com/u/20403943/mp30ar0_tianocore_binaries.tar....
mp30ar0_tianocore_media.img: burn to SPI NOR if you want to replace U-boot permanently
Has anyone tried this step ^^ (replacing u-boot permanently)?
I'm not too keen to brick an $800 board. Is it reversible?
No, not tried it, don't see the point of risking it at the mo. Somebody did brick their board (https://lists.centos.org/pipermail/arm-dev/2016-February/001622.html) and for me, I just chainload tianocore from u-boot via tftp.
There should be no issue of replacing U-boot in SPI nor with the mp30ar0 Tianocore version. But you need to use the mp30ar0_tianocore_media.img I provide, not the one supplied with the Mustang board. It was likely the person burn the wrong BIOS on the board!
You can burn the Tianocore image from U-boot using TFTP. Please check and setup your U-boot variables:
media_addr_r=0x4001000000 media_img=mp30ar0_tianocore_media.img spi_load=tftp ${media_addr_r} ${user_dir}/${media_img} spi_update=sf probe 0; sf erase 0x0 ${filesize}; sf write ${media_addr_r} 0x0 ${filesize}
# run spi_load <== Make sure it is successful # run spi_update # reset
If there is any issue, it's still recoverable using SD card.
-Phong
-----Original Message----- From: arm-dev-bounces@centos.org [mailto:arm-dev-bounces@centos.org] On Behalf Of Michael Howard Sent: Friday, March 04, 2016 9:05 PM To: arm-dev@centos.org Subject: Re: [Arm-dev] Gigabyte MP30-AR0
On 04/03/2016 11:47, Richard W.M. Jones wrote:
On Sat, Feb 20, 2016 at 11:06:08AM +0700, Phong Vo wrote:
In theory, you just need to convert CentOS vmlinuz to uImage, then do
U-boot
boot using the dtb and CentOS initrd.img; but somehow it hangs on me. I'll need to dig into it further.
I am not aware that it was shipped only with U-boot. If you want to try
with
UEFI, take it from my dropbox
https://dl.dropboxusercontent.com/u/20403943/mp30ar0_tianocore_binaries.ta r.xz
mp30ar0_tianocore_media.img: burn to SPI NOR if you want to replace
U-boot
permanently
Has anyone tried this step ^^ (replacing u-boot permanently)?
I'm not too keen to brick an $800 board. Is it reversible?
No, not tried it, don't see the point of risking it at the mo. Somebody did brick their board (https://lists.centos.org/pipermail/arm-dev/2016-February/001622.html) and for me, I just chainload tianocore from u-boot via tftp.
On 05/03/2016 03:26, Phong Vo wrote:
There should be no issue of replacing U-boot in SPI nor with the mp30ar0 Tianocore version. But you need to use the mp30ar0_tianocore_media.img I provide, not the one supplied with the Mustang board. It was likely the person burn the wrong BIOS on the board!
You can burn the Tianocore image from U-boot using TFTP. Please check and setup your U-boot variables:
media_addr_r=0x4001000000 media_img=mp30ar0_tianocore_media.img spi_load=tftp ${media_addr_r} ${user_dir}/${media_img} spi_update=sf probe 0; sf erase 0x0 ${filesize}; sf write ${media_addr_r} 0x0 ${filesize}
# run spi_load <== Make sure it is successful # run spi_update # reset
If there is any issue, it's still recoverable using SD card.
-Phong
Ok, thanks, I'll give it a go, just for the halibut!.
Cheers, Mike.
On Sat, Mar 05, 2016 at 10:26:25AM +0700, Phong Vo wrote:
There should be no issue of replacing U-boot in SPI nor with the mp30ar0 Tianocore version. But you need to use the mp30ar0_tianocore_media.img I provide, not the one supplied with the Mustang board. It was likely the person burn the wrong BIOS on the board!
You can burn the Tianocore image from U-boot using TFTP. Please check and setup your U-boot variables:
media_addr_r=0x4001000000 media_img=mp30ar0_tianocore_media.img spi_load=tftp ${media_addr_r} ${user_dir}/${media_img} spi_update=sf probe 0; sf erase 0x0 ${filesize}; sf write ${media_addr_r} 0x0 ${filesize}
# run spi_load <== Make sure it is successful # run spi_update # reset
If there is any issue, it's still recoverable using SD card.
As a warning to anyone else, that bricked mine.
Rich.
On 05/03/2016 11:06, Richard W.M. Jones wrote:
On Sat, Mar 05, 2016 at 10:26:25AM +0700, Phong Vo wrote:
There should be no issue of replacing U-boot in SPI nor with the mp30ar0 Tianocore version. But you need to use the mp30ar0_tianocore_media.img I provide, not the one supplied with the Mustang board. It was likely the person burn the wrong BIOS on the board!
You can burn the Tianocore image from U-boot using TFTP. Please check and setup your U-boot variables:
media_addr_r=0x4001000000 media_img=mp30ar0_tianocore_media.img spi_load=tftp ${media_addr_r} ${user_dir}/${media_img} spi_update=sf probe 0; sf erase 0x0 ${filesize}; sf write ${media_addr_r} 0x0 ${filesize}
# run spi_load <== Make sure it is successful # run spi_update # reset
If there is any issue, it's still recoverable using SD card.
As a warning to anyone else, that bricked mine.
Since your post yesterday? Did u-boot chainload UEFI ok prior to attempting the permanent change?
On Sat, Mar 05, 2016 at 11:12:00AM +0000, Michael Howard wrote:
On 05/03/2016 11:06, Richard W.M. Jones wrote:
On Sat, Mar 05, 2016 at 10:26:25AM +0700, Phong Vo wrote:
There should be no issue of replacing U-boot in SPI nor with the mp30ar0 Tianocore version. But you need to use the mp30ar0_tianocore_media.img I provide, not the one supplied with the Mustang board. It was likely the person burn the wrong BIOS on the board!
You can burn the Tianocore image from U-boot using TFTP. Please check and setup your U-boot variables:
media_addr_r=0x4001000000 media_img=mp30ar0_tianocore_media.img spi_load=tftp ${media_addr_r} ${user_dir}/${media_img} spi_update=sf probe 0; sf erase 0x0 ${filesize}; sf write ${media_addr_r} 0x0 ${filesize}
# run spi_load <== Make sure it is successful # run spi_update # reset
If there is any issue, it's still recoverable using SD card.
As a warning to anyone else, that bricked mine.
Since your post yesterday? Did u-boot chainload UEFI ok prior to attempting the permanent change?
Chainloading UEFI worked (albeit tedious and slow and requiring a network connection).
I wanted to permanently get rid of u-boot because I want to see if we can turn these boards into real (SBSA/SBBR) server hardware that can run RHEL.
I'm just going through the SD card recovery procedure now -- section 2.7 of the Software Reference Guide. Will report back ...
Rich.
On Sat, Mar 05, 2016 at 11:22:15AM +0000, Richard W.M. Jones wrote:
I'm just going through the SD card recovery procedure now -- section 2.7 of the Software Reference Guide. Will report back ...
The good news is this recovery procedure works, so the board isn't bricked.
It also means I can continue to experiment with installing Tianocore on the SPI flash.
Rich.
On 05/03/16 11:22, Richard W.M. Jones wrote:
On Sat, Mar 05, 2016 at 11:12:00AM +0000, Michael Howard wrote:
On 05/03/2016 11:06, Richard W.M. Jones wrote:
On Sat, Mar 05, 2016 at 10:26:25AM +0700, Phong Vo wrote:
There should be no issue of replacing U-boot in SPI nor with the mp30ar0 Tianocore version. But you need to use the mp30ar0_tianocore_media.img I provide, not the one supplied with the Mustang board. It was likely the person burn the wrong BIOS on the board!
You can burn the Tianocore image from U-boot using TFTP. Please check and setup your U-boot variables:
media_addr_r=0x4001000000 media_img=mp30ar0_tianocore_media.img spi_load=tftp ${media_addr_r} ${user_dir}/${media_img} spi_update=sf probe 0; sf erase 0x0 ${filesize}; sf write ${media_addr_r} 0x0 ${filesize}
# run spi_load <== Make sure it is successful # run spi_update # reset
If there is any issue, it's still recoverable using SD card.
As a warning to anyone else, that bricked mine.
Since your post yesterday? Did u-boot chainload UEFI ok prior to attempting the permanent change?
Chainloading UEFI worked (albeit tedious and slow and requiring a network connection).
Can you not chainload off local media? For example, a FAT partition is needed for UEFI anyway, so is there a good reason it isn't possible to put the UEFI image onto that partition (or any other partition that u-boot can read) and chain load it from there? If so, I am struggling to think of a reason why anybody would want to be booting UEFI straight from the ROM instead of u-boot. I might save a couple of seconds off the boot time, but u-boot is far more flexible and powerful than UEFI.
I wanted to permanently get rid of u-boot because I want to see if we can turn these boards into real (SBSA/SBBR) server hardware that can run RHEL.
Would putting UEFI image for chainloading onto the SD card not fulfill this requirement without the loss of flexibility incurred by losing the 1st stage u-boot loader?
I'm just going through the SD card recovery procedure now -- section 2.7 of the Software Reference Guide. Will report back ...
I hope it works out, please let us know.
Gordan
On Sat, Mar 05, 2016 at 11:57:11AM +0000, Gordan Bobic wrote:
On 05/03/16 11:22, Richard W.M. Jones wrote:
I wanted to permanently get rid of u-boot because I want to see if we can turn these boards into real (SBSA/SBBR) server hardware that can run RHEL.
Would putting UEFI image for chainloading onto the SD card not fulfill this requirement without the loss of flexibility incurred by losing the 1st stage u-boot loader?
I'd really just like SBSA hardware without complications. If we can get that I'll purchase dozens of these boards for OpenStack development. If not, I'll be recommending Huskyboards :-)
Rich.
On 05/03/16 12:00, Richard W.M. Jones wrote:
On Sat, Mar 05, 2016 at 11:57:11AM +0000, Gordan Bobic wrote:
On 05/03/16 11:22, Richard W.M. Jones wrote:
I wanted to permanently get rid of u-boot because I want to see if we can turn these boards into real (SBSA/SBBR) server hardware that can run RHEL.
Would putting UEFI image for chainloading onto the SD card not fulfill this requirement without the loss of flexibility incurred by losing the 1st stage u-boot loader?
I'd really just like SBSA hardware without complications. If we can get that I'll purchase dozens of these boards for OpenStack development. If not, I'll be recommending Huskyboards :-)
From what little I can find on the spec, it really doesn't look like the Huskyboard is anywhere nowhere even near the same league as the Gigabyte board. Not standard *TX form factor, one DIMM slot on the underside of the board, IIRC, non-standard power input connector. It's as awful a hack-job as most of the ARM dev kits.
OTOH, the MP30-AR0 is standard Micro-ATX in every way, and can take up to 128GB of RAM (it's a bit surreal of amazing to suddenly go from bashing my head against the limits of tiny memory on ARM bords to one that I can just fill up with 128GB of RAM I have lying around!).
Softiron Overdrive 3000 comes close in terms of spec, but unlike the Gigabyte, I cannot just click it into the shopping cart, hand over my payment details and expect it to be in my hands 48 hours later. And it is probably more expensive than even MP30-AR0.
Gordan
On Sat, Mar 05, 2016 at 12:14:54PM +0000, Gordan Bobic wrote:
On 05/03/16 12:00, Richard W.M. Jones wrote:
On Sat, Mar 05, 2016 at 11:57:11AM +0000, Gordan Bobic wrote:
On 05/03/16 11:22, Richard W.M. Jones wrote:
I wanted to permanently get rid of u-boot because I want to see if we can turn these boards into real (SBSA/SBBR) server hardware that can run RHEL.
Would putting UEFI image for chainloading onto the SD card not fulfill this requirement without the loss of flexibility incurred by losing the 1st stage u-boot loader?
I'd really just like SBSA hardware without complications. If we can get that I'll purchase dozens of these boards for OpenStack development. If not, I'll be recommending Huskyboards :-)
From what little I can find on the spec, it really doesn't look like the Huskyboard is anywhere nowhere even near the same league as the Gigabyte board. Not standard *TX form factor, one DIMM slot on the underside of the board, IIRC, non-standard power input connector. It's as awful a hack-job as most of the ARM dev kits.
"hack-job" is a bit severe. The Huskyboard is a development board, not a server board. It has two SO-DIMM slots, so I guess it should take 8 or 16 GB of laptop memory, which is fine for our development needs. Not something you'd want in a production server of course.
It will also have SBSA out of the box, so it'll just run RHEL (and, one day, Windows). It has a nicer processor - the AMD Seattle.
It's also half the price of the Gigabyte.
OTOH, the MP30-AR0 is standard Micro-ATX in every way, and can take up to 128GB of RAM (it's a bit surreal of amazing to suddenly go from bashing my head against the limits of tiny memory on ARM bords to one that I can just fill up with 128GB of RAM I have lying around!).
Believe me, I'm appreciating the 32 GB in this Gigabyte board, and may upgrade it to 64 GB. Previously I had only 16 GB in any ARM system (Mustang) which is usable, but a bit tight when you're doing lots of virt.
Softiron Overdrive 3000 comes close in terms of spec, but unlike the Gigabyte, I cannot just click it into the shopping cart, hand over my payment details and expect it to be in my hands 48 hours later. And it is probably more expensive than even MP30-AR0.
Existence is definitely good. That's why I'm evaluating the Gigabyte.
Rich.
On 05/03/16 12:27, Richard W.M. Jones wrote:
On Sat, Mar 05, 2016 at 12:14:54PM +0000, Gordan Bobic wrote:
On 05/03/16 12:00, Richard W.M. Jones wrote:
On Sat, Mar 05, 2016 at 11:57:11AM +0000, Gordan Bobic wrote:
On 05/03/16 11:22, Richard W.M. Jones wrote:
I wanted to permanently get rid of u-boot because I want to see if we can turn these boards into real (SBSA/SBBR) server hardware that can run RHEL.
Would putting UEFI image for chainloading onto the SD card not fulfill this requirement without the loss of flexibility incurred by losing the 1st stage u-boot loader?
I'd really just like SBSA hardware without complications. If we can get that I'll purchase dozens of these boards for OpenStack development. If not, I'll be recommending Huskyboards :-)
From what little I can find on the spec, it really doesn't look like the Huskyboard is anywhere nowhere even near the same league as the Gigabyte board. Not standard *TX form factor, one DIMM slot on the underside of the board, IIRC, non-standard power input connector. It's as awful a hack-job as most of the ARM dev kits.
"hack-job" is a bit severe. The Huskyboard is a development board, not a server board. It has two SO-DIMM slots, so I guess it should take 8 or 16 GB of laptop memory, which is fine for our development needs. Not something you'd want in a production server of course.
The point being that you are comparing a dev board to a server board. It's a bit like comparing the Taj Mahal in India to Taj Mahal the indian restaurant.
It will also have SBSA out of the box, so it'll just run RHEL (and, one day, Windows). It has a nicer processor - the AMD Seattle.
Just out of interest, what is better about the AMD Seattle CPU compared to the X-Gene on the Gigabyte board?
It's also half the price of the Gigabyte.
It's all relative. Half the price of the Gigabyte is still outrageously expensive for what it is. At least with the Gigabyte you can argue that to put together an equivalent Xeon system would cost you at least as much.
OTOH, the MP30-AR0 is standard Micro-ATX in every way, and can take up to 128GB of RAM (it's a bit surreal of amazing to suddenly go from bashing my head against the limits of tiny memory on ARM bords to one that I can just fill up with 128GB of RAM I have lying around!).
Believe me, I'm appreciating the 32 GB in this Gigabyte board, and may upgrade it to 64 GB. Previously I had only 16 GB in any ARM system (Mustang) which is usable, but a bit tight when you're doing lots of virt.
My main motivation for this is for a build farm machine. Rebuilding a whole distro even on something like a Chromebook 2 takes forever. Not to mention the pain when the original release of my distro was built on a few {Sheeva|Dream}Plugs. In 128GB of RAM I could just have the whole mock build process go 8-at-a-time with /var/lib/mock on tmpfs and still manage to build LibreOffice.
Gordan
On Sat, Mar 05, 2016 at 12:39:02PM +0000, Gordan Bobic wrote:
Just out of interest, what is better about the AMD Seattle CPU compared to the X-Gene on the Gigabyte board?
A57 cores. Memory bandwidth is slightly faster too.
Rich.
On 05/03/16 13:11, Richard W.M. Jones wrote:
On Sat, Mar 05, 2016 at 12:39:02PM +0000, Gordan Bobic wrote:
Just out of interest, what is better about the AMD Seattle CPU compared to the X-Gene on the Gigabyte board?
A57 cores. Memory bandwidth is slightly faster too.
I cannot claim to have investigated the differences between A57 and X-Gene in great detail but from the quick overview table here: https://en.wikipedia.org/wiki/Comparison_of_ARMv8-A_cores it looks like if anything the X-Gene is likely to be faster given it has a L3 on-chip cache which A57 doesn't seem to.
Gordan
On Sat, Mar 05, 2016 at 01:30:13PM +0000, Gordan Bobic wrote:
On 05/03/16 13:11, Richard W.M. Jones wrote:
On Sat, Mar 05, 2016 at 12:39:02PM +0000, Gordan Bobic wrote:
Just out of interest, what is better about the AMD Seattle CPU compared to the X-Gene on the Gigabyte board?
A57 cores. Memory bandwidth is slightly faster too.
I cannot claim to have investigated the differences between A57 and X-Gene in great detail but from the quick overview table here: https://en.wikipedia.org/wiki/Comparison_of_ARMv8-A_cores it looks like if anything the X-Gene is likely to be faster given it has a L3 on-chip cache which A57 doesn't seem to.
L3 cache is a function of the SoC, not the cores. The Seattle also has 8 MB L3 cache.
I need to stop talking now because I'm unable to discuss the relative or even absolute performance of particular SoCs as a condition of NDAs.
Rich.
On Sat, Mar 05, 2016 at 10:26:25AM +0700, Phong Vo wrote:
There should be no issue of replacing U-boot in SPI nor with the mp30ar0 Tianocore version. But you need to use the mp30ar0_tianocore_media.img I provide, not the one supplied with the Mustang board. It was likely the person burn the wrong BIOS on the board!
You can burn the Tianocore image from U-boot using TFTP. Please check and setup your U-boot variables:
media_addr_r=0x4001000000 media_img=mp30ar0_tianocore_media.img spi_load=tftp ${media_addr_r} ${user_dir}/${media_img} spi_update=sf probe 0; sf erase 0x0 ${filesize}; sf write ${media_addr_r} 0x0 ${filesize}
To be absolutely clear, the above are not u-boot commands? You have to use setenv and quote the parameters?
Second question: In the tarball you previously posted, the .img file is called 'mp30ar0_media.img' (not 'mp30ar0_tianocore_media.img'). Is that correct or is there a newer version somewhere?
Third question: How do I set the MAC address in this TianoCore? RHEL booted up with MAC 00:00:00:00:00:00 which meant nothing else worked of course.
Rich.
# run spi_load <== Make sure it is successful # run spi_update # reset
If there is any issue, it's still recoverable using SD card.
-Phong
-----Original Message----- From: arm-dev-bounces@centos.org [mailto:arm-dev-bounces@centos.org] On Behalf Of Michael Howard Sent: Friday, March 04, 2016 9:05 PM To: arm-dev@centos.org Subject: Re: [Arm-dev] Gigabyte MP30-AR0
On 04/03/2016 11:47, Richard W.M. Jones wrote:
On Sat, Feb 20, 2016 at 11:06:08AM +0700, Phong Vo wrote:
In theory, you just need to convert CentOS vmlinuz to uImage, then do
U-boot
boot using the dtb and CentOS initrd.img; but somehow it hangs on me. I'll need to dig into it further.
I am not aware that it was shipped only with U-boot. If you want to try
with
UEFI, take it from my dropbox
https://dl.dropboxusercontent.com/u/20403943/mp30ar0_tianocore_binaries.ta r.xz
mp30ar0_tianocore_media.img: burn to SPI NOR if you want to replace
U-boot
permanently
Has anyone tried this step ^^ (replacing u-boot permanently)?
I'm not too keen to brick an $800 board. Is it reversible?
No, not tried it, don't see the point of risking it at the mo. Somebody did brick their board (https://lists.centos.org/pipermail/arm-dev/2016-February/001622.html) and for me, I just chainload tianocore from u-boot via tftp.
-- Mike Howard
Arm-dev mailing list Arm-dev@centos.org https://lists.centos.org/mailman/listinfo/arm-dev _______________________________________________ Arm-dev mailing list Arm-dev@centos.org https://lists.centos.org/mailman/listinfo/arm-dev
On Sat, Mar 05, 2016 at 11:56:58AM +0000, Richard W.M. Jones wrote:
On Sat, Mar 05, 2016 at 10:26:25AM +0700, Phong Vo wrote:
There should be no issue of replacing U-boot in SPI nor with the mp30ar0 Tianocore version. But you need to use the mp30ar0_tianocore_media.img I provide, not the one supplied with the Mustang board. It was likely the person burn the wrong BIOS on the board!
You can burn the Tianocore image from U-boot using TFTP. Please check and setup your U-boot variables:
media_addr_r=0x4001000000 media_img=mp30ar0_tianocore_media.img spi_load=tftp ${media_addr_r} ${user_dir}/${media_img} spi_update=sf probe 0; sf erase 0x0 ${filesize}; sf write ${media_addr_r} 0x0 ${filesize}
To be absolutely clear, the above are not u-boot commands? You have to use setenv and quote the parameters?
Second question: In the tarball you previously posted, the .img file is called 'mp30ar0_media.img' (not 'mp30ar0_tianocore_media.img'). Is that correct or is there a newer version somewhere?
Third question: How do I set the MAC address in this TianoCore? RHEL booted up with MAC 00:00:00:00:00:00 which meant nothing else worked of course.
Anyway that didn't work a second time. My best guess is that I don't have the right 'mp30ar0_media.img' file.
Rich.
On 05/03/16 11:56, Richard W.M. Jones wrote:
On Sat, Mar 05, 2016 at 10:26:25AM +0700, Phong Vo wrote:
There should be no issue of replacing U-boot in SPI nor with the mp30ar0 Tianocore version. But you need to use the mp30ar0_tianocore_media.img I provide, not the one supplied with the Mustang board. It was likely the person burn the wrong BIOS on the board!
You can burn the Tianocore image from U-boot using TFTP. Please check and setup your U-boot variables:
media_addr_r=0x4001000000 media_img=mp30ar0_tianocore_media.img spi_load=tftp ${media_addr_r} ${user_dir}/${media_img} spi_update=sf probe 0; sf erase 0x0 ${filesize}; sf write ${media_addr_r} 0x0 ${filesize}
To be absolutely clear, the above are not u-boot commands? You have to use setenv and quote the parameters?
The above looks like a subset of what printenv returns in u-boot. To set it the equivalent incantation would be:
setenv media_addr_r '0x4001000000' setenv media_img 'mp30ar0_tianocore_media.img' setenb spi_load=tftp '${media_addr_r} ${user_dir}/${media_img}' setenv spi_update=sf 'probe 0; sf erase 0x0 ${filesize}; sf write ${media_addr_r} 0x0 ${filesize}'
Apologies for the extra linebreak on the last line due to MUA wrapping the lines.
Second question: In the tarball you previously posted, the .img file is called 'mp30ar0_media.img' (not 'mp30ar0_tianocore_media.img'). Is that correct or is there a newer version somewhere?
Third question: How do I set the MAC address in this TianoCore? RHEL booted up with MAC 00:00:00:00:00:00 which meant nothing else worked of course.
Michael raised this issue earlier. Even though the MAC addresses are set correctly in u-boot, it looks like the kernel doesn't pick it up.
Gordan
The above looks like a subset of what printenv returns in u-boot. To set it the equivalent incantation would be:
setenv media_addr_r '0x4001000000' setenv media_img 'mp30ar0_tianocore_media.img' setenb spi_load=tftp '${media_addr_r} ${user_dir}/${media_img}' setenv spi_update=sf 'probe 0; sf erase 0x0 ${filesize}; sf write
${media_addr_r} 0x0 ${filesize}'
Just a note that it's likely that these env variables are already there, except for media_img. In which case, you just need to
setenv media_img 'mp30ar0_tianocore_media.img'
and should not change others, such as media_addr_r.
-Phong
On Mon, Mar 07, 2016 at 04:58:57PM +0700, Phong Vo wrote:
The above looks like a subset of what printenv returns in u-boot. To set it the equivalent incantation would be:
setenv media_addr_r '0x4001000000' setenv media_img 'mp30ar0_tianocore_media.img' setenb spi_load=tftp '${media_addr_r} ${user_dir}/${media_img}' setenv spi_update=sf 'probe 0; sf erase 0x0 ${filesize}; sf write
${media_addr_r} 0x0 ${filesize}'
Just a note that it's likely that these env variables are already there, except for media_img. In which case, you just need to
setenv media_img 'mp30ar0_tianocore_media.img'
Can I check I have the right version of this file? I have a file with a different name:
$ ls -l mp30ar0_media.img -rw-r--r--. 1 root root 620032 Mar 5 10:57 mp30ar0_media.img $ md5sum mp30ar0_media.img 7d31c9b9dd40b791adf92067ed2a236a mp30ar0_media.img
Rich.
Sorry, that was not the right file.
Please download again
https://dl.dropboxusercontent.com/u/20403943/mp30ar0_tianocore_binaries.ta r.xz
You should find mp30ar0_tianocore_media.img
# md5sum mp30ar0_tianocore_media.img 0bd49584eb7bedb513d0b1c545eee6ce mp30ar0_tianocore_media.img
-Phong
-----Original Message----- From: Richard W.M. Jones [mailto:rjones@redhat.com] Sent: Monday, March 07, 2016 6:57 PM To: Conversations around CentOS on ARM hardware; pvo@apm.com Subject: Re: [Arm-dev] Gigabyte MP30-AR0
On Mon, Mar 07, 2016 at 04:58:57PM +0700, Phong Vo wrote:
The above looks like a subset of what printenv returns in u-boot. To
set
it the equivalent incantation would be:
setenv media_addr_r '0x4001000000' setenv media_img 'mp30ar0_tianocore_media.img' setenb spi_load=tftp '${media_addr_r} ${user_dir}/${media_img}' setenv spi_update=sf 'probe 0; sf erase 0x0 ${filesize}; sf write
${media_addr_r} 0x0 ${filesize}'
Just a note that it's likely that these env variables are already there, except for media_img. In which case, you just need to
setenv media_img 'mp30ar0_tianocore_media.img'
Can I check I have the right version of this file? I have a file with a different name:
$ ls -l mp30ar0_media.img -rw-r--r--. 1 root root 620032 Mar 5 10:57 mp30ar0_media.img $ md5sum mp30ar0_media.img 7d31c9b9dd40b791adf92067ed2a236a mp30ar0_media.img
Rich.
On Tue, Mar 08, 2016 at 09:34:10AM +0700, Phong Vo wrote:
Sorry, that was not the right file.
Please download again
https://dl.dropboxusercontent.com/u/20403943/mp30ar0_tianocore_binaries.tar....
You should find mp30ar0_tianocore_media.img
# md5sum mp30ar0_tianocore_media.img 0bd49584eb7bedb513d0b1c545eee6ce mp30ar0_tianocore_media.img
Thanks. I can confirm that I was able to successfully and permanently flash Tianocore UEFI to the Gigabyte board using the above image.
The procedure was as outlined before, but I'm going to summarise it again so it's in one place:
(1) Download and unpack mp30ar0_tianocore_binaries.tar.xz from the link above. Verify mp30ar0_tianocore_media.img has the correct MD5 checksum.
(2) Place mp30ar0_tianocore_media.img on a TFTP server so it is available as `mp30ar0/mp30ar0_tianocore_media.img'
(3) Interrupt u-boot boot sequence, and run the following commands:
setenv ipaddr xx.xx.xx.xx # server's own IP address setenv serverip yy.yy.yy.yy # IP address of TFTP server setenv media_img mp30ar0_tianocore_media.img run spi_load # check this command succeeds run spi_update reset
Rich.
On 05/03/2016 11:56, Richard W.M. Jones wrote:
On Sat, Mar 05, 2016 at 10:26:25AM +0700, Phong Vo wrote:
There should be no issue of replacing U-boot in SPI nor with the mp30ar0 Tianocore version. But you need to use the mp30ar0_tianocore_media.img I provide, not the one supplied with the Mustang board. It was likely the person burn the wrong BIOS on the board!
You can burn the Tianocore image from U-boot using TFTP. Please check and setup your U-boot variables:
media_addr_r=0x4001000000 media_img=mp30ar0_tianocore_media.img spi_load=tftp ${media_addr_r} ${user_dir}/${media_img} spi_update=sf probe 0; sf erase 0x0 ${filesize}; sf write ${media_addr_r} 0x0 ${filesize}
To be absolutely clear, the above are not u-boot commands? You have to use setenv and quote the parameters?
Yes, as Gordan pointed out, they are u-boot variables set with setenv.
Second question: In the tarball you previously posted, the .img file is called 'mp30ar0_media.img' (not 'mp30ar0_tianocore_media.img'). Is that correct or is there a newer version somewhere?
I downloaded and use the contents of https://dl.dropboxusercontent.com/u/20403943/mp30ar0_tianocore_binaries.tar...., which are;
ls -al mp30ar0* -rw-r--r-- 1 5008 345 620032 Jan 26 10:41 mp30ar0_media.img -rw-r--r-- 1 5008 345 262144 Feb 22 04:41 mp30ar0_tianocore_sec_ubt.fd -rw-r--r-- 1 5008 345 1835008 Feb 22 04:41 mp30ar0_tianocore_ubt.fd
Third question: How do I set the MAC address in this TianoCore? RHEL booted up with MAC 00:00:00:00:00:00 which meant nothing else worked of course.
Once in the UEFI shell, use 'set MAC0 xx:xx:xx:xx:xx:xx' and 'set MAC1 xx:xx:xx:xx:xx:xx'
On Sat, Mar 05, 2016 at 12:15:54PM +0000, Michael Howard wrote:
Once in the UEFI shell, use 'set MAC0 xx:xx:xx:xx:xx:xx' and 'set MAC1 xx:xx:xx:xx:xx:xx'
Thanks - that worked. Although note for anyone trying to follow these instructions, I had to reboot after setting MAC0 before the installer would "see" the change.
Finally, I'm in a VNC-based RHELSA 7.2 install.
Rich.
On 05/03/2016 13:38, Richard W.M. Jones wrote:
On Sat, Mar 05, 2016 at 12:15:54PM +0000, Michael Howard wrote:
Once in the UEFI shell, use 'set MAC0 xx:xx:xx:xx:xx:xx' and 'set MAC1 xx:xx:xx:xx:xx:xx'
Thanks - that worked. Although note for anyone trying to follow these instructions, I had to reboot after setting MAC0 before the installer would "see" the change.
Even that didn't help with the Centos installer, I had to edit the kernel command line and add ip details there.
On Sat, Mar 05, 2016 at 01:42:08PM +0000, Michael Howard wrote:
On 05/03/2016 13:38, Richard W.M. Jones wrote:
On Sat, Mar 05, 2016 at 12:15:54PM +0000, Michael Howard wrote:
Once in the UEFI shell, use 'set MAC0 xx:xx:xx:xx:xx:xx' and 'set MAC1 xx:xx:xx:xx:xx:xx'
Thanks - that worked. Although note for anyone trying to follow these instructions, I had to reboot after setting MAC0 before the installer would "see" the change.
Even that didn't help with the Centos installer, I had to edit the kernel command line and add ip details there.
Does CentOS also require acpi=off on the command line? RHELSA 7.2 certainly requires it, which may indicate that the TianoCore binary has missing or incomplete ACPI tables.
Rich.
On 05/03/2016 13:44, Richard W.M. Jones wrote:
On Sat, Mar 05, 2016 at 01:42:08PM +0000, Michael Howard wrote:
On 05/03/2016 13:38, Richard W.M. Jones wrote:
On Sat, Mar 05, 2016 at 12:15:54PM +0000, Michael Howard wrote:
Once in the UEFI shell, use 'set MAC0 xx:xx:xx:xx:xx:xx' and 'set MAC1 xx:xx:xx:xx:xx:xx'
Thanks - that worked. Although note for anyone trying to follow these instructions, I had to reboot after setting MAC0 before the installer would "see" the change.
Even that didn't help with the Centos installer, I had to edit the kernel command line and add ip details there.
Does CentOS also require acpi=off on the command line? RHELSA 7.2 certainly requires it, which may indicate that the TianoCore binary has missing or incomplete ACPI tables.
No, I don't recall that being part of the command line. I certainly didn't add it.
On 05/03/2016 03:26, Phong Vo wrote:
There should be no issue of replacing U-boot in SPI nor with the mp30ar0 Tianocore version. But you need to use the mp30ar0_tianocore_media.img I provide, not the one supplied with the Mustang board. It was likely the person burn the wrong BIOS on the board!
You can burn the Tianocore image from U-boot using TFTP. Please check and setup your U-boot variables:
media_addr_r=0x4001000000 media_img=mp30ar0_tianocore_media.img spi_load=tftp ${media_addr_r} ${user_dir}/${media_img} spi_update=sf probe 0; sf erase 0x0 ${filesize}; sf write ${media_addr_r} 0x0 ${filesize}
# run spi_load <== Make sure it is successful # run spi_update # reset
If there is any issue, it's still recoverable using SD card.
-Phong
Hi,
I know this is a very old thread but is there any source available for the image above or for mp30ar0_tianocore_sec_ubt.fd/mp30ar0_tianocore_ubt.fd?
The reason I ask is that I'm attempting to get the SDCARD slot working with recent kernels and the only way I can get it to work is booting directly from the original u-boot environment using the original devicetree blob. However, booting that way I end up with only one core.
Booting as above with 'num_cores' set to 8 causes a hang late on.
Cheers, Mike.
On 12/11/2019 08:29, Michael Howard wrote:
On 05/03/2016 03:26, Phong Vo wrote:
There should be no issue of replacing U-boot in SPI nor with the mp30ar0 Tianocore version. But you need to use the mp30ar0_tianocore_media.img I provide, not the one supplied with the Mustang board. It was likely the person burn the wrong BIOS on the board!
You can burn the Tianocore image from U-boot using TFTP. Please check and setup your U-boot variables:
media_addr_r=0x4001000000 media_img=mp30ar0_tianocore_media.img spi_load=tftp ${media_addr_r} ${user_dir}/${media_img} spi_update=sf probe 0; sf erase 0x0 ${filesize}; sf write ${media_addr_r} 0x0 ${filesize}
# run spi_load <== Make sure it is successful # run spi_update # reset
If there is any issue, it's still recoverable using SD card.
-Phong
Hi,
I know this is a very old thread but is there any source available for the image above or for mp30ar0_tianocore_sec_ubt.fd/mp30ar0_tianocore_ubt.fd?
The reason I ask is that I'm attempting to get the SDCARD slot working with recent kernels and the only way I can get it to work is booting directly from the original u-boot environment using the original devicetree blob. However, booting that way I end up with only one core.
Booting as above with 'num_cores' set to 8 causes a hang late on.
Ok, ignore the 'one core' and 'hang late' comments. With all the different tests and trials I ended up using the corrupt blob, i.e. the second one provided by Gigabyte. With the original devicetree blob, booting from u-boot, I now have the sdcard slot available again and all 8 cores.
I'd still be interested in getting the sdcard slot to show up when using efi to boot.
Cheers,
Mike.
On Fri, Mar 04, 2016 at 02:05:08PM +0000, Michael Howard wrote:
On 04/03/2016 11:47, Richard W.M. Jones wrote:
On Sat, Feb 20, 2016 at 11:06:08AM +0700, Phong Vo wrote:
In theory, you just need to convert CentOS vmlinuz to uImage, then do U-boot boot using the dtb and CentOS initrd.img; but somehow it hangs on me. I'll need to dig into it further.
I am not aware that it was shipped only with U-boot. If you want to try with UEFI, take it from my dropbox
https://dl.dropboxusercontent.com/u/20403943/mp30ar0_tianocore_binaries.tar....
mp30ar0_tianocore_media.img: burn to SPI NOR if you want to replace U-boot permanently
Has anyone tried this step ^^ (replacing u-boot permanently)?
I'm not too keen to brick an $800 board. Is it reversible?
No, not tried it, don't see the point of risking it at the mo. Somebody did brick their board (https://lists.centos.org/pipermail/arm-dev/2016-February/001622.html) and for me, I just chainload tianocore from u-boot via tftp.
Indeed - that was me! Fun times. I'm all up & running on CentOS 7.2 now, though, thanks to the help of you fine folks on here.
One thing I did change was to not boot via TFTP since I'd rather not have booting dependent on network availability. Instead I'm loading via SD. It was pretty straight forward but, in case anyone else is interested, I replaced the load_tianocore variable like so (assuming dev 0, part 1):
setenv load_tianocore 'fatload mmc 0:1 0x82000000 mp30ar0_tianocore_ubt.fd; fatload mmc 0:1 0x1d000000 mp30ar0_tianocore_sec_ubt.fd'
Stoked. Thanks again, guys!
On Wed, Mar 09, 2016 at 01:11:05PM -0800, Jeremiah Rothschild wrote:
One thing I did change was to not boot via TFTP since I'd rather not have booting dependent on network availability. Instead I'm loading via SD. It was pretty straight forward but, in case anyone else is interested, I replaced the load_tianocore variable like so (assuming dev 0, part 1):
setenv load_tianocore 'fatload mmc 0:1 0x82000000 mp30ar0_tianocore_ubt.fd; fatload mmc 0:1 0x1d000000 mp30ar0_tianocore_sec_ubt.fd'
Ah. I spoke too soon. Looks like, with this in place, I make it to to the GRUB menu then things get lost from there.
Might there be additional requirements on the SD card?
On 09/03/2016 22:51, Jeremiah Rothschild wrote:
On Wed, Mar 09, 2016 at 01:11:05PM -0800, Jeremiah Rothschild wrote:
One thing I did change was to not boot via TFTP since I'd rather not have booting dependent on network availability. Instead I'm loading via SD. It was pretty straight forward but, in case anyone else is interested, I replaced the load_tianocore variable like so (assuming dev 0, part 1):
setenv load_tianocore 'fatload mmc 0:1 0x82000000 mp30ar0_tianocore_ubt.fd; fatload mmc 0:1 0x1d000000 mp30ar0_tianocore_sec_ubt.fd'
Is there a reason for your use of '0x82000000' instead of '0x4002000000'? '0x82000000' is by default kern_addr_r & kernel_addr_r and looks wrong to me.
Ah. I spoke too soon. Looks like, with this in place, I make it to to the GRUB menu then things get lost from there.
Might there be additional requirements on the SD card?
I wouldn't have thought so. Perhaps your use of '0x82000000' is causing the problem.
On Wed, Mar 09, 2016 at 11:16:39PM +0000, Michael Howard wrote:
On 09/03/2016 22:51, Jeremiah Rothschild wrote:
On Wed, Mar 09, 2016 at 01:11:05PM -0800, Jeremiah Rothschild wrote:
One thing I did change was to not boot via TFTP since I'd rather not have booting dependent on network availability. Instead I'm loading via SD. It was pretty straight forward but, in case anyone else is interested, I replaced the load_tianocore variable like so (assuming dev 0, part 1):
setenv load_tianocore 'fatload mmc 0:1 0x82000000 mp30ar0_tianocore_ubt.fd; fatload mmc 0:1 0x1d000000 mp30ar0_tianocore_sec_ubt.fd'
Is there a reason for your use of '0x82000000' instead of '0x4002000000'? '0x82000000' is by default kern_addr_r & kernel_addr_r and looks wrong to me.
I was imitating the values that work for TFTP.
Ah. I spoke too soon. Looks like, with this in place, I make it to to the GRUB menu then things get lost from there.
Might there be additional requirements on the SD card?
I wouldn't have thought so. Perhaps your use of '0x82000000' is causing the problem.
I'll give that a go. Thanks.
Mike Howard
Arm-dev mailing list Arm-dev@centos.org https://lists.centos.org/mailman/listinfo/arm-dev
Note that you should be able to flash TianoCore to the SPI safely now. At least, it worked for me. My instructions are here:
https://lists.centos.org/pipermail/arm-dev/2016-March/001743.html
Also while testing this, I went through the unbricking procedure documented in the manual .. twice. I can confirm that works as well :-)
Rich.
On Wed, Mar 09, 2016 at 03:23:17PM -0800, Jeremiah Rothschild wrote:
On Wed, Mar 09, 2016 at 11:16:39PM +0000, Michael Howard wrote:
On 09/03/2016 22:51, Jeremiah Rothschild wrote:
On Wed, Mar 09, 2016 at 01:11:05PM -0800, Jeremiah Rothschild wrote:
One thing I did change was to not boot via TFTP since I'd rather not have booting dependent on network availability. Instead I'm loading via SD. It was pretty straight forward but, in case anyone else is interested, I replaced the load_tianocore variable like so (assuming dev 0, part 1):
setenv load_tianocore 'fatload mmc 0:1 0x82000000 mp30ar0_tianocore_ubt.fd; fatload mmc 0:1 0x1d000000 mp30ar0_tianocore_sec_ubt.fd'
Is there a reason for your use of '0x82000000' instead of '0x4002000000'? '0x82000000' is by default kern_addr_r & kernel_addr_r and looks wrong to me.
I was imitating the values that work for TFTP.
Ah. I spoke too soon. Looks like, with this in place, I make it to to the GRUB menu then things get lost from there.
Might there be additional requirements on the SD card?
I wouldn't have thought so. Perhaps your use of '0x82000000' is causing the problem.
I'll give that a go. Thanks.
Hmmm, '0x82000000' seems to get me in a hung state. Output below.
Hit any key to stop autoboot: 0 MP30AR0# setenv load_tianocore 'fatload mmc 0:1 0x4002000000 mp30ar0_tianocore_ubt.fd; fatload mmc 0:1 0x1d000000 mp30ar0_tianocore_sec_ubt.fd' MP30AR0# setenv run_tianocore 'go 0x1d000000' MP30AR0# run load_tianocore run_tianocore reading mp30ar0_tianocore_ubt.fd 1835008 bytes read in 1137 ms (1.5 MiB/s) reading mp30ar0_tianocore_sec_ubt.fd 262144 bytes read in 1008 ms (253.9 KiB/s) ## Starting application at 0x1D000000 ...
X-Gene Mp30ar0 Board Boot firmware (version 1.20.03-uhp built at 11:18:31 on Feb 22 2016)
Mike Howard
Arm-dev mailing list Arm-dev@centos.org https://lists.centos.org/mailman/listinfo/arm-dev
Jeremy,
It looks like you are loading to 0x4002000000 instead of 0x82000000. MP30-AR0 uses a 2GB base address, thus 0x82000000 is required.
-Phong
-----Original Message----- From: arm-dev-bounces@centos.org [mailto:arm-dev-bounces@centos.org] On Behalf Of Jeremiah Rothschild Sent: Thursday, March 10, 2016 8:43 AM To: arm-dev@centos.org Subject: Re: [Arm-dev] Gigabyte MP30-AR0
On Wed, Mar 09, 2016 at 03:23:17PM -0800, Jeremiah Rothschild wrote:
On Wed, Mar 09, 2016 at 11:16:39PM +0000, Michael Howard wrote:
On 09/03/2016 22:51, Jeremiah Rothschild wrote:
On Wed, Mar 09, 2016 at 01:11:05PM -0800, Jeremiah Rothschild wrote:
One thing I did change was to not boot via TFTP since I'd rather not
have
booting dependent on network availability. Instead I'm loading via
SD. It
was pretty straight forward but, in case anyone else is interested,
I
replaced the load_tianocore variable like so (assuming dev 0, part
1):
setenv load_tianocore 'fatload mmc 0:1 0x82000000
mp30ar0_tianocore_ubt.fd;
fatload mmc 0:1 0x1d000000 mp30ar0_tianocore_sec_ubt.fd'
Is there a reason for your use of '0x82000000' instead of
'0x4002000000'?
'0x82000000' is by default kern_addr_r & kernel_addr_r and looks wrong to me.
I was imitating the values that work for TFTP.
Ah. I spoke too soon. Looks like, with this in place, I make it to to
the
GRUB menu then things get lost from there.
Might there be additional requirements on the SD card?
I wouldn't have thought so. Perhaps your use of '0x82000000' is causing the problem.
I'll give that a go. Thanks.
Hmmm, '0x82000000' seems to get me in a hung state. Output below.
Hit any key to stop autoboot: 0 MP30AR0# setenv load_tianocore 'fatload mmc 0:1 0x4002000000 mp30ar0_tianocore_ubt.fd; fatload mmc 0:1 0x1d000000 mp30ar0_tianocore_sec_ubt.fd' MP30AR0# setenv run_tianocore 'go 0x1d000000' MP30AR0# run load_tianocore run_tianocore reading mp30ar0_tianocore_ubt.fd 1835008 bytes read in 1137 ms (1.5 MiB/s) reading mp30ar0_tianocore_sec_ubt.fd 262144 bytes read in 1008 ms (253.9 KiB/s) ## Starting application at 0x1D000000 ...
X-Gene Mp30ar0 Board Boot firmware (version 1.20.03-uhp built at 11:18:31 on Feb 22 2016)
Mike Howard
Arm-dev mailing list Arm-dev@centos.org https://lists.centos.org/mailman/listinfo/arm-dev
_______________________________________________ Arm-dev mailing list Arm-dev@centos.org https://lists.centos.org/mailman/listinfo/arm-dev
On Thu, Mar 10, 2016 at 08:59:33AM +0700, Phong Vo wrote:
Jeremy,
It looks like you are loading to 0x4002000000 instead of 0x82000000. MP30-AR0 uses a 2GB base address, thus 0x82000000 is required.
Thanks. That seems to be working this time around.
-Phong
-----Original Message----- From: arm-dev-bounces@centos.org [mailto:arm-dev-bounces@centos.org] On Behalf Of Jeremiah Rothschild Sent: Thursday, March 10, 2016 8:43 AM To: arm-dev@centos.org Subject: Re: [Arm-dev] Gigabyte MP30-AR0
On Wed, Mar 09, 2016 at 03:23:17PM -0800, Jeremiah Rothschild wrote:
On Wed, Mar 09, 2016 at 11:16:39PM +0000, Michael Howard wrote:
On 09/03/2016 22:51, Jeremiah Rothschild wrote:
On Wed, Mar 09, 2016 at 01:11:05PM -0800, Jeremiah Rothschild wrote:
One thing I did change was to not boot via TFTP since I'd rather not
have
booting dependent on network availability. Instead I'm loading via
SD. It
was pretty straight forward but, in case anyone else is interested,
I
replaced the load_tianocore variable like so (assuming dev 0, part
1):
setenv load_tianocore 'fatload mmc 0:1 0x82000000
mp30ar0_tianocore_ubt.fd;
fatload mmc 0:1 0x1d000000 mp30ar0_tianocore_sec_ubt.fd'
Is there a reason for your use of '0x82000000' instead of
'0x4002000000'?
'0x82000000' is by default kern_addr_r & kernel_addr_r and looks wrong to me.
I was imitating the values that work for TFTP.
Ah. I spoke too soon. Looks like, with this in place, I make it to to
the
GRUB menu then things get lost from there.
Might there be additional requirements on the SD card?
I wouldn't have thought so. Perhaps your use of '0x82000000' is causing the problem.
I'll give that a go. Thanks.
Hmmm, '0x82000000' seems to get me in a hung state. Output below.
Hit any key to stop autoboot: 0 MP30AR0# setenv load_tianocore 'fatload mmc 0:1 0x4002000000 mp30ar0_tianocore_ubt.fd; fatload mmc 0:1 0x1d000000 mp30ar0_tianocore_sec_ubt.fd' MP30AR0# setenv run_tianocore 'go 0x1d000000' MP30AR0# run load_tianocore run_tianocore reading mp30ar0_tianocore_ubt.fd 1835008 bytes read in 1137 ms (1.5 MiB/s) reading mp30ar0_tianocore_sec_ubt.fd 262144 bytes read in 1008 ms (253.9 KiB/s) ## Starting application at 0x1D000000 ...
X-Gene Mp30ar0 Board Boot firmware (version 1.20.03-uhp built at 11:18:31 on Feb 22 2016)
Mike Howard
Arm-dev mailing list Arm-dev@centos.org https://lists.centos.org/mailman/listinfo/arm-dev
Arm-dev mailing list Arm-dev@centos.org https://lists.centos.org/mailman/listinfo/arm-dev _______________________________________________ Arm-dev mailing list Arm-dev@centos.org https://lists.centos.org/mailman/listinfo/arm-dev
On 10/03/2016 01:42, Jeremiah Rothschild wrote:
On Wed, Mar 09, 2016 at 03:23:17PM -0800, Jeremiah Rothschild wrote:
On Wed, Mar 09, 2016 at 11:16:39PM +0000, Michael Howard wrote:
On 09/03/2016 22:51, Jeremiah Rothschild wrote:
On Wed, Mar 09, 2016 at 01:11:05PM -0800, Jeremiah Rothschild wrote:
One thing I did change was to not boot via TFTP since I'd rather not have booting dependent on network availability. Instead I'm loading via SD. It was pretty straight forward but, in case anyone else is interested, I replaced the load_tianocore variable like so (assuming dev 0, part 1):
setenv load_tianocore 'fatload mmc 0:1 0x82000000 mp30ar0_tianocore_ubt.fd; fatload mmc 0:1 0x1d000000 mp30ar0_tianocore_sec_ubt.fd'
Is there a reason for your use of '0x82000000' instead of '0x4002000000'? '0x82000000' is by default kern_addr_r & kernel_addr_r and looks wrong to me.
I was imitating the values that work for TFTP.
Ah. I spoke too soon. Looks like, with this in place, I make it to to the GRUB menu then things get lost from there.
Might there be additional requirements on the SD card?
I wouldn't have thought so. Perhaps your use of '0x82000000' is causing the problem.
I'll give that a go. Thanks.
Hmmm, '0x82000000' seems to get me in a hung state. Output below.
Sorry, very long day and I was reading my old notes. Glad you're up and running.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 09/03/16 21:11, Jeremiah Rothschild wrote:
On Fri, Mar 04, 2016 at 02:05:08PM +0000, Michael Howard wrote:
On 04/03/2016 11:47, Richard W.M. Jones wrote:
On Sat, Feb 20, 2016 at 11:06:08AM +0700, Phong Vo wrote:
In theory, you just need to convert CentOS vmlinuz to uImage, then do U-boot boot using the dtb and CentOS initrd.img; but somehow it hangs on me. I'll need to dig into it further.
I am not aware that it was shipped only with U-boot. If you want to try with UEFI, take it from my dropbox
https://dl.dropboxusercontent.com/u/20403943/mp30ar0_tianocore_bina
ries.tar.xz
mp30ar0_tianocore_media.img: burn to SPI NOR if you want to replace U-bo ot
permanently
Has anyone tried this step ^^ (replacing u-boot permanently)?
I'm not too keen to brick an $800 board. Is it reversible?
No, not tried it, don't see the point of risking it at the mo. Somebody did brick their board (https://lists.centos.org/pipermail/arm-dev/2016-February/001622.html
)
and for me, I just chainload tianocore from u-boot via tftp.
Indeed - that was me! Fun times. I'm all up & running on CentOS 7.2 now, though, thanks to the help of you fine folks on here.
One thing I did change was to not boot via TFTP since I'd rather not have booting dependent on network availability. Instead I'm loading via SD. It was pretty straight forward but, in case anyone else is interested, I replaced the load_tianocore variable like so (assuming dev 0, part 1):
setenv load_tianocore 'fatload mmc 0:1 0x82000000 mp30ar0_tianocore_ubt.fd; fatload mmc 0:1 0x1d000000 mp30ar0_tianocore_sec_ubt.fd'
Stoked. Thanks again, guys!
I was wondering if one of you guys might be willing to own/submit a wiki page article around this board, howto get rolling with CentOS etc ?
- -- Karanbir Singh, Project Lead, The CentOS Project +44-207-0999389 | http://www.centos.org/ | twitter.com/CentOS GnuPG Key : http://www.karan.org/publickey.asc
On 2016-03-10 13:39, Karanbir Singh wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 09/03/16 21:11, Jeremiah Rothschild wrote:
On Fri, Mar 04, 2016 at 02:05:08PM +0000, Michael Howard wrote:
On 04/03/2016 11:47, Richard W.M. Jones wrote:
On Sat, Feb 20, 2016 at 11:06:08AM +0700, Phong Vo wrote:
In theory, you just need to convert CentOS vmlinuz to uImage, then do U-boot boot using the dtb and CentOS initrd.img; but somehow it hangs on me. I'll need to dig into it further.
I am not aware that it was shipped only with U-boot. If you want to try with UEFI, take it from my dropbox
https://dl.dropboxusercontent.com/u/20403943/mp30ar0_tianocore_bina
ries.tar.xz
mp30ar0_tianocore_media.img: burn to SPI NOR if you want to replace U-bo ot
permanently
Has anyone tried this step ^^ (replacing u-boot permanently)?
I'm not too keen to brick an $800 board. Is it reversible?
No, not tried it, don't see the point of risking it at the mo. Somebody did brick their board (https://lists.centos.org/pipermail/arm-dev/2016-February/001622.html
)
and for me, I just chainload tianocore from u-boot via tftp.
Indeed - that was me! Fun times. I'm all up & running on CentOS 7.2 now, though, thanks to the help of you fine folks on here.
One thing I did change was to not boot via TFTP since I'd rather not have booting dependent on network availability. Instead I'm loading via SD. It was pretty straight forward but, in case anyone else is interested, I replaced the load_tianocore variable like so (assuming dev 0, part 1):
setenv load_tianocore 'fatload mmc 0:1 0x82000000 mp30ar0_tianocore_ubt.fd; fatload mmc 0:1 0x1d000000 mp30ar0_tianocore_sec_ubt.fd'
Stoked. Thanks again, guys!
I was wondering if one of you guys might be willing to own/submit a wiki page article around this board, howto get rolling with CentOS etc ?
I was planning to do just that this weekend when I get mine up and running. :-)
I am very much in favour of the way Jeremiah has his set up, though. Having u-boot as the stage 1 bootloade before TianoCore UEFI adds a lot more flexibility at the relatively trivial expense of adding a seconds or two to the boot time.
Gordan
On Thu, Mar 10, 2016 at 01:47:36PM +0000, Gordan Bobic wrote:
On 2016-03-10 13:39, Karanbir Singh wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 09/03/16 21:11, Jeremiah Rothschild wrote:
On Fri, Mar 04, 2016 at 02:05:08PM +0000, Michael Howard wrote:
On 04/03/2016 11:47, Richard W.M. Jones wrote:
On Sat, Feb 20, 2016 at 11:06:08AM +0700, Phong Vo wrote:
In theory, you just need to convert CentOS vmlinuz to uImage, then do U-boot boot using the dtb and CentOS initrd.img; but somehow it hangs on me. I'll need to dig into it further.
I am not aware that it was shipped only with U-boot. If you want to try with UEFI, take it from my dropbox
https://dl.dropboxusercontent.com/u/20403943/mp30ar0_tianocore_bina
ries.tar.xz
mp30ar0_tianocore_media.img: burn to SPI NOR if you want to replace U-bo ot
permanently
Has anyone tried this step ^^ (replacing u-boot permanently)?
I'm not too keen to brick an $800 board. Is it reversible?
No, not tried it, don't see the point of risking it at the mo. Somebody did brick their board (https://lists.centos.org/pipermail/arm-dev/2016-February/001622.html
)
and for me, I just chainload tianocore from u-boot via tftp.
Indeed - that was me! Fun times. I'm all up & running on CentOS 7.2 now, though, thanks to the help of you fine folks on here.
One thing I did change was to not boot via TFTP since I'd rather not have booting dependent on network availability. Instead I'm loading via SD. It was pretty straight forward but, in case anyone else is interested, I replaced the load_tianocore variable like so (assuming dev 0, part 1):
setenv load_tianocore 'fatload mmc 0:1 0x82000000 mp30ar0_tianocore_ubt.fd; fatload mmc 0:1 0x1d000000 mp30ar0_tianocore_sec_ubt.fd'
Stoked. Thanks again, guys!
I was wondering if one of you guys might be willing to own/submit a wiki page article around this board, howto get rolling with CentOS etc ?
I was planning to do just that this weekend when I get mine up and running. :-)
I actually have to draft something up for our internal wiki today. Would be happy to contribute, too!
I am very much in favour of the way Jeremiah has his set up, though. Having u-boot as the stage 1 bootloade before TianoCore UEFI adds a lot more flexibility at the relatively trivial expense of adding a seconds or two to the boot time.
Gordan _______________________________________________ Arm-dev mailing list Arm-dev@centos.org https://lists.centos.org/mailman/listinfo/arm-dev
On 10/03/2016 13:47, Gordan Bobic wrote:
On 2016-03-10 13:39, Karanbir Singh wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 09/03/16 21:11, Jeremiah Rothschild wrote:
On Fri, Mar 04, 2016 at 02:05:08PM +0000, Michael Howard wrote:
On 04/03/2016 11:47, Richard W.M. Jones wrote:
On Sat, Feb 20, 2016 at 11:06:08AM +0700, Phong Vo wrote:
In theory, you just need to convert CentOS vmlinuz to uImage, then do U-boot boot using the dtb and CentOS initrd.img; but somehow it hangs on me. I'll need to dig into it further.
I am not aware that it was shipped only with U-boot. If you want to try with UEFI, take it from my dropbox
https://dl.dropboxusercontent.com/u/20403943/mp30ar0_tianocore_bina
ries.tar.xz
mp30ar0_tianocore_media.img: burn to SPI NOR if you want to replace U-bo ot
permanently
Has anyone tried this step ^^ (replacing u-boot permanently)?
I'm not too keen to brick an $800 board. Is it reversible?
No, not tried it, don't see the point of risking it at the mo. Somebody did brick their board (https://lists.centos.org/pipermail/arm-dev/2016-February/001622.html
)
and for me, I just chainload tianocore from u-boot via tftp.
Indeed - that was me! Fun times. I'm all up & running on CentOS 7.2 now, though, thanks to the help of you fine folks on here.
One thing I did change was to not boot via TFTP since I'd rather not have booting dependent on network availability. Instead I'm loading via SD. It was pretty straight forward but, in case anyone else is interested, I replaced the load_tianocore variable like so (assuming dev 0, part 1):
setenv load_tianocore 'fatload mmc 0:1 0x82000000 mp30ar0_tianocore_ubt.fd; fatload mmc 0:1 0x1d000000 mp30ar0_tianocore_sec_ubt.fd'
Stoked. Thanks again, guys!
I was wondering if one of you guys might be willing to own/submit a wiki page article around this board, howto get rolling with CentOS etc ?
I was planning to do just that this weekend when I get mine up and running. :-)
I am very much in favour of the way Jeremiah has his set up, though. Having u-boot as the stage 1 bootloade before TianoCore UEFI adds a lot more flexibility at the relatively trivial expense of adding a seconds or two to the boot time.
5 seconds only to be precise, at least on my board :)
On 2016-03-11 10:31, Michael Howard wrote:
On 10/03/2016 13:47, Gordan Bobic wrote:
On 2016-03-10 13:39, Karanbir Singh wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 09/03/16 21:11, Jeremiah Rothschild wrote:
On Fri, Mar 04, 2016 at 02:05:08PM +0000, Michael Howard wrote:
On 04/03/2016 11:47, Richard W.M. Jones wrote:
On Sat, Feb 20, 2016 at 11:06:08AM +0700, Phong Vo wrote: > In theory, you just need to convert CentOS vmlinuz to uImage, > then do U-boot boot using the dtb and CentOS initrd.img; but > somehow it hangs on me. I'll need to dig into it further. > > I am not aware that it was shipped only with U-boot. If you > want to try with UEFI, take it from my dropbox > > https://dl.dropboxusercontent.com/u/20403943/mp30ar0_tianocore_bina
ries.tar.xz
> > >
mp30ar0_tianocore_media.img: burn to SPI NOR if you want to replace U-bo ot
> permanently Has anyone tried this step ^^ (replacing u-boot permanently)?
I'm not too keen to brick an $800 board. Is it reversible?
No, not tried it, don't see the point of risking it at the mo. Somebody did brick their board (https://lists.centos.org/pipermail/arm-dev/2016-February/001622.html
)
and for me, I just chainload tianocore from u-boot via tftp.
Indeed - that was me! Fun times. I'm all up & running on CentOS 7.2 now, though, thanks to the help of you fine folks on here.
One thing I did change was to not boot via TFTP since I'd rather not have booting dependent on network availability. Instead I'm loading via SD. It was pretty straight forward but, in case anyone else is interested, I replaced the load_tianocore variable like so (assuming dev 0, part 1):
setenv load_tianocore 'fatload mmc 0:1 0x82000000 mp30ar0_tianocore_ubt.fd; fatload mmc 0:1 0x1d000000 mp30ar0_tianocore_sec_ubt.fd'
Stoked. Thanks again, guys!
I was wondering if one of you guys might be willing to own/submit a wiki page article around this board, howto get rolling with CentOS etc ?
I was planning to do just that this weekend when I get mine up and running. :-)
I am very much in favour of the way Jeremiah has his set up, though. Having u-boot as the stage 1 bootloade before TianoCore UEFI adds a lot more flexibility at the relatively trivial expense of adding a seconds or two to the boot time.
5 seconds only to be precise, at least on my board :)
Is that because the interactive boot keypress timeout on u-boot defaults to 5 seconds? I ask because that is actually adjustable. :-)
On 11/03/2016 10:38, Gordan Bobic wrote:
On 2016-03-11 10:31, Michael Howard wrote:
On 10/03/2016 13:47, Gordan Bobic wrote:
On 2016-03-10 13:39, Karanbir Singh wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 09/03/16 21:11, Jeremiah Rothschild wrote:
On Fri, Mar 04, 2016 at 02:05:08PM +0000, Michael Howard wrote:
On 04/03/2016 11:47, Richard W.M. Jones wrote: > On Sat, Feb 20, 2016 at 11:06:08AM +0700, Phong Vo wrote: >> In theory, you just need to convert CentOS vmlinuz to uImage, >> then do U-boot boot using the dtb and CentOS initrd.img; but >> somehow it hangs on me. I'll need to dig into it further. >> >> I am not aware that it was shipped only with U-boot. If you >> want to try with UEFI, take it from my dropbox >> >> https://dl.dropboxusercontent.com/u/20403943/mp30ar0_tianocore_bina >>
ries.tar.xz
>> >> >>
mp30ar0_tianocore_media.img: burn to SPI NOR if you want to replace U-bo ot
>> permanently > Has anyone tried this step ^^ (replacing u-boot permanently)? > > I'm not too keen to brick an $800 board. Is it reversible? > >
No, not tried it, don't see the point of risking it at the mo. Somebody did brick their board (https://lists.centos.org/pipermail/arm-dev/2016-February/001622.html
)
and for me, I just chainload tianocore from u-boot via tftp.
Indeed - that was me! Fun times. I'm all up & running on CentOS 7.2 now, though, thanks to the help of you fine folks on here.
One thing I did change was to not boot via TFTP since I'd rather not have booting dependent on network availability. Instead I'm loading via SD. It was pretty straight forward but, in case anyone else is interested, I replaced the load_tianocore variable like so (assuming dev 0, part 1):
setenv load_tianocore 'fatload mmc 0:1 0x82000000 mp30ar0_tianocore_ubt.fd; fatload mmc 0:1 0x1d000000 mp30ar0_tianocore_sec_ubt.fd'
Stoked. Thanks again, guys!
I was wondering if one of you guys might be willing to own/submit a wiki page article around this board, howto get rolling with CentOS etc ?
I was planning to do just that this weekend when I get mine up and running. :-)
I am very much in favour of the way Jeremiah has his set up, though. Having u-boot as the stage 1 bootloade before TianoCore UEFI adds a lot more flexibility at the relatively trivial expense of adding a seconds or two to the boot time.
5 seconds only to be precise, at least on my board :)
Is that because the interactive boot keypress timeout on u-boot defaults to 5 seconds? I ask because that is actually adjustable. :-)
:) no, that was just coincidence. I was actually referring to 5 secs being the difference between tftp and mmc loading. I haven't burned UEFI permanently.
On 2016-03-11 12:58, Michael Howard wrote:
On 11/03/2016 10:38, Gordan Bobic wrote:
On 2016-03-11 10:31, Michael Howard wrote:
On 10/03/2016 13:47, Gordan Bobic wrote:
On 2016-03-10 13:39, Karanbir Singh wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 09/03/16 21:11, Jeremiah Rothschild wrote:
On Fri, Mar 04, 2016 at 02:05:08PM +0000, Michael Howard wrote: > On 04/03/2016 11:47, Richard W.M. Jones wrote: >> On Sat, Feb 20, 2016 at 11:06:08AM +0700, Phong Vo wrote: >>> In theory, you just need to convert CentOS vmlinuz to uImage, >>> then do U-boot boot using the dtb and CentOS initrd.img; but >>> somehow it hangs on me. I'll need to dig into it further. >>> >>> I am not aware that it was shipped only with U-boot. If you >>> want to try with UEFI, take it from my dropbox >>> >>> https://dl.dropboxusercontent.com/u/20403943/mp30ar0_tianocore_bina
ries.tar.xz
>>> >>> >>>
mp30ar0_tianocore_media.img: burn to SPI NOR if you want to replace U-bo ot
>>> permanently >> Has anyone tried this step ^^ (replacing u-boot permanently)? >> >> I'm not too keen to brick an $800 board. Is it reversible? >> >> > > No, not tried it, don't see the point of risking it at the mo. > Somebody did brick their board > (https://lists.centos.org/pipermail/arm-dev/2016-February/001622.html
)
> >
and for me, I just chainload tianocore from u-boot via tftp.
Indeed - that was me! Fun times. I'm all up & running on CentOS 7.2 now, though, thanks to the help of you fine folks on here.
One thing I did change was to not boot via TFTP since I'd rather not have booting dependent on network availability. Instead I'm loading via SD. It was pretty straight forward but, in case anyone else is interested, I replaced the load_tianocore variable like so (assuming dev 0, part 1):
setenv load_tianocore 'fatload mmc 0:1 0x82000000 mp30ar0_tianocore_ubt.fd; fatload mmc 0:1 0x1d000000 mp30ar0_tianocore_sec_ubt.fd'
Stoked. Thanks again, guys!
I was wondering if one of you guys might be willing to own/submit a wiki page article around this board, howto get rolling with CentOS etc ?
I was planning to do just that this weekend when I get mine up and running. :-)
I am very much in favour of the way Jeremiah has his set up, though. Having u-boot as the stage 1 bootloade before TianoCore UEFI adds a lot more flexibility at the relatively trivial expense of adding a seconds or two to the boot time.
5 seconds only to be precise, at least on my board :)
Is that because the interactive boot keypress timeout on u-boot defaults to 5 seconds? I ask because that is actually adjustable. :-)
:) no, that was just coincidence. I was actually referring to 5 secs being the difference between tftp and mmc loading. I haven't burned UEFI permanently.
Oh, I see. I was always intending to have UEFI on MMC. I only ever use TFTP when setting up diskless machines with NFS root or for unbricking.
On 11/03/2016 13:04, Gordan Bobic wrote:
On 2016-03-11 12:58, Michael Howard wrote:
On 11/03/2016 10:38, Gordan Bobic wrote:
On 2016-03-11 10:31, Michael Howard wrote:
On 10/03/2016 13:47, Gordan Bobic wrote:
On 2016-03-10 13:39, Karanbir Singh wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 09/03/16 21:11, Jeremiah Rothschild wrote: > On Fri, Mar 04, 2016 at 02:05:08PM +0000, Michael Howard wrote: >> On 04/03/2016 11:47, Richard W.M. Jones wrote: >>> On Sat, Feb 20, 2016 at 11:06:08AM +0700, Phong Vo wrote: >>>> In theory, you just need to convert CentOS vmlinuz to uImage, >>>> then do U-boot boot using the dtb and CentOS initrd.img; but >>>> somehow it hangs on me. I'll need to dig into it further. >>>> >>>> I am not aware that it was shipped only with U-boot. If you >>>> want to try with UEFI, take it from my dropbox >>>> >>>> https://dl.dropboxusercontent.com/u/20403943/mp30ar0_tianocore_bina >>>> ries.tar.xz >>>> >>>> >>>> mp30ar0_tianocore_media.img: burn to SPI NOR if you want to replace U-bo ot >>>> permanently >>> Has anyone tried this step ^^ (replacing u-boot permanently)? >>> >>> I'm not too keen to brick an $800 board. Is it reversible? >>> >>> >> >> No, not tried it, don't see the point of risking it at the mo. >> Somebody did brick their board >> (https://lists.centos.org/pipermail/arm-dev/2016-February/001622.html >> ) >> >> and for me, I just chainload tianocore from u-boot via tftp. > > Indeed - that was me! Fun times. I'm all up & running on CentOS 7.2 > now, though, thanks to the help of you fine folks on here. > > One thing I did change was to not boot via TFTP since I'd rather > not have booting dependent on network availability. Instead I'm > loading via SD. It was pretty straight forward but, in case anyone > else is interested, I replaced the load_tianocore variable like so > (assuming dev 0, part 1): > > setenv load_tianocore 'fatload mmc 0:1 0x82000000 > mp30ar0_tianocore_ubt.fd; fatload mmc 0:1 0x1d000000 > mp30ar0_tianocore_sec_ubt.fd' > > Stoked. Thanks again, guys!
I was wondering if one of you guys might be willing to own/submit a wiki page article around this board, howto get rolling with CentOS etc ?
I was planning to do just that this weekend when I get mine up and running. :-)
I am very much in favour of the way Jeremiah has his set up, though. Having u-boot as the stage 1 bootloade before TianoCore UEFI adds a lot more flexibility at the relatively trivial expense of adding a seconds or two to the boot time.
5 seconds only to be precise, at least on my board :)
Is that because the interactive boot keypress timeout on u-boot defaults to 5 seconds? I ask because that is actually adjustable. :-)
:) no, that was just coincidence. I was actually referring to 5 secs being the difference between tftp and mmc loading. I haven't burned UEFI permanently.
Oh, I see. I was always intending to have UEFI on MMC. I only ever use TFTP when setting up diskless machines with NFS root or for unbricking.
I'll be using mmc in this case too, despite it being a tad slower, as my stupid netgear switches don't not like LAG(Port Trunking) outside of an OS.
On Fri, Mar 11, 2016 at 10:31:20AM +0000, Michael Howard wrote:
5 seconds only to be precise, at least on my board :)
I found TFTP to be slower and more unreliable than that. However my TFTP server is dnsmasq running on an old box, so that could be a factor. Anyway, flashing TianoCore worked for me (see elsewhere on this thread) and means the box doesn't depend on the network to boot.
Rich.
On 11/03/2016 16:45, Richard W.M. Jones wrote:
On Fri, Mar 11, 2016 at 10:31:20AM +0000, Michael Howard wrote:
5 seconds only to be precise, at least on my board :)
I found TFTP to be slower and more unreliable than that. However my TFTP server is dnsmasq running on an old box,
That could be the reason then. Sdcards are painfully slow so you get what you pay for metaphorically speaking. No big deal either way I guess but I much prefer tftp here on a completely 1Gb network and a tftp server on a 24/7 Xenserver VM.
so that could be a factor. Anyway, flashing TianoCore worked for me (see elsewhere on this thread) and means the box doesn't depend on the network to boot.
Each to their own of course but if I have no network, my server isn't much use to me.
On Fri, Mar 11, 2016 at 05:03:46PM +0000, Michael Howard wrote:
On 11/03/2016 16:45, Richard W.M. Jones wrote:
On Fri, Mar 11, 2016 at 10:31:20AM +0000, Michael Howard wrote:
5 seconds only to be precise, at least on my board :)
I found TFTP to be slower and more unreliable than that. However my TFTP server is dnsmasq running on an old box,
That could be the reason then. Sdcards are painfully slow so you get what you pay for metaphorically speaking. No big deal either way I guess but I much prefer tftp here on a completely 1Gb network and a tftp server on a 24/7 Xenserver VM.
Both methods are a little unorthodox - at least in my experience. Is there a spinning disk based solution perhaps, too? I would imagine the chain could be loaded from any storage resource. Can it be hacked onto an extra OS drive partition or something?
so that could be a factor. Anyway, flashing TianoCore worked for me (see elsewhere on this thread) and means the box doesn't depend on the network to boot.
Each to their own of course but if I have no network, my server isn't much use to me.
-- Mike Howard
Arm-dev mailing list Arm-dev@centos.org https://lists.centos.org/mailman/listinfo/arm-dev
On 11/03/16 17:56, Jeremiah Rothschild wrote:
On Fri, Mar 11, 2016 at 05:03:46PM +0000, Michael Howard wrote:
On 11/03/2016 16:45, Richard W.M. Jones wrote:
On Fri, Mar 11, 2016 at 10:31:20AM +0000, Michael Howard wrote:
5 seconds only to be precise, at least on my board :)
I found TFTP to be slower and more unreliable than that. However my TFTP server is dnsmasq running on an old box,
That could be the reason then. Sdcards are painfully slow so you get what you pay for metaphorically speaking. No big deal either way I guess but I much prefer tftp here on a completely 1Gb network and a tftp server on a 24/7 Xenserver VM.
Both methods are a little unorthodox - at least in my experience.
In the ARM world, booting the kernel straight out of u-boot is the norm. It is how the boot process works on the vast majority of ARM devices. It is loading UEFI at all that is unorthodox. UEFI and BIOS before it are very much x86-isms.
Is there a spinning disk based solution perhaps, too? I would imagine the chain could be loaded from any storage resource. Can it be hacked onto an extra OS drive partition or something?
UEFI requires a FAT partition anyway that you could also use for this. The main question is whether u-boot that ships with this board actually supports SATA. If it does it would be trivially easy to make that work. Ask me again in 48 hours and I'll be able to tell you whether that works on this particular Gigabyte board. :)
Gordan
On Fri, Mar 11, 2016 at 08:02:40PM +0000, Gordan Bobic wrote:
In the ARM world, booting the kernel straight out of u-boot is the norm. It is how the boot process works on the vast majority of ARM devices. It is loading UEFI at all that is unorthodox. UEFI and BIOS before it are very much x86-isms.
U-boot doesn't present a standard set of services to the kernel. All successful server platforms allow the hardware to be interchangeable, so that a single binary OS can run on any available hardware. Who could run a datacenter if every variety of hardware in the datacenter required a different fork/patched u-boot / kernel / cmdline? It would be an absurd situation, and server ARM will *never* be successful in datacenters and clouds if that happens.
The second thing is that ARM hardware isn't self-describing to the OS (which itself is dumb - PCI called from 1995 - but here we are). DT is really a random hack, not even portable between Linux versions, nevermind across different OSes.
UEFI provides the services to the kernel which are needed to hide the low level hardware differences, and ACPI describes the harwdare in a portable manner, and that's why SBSA/SBBR standardizes on those.
Rich.
On 11/03/16 20:24, Richard W.M. Jones wrote:
On Fri, Mar 11, 2016 at 08:02:40PM +0000, Gordan Bobic wrote:
In the ARM world, booting the kernel straight out of u-boot is the norm. It is how the boot process works on the vast majority of ARM devices. It is loading UEFI at all that is unorthodox. UEFI and BIOS before it are very much x86-isms.
U-boot doesn't present a standard set of services to the kernel. All successful server platforms allow the hardware to be interchangeable, so that a single binary OS can run on any available hardware. Who could run a datacenter if every variety of hardware in the datacenter required a different fork/patched u-boot / kernel / cmdline? It would be an absurd situation, and server ARM will *never* be successful in datacenters and clouds if that happens.
The second thing is that ARM hardware isn't self-describing to the OS (which itself is dumb - PCI called from 1995 - but here we are). DT is really a random hack, not even portable between Linux versions, nevermind across different OSes.
UEFI provides the services to the kernel which are needed to hide the low level hardware differences, and ACPI describes the harwdare in a portable manner, and that's why SBSA/SBBR standardizes on those.
Standards are an awesome thing, but as far as ARM goes it's too little too late because device trees already solved that problem for the kernel, allowing the same binary kernel to boot on many different boards.
But I guess too little too late is better than nothing.
Gordan
On Fri, Mar 11, 2016 at 08:02:40PM +0000, Gordan Bobic wrote:
On 11/03/16 17:56, Jeremiah Rothschild wrote:
On Fri, Mar 11, 2016 at 05:03:46PM +0000, Michael Howard wrote:
On 11/03/2016 16:45, Richard W.M. Jones wrote:
On Fri, Mar 11, 2016 at 10:31:20AM +0000, Michael Howard wrote:
5 seconds only to be precise, at least on my board :)
I found TFTP to be slower and more unreliable than that. However my TFTP server is dnsmasq running on an old box,
That could be the reason then. Sdcards are painfully slow so you get what you pay for metaphorically speaking. No big deal either way I guess but I much prefer tftp here on a completely 1Gb network and a tftp server on a 24/7 Xenserver VM.
Both methods are a little unorthodox - at least in my experience.
In the ARM world, booting the kernel straight out of u-boot is the norm. It is how the boot process works on the vast majority of ARM devices. It is loading UEFI at all that is unorthodox. UEFI and BIOS before it are very much x86-isms.
To clarify, it's the SD/TFTP booting that I find unorthodox for a functional, disk having server. I know there are many use cases but, personally, as a sys admin, I'd typically only go down that route for operations like kickstart, rescue, etc.
Is there a spinning disk based solution perhaps, too? I would imagine the chain could be loaded from any storage resource. Can it be hacked onto an extra OS drive partition or something?
UEFI requires a FAT partition anyway that you could also use for this.
Nod. I do have the /boot/efi partition. Further leveraging it, or another partition, would be sweet.
The main question is whether u-boot that ships with this board actually supports SATA. If it does it would be trivially easy to make that work. Ask me again in 48 hours and I'll be able to tell you whether that works on this particular Gigabyte board. :)
Interesting. I'm new to U-Boot but it never occurred to me that it wouldn't detect all of my devices. That said, I have 2x SSD's in here yet:
MP30AR0# scsi info SCSI dev. 0: device type unknown SCSI dev. 1: device type unknown SCSI dev. 2: device type unknown SCSI dev. 3: device type unknown SCSI dev. 4: device type unknown SCSI dev. 5: device type unknown
Gordan _______________________________________________ Arm-dev mailing list Arm-dev@centos.org https://lists.centos.org/mailman/listinfo/arm-dev
On 11/03/16 22:51, Jeremiah Rothschild wrote:
On Fri, Mar 11, 2016 at 08:02:40PM +0000, Gordan Bobic wrote:
On 11/03/16 17:56, Jeremiah Rothschild wrote:
On Fri, Mar 11, 2016 at 05:03:46PM +0000, Michael Howard wrote:
On 11/03/2016 16:45, Richard W.M. Jones wrote:
On Fri, Mar 11, 2016 at 10:31:20AM +0000, Michael Howard wrote:
5 seconds only to be precise, at least on my board :)
I found TFTP to be slower and more unreliable than that. However my TFTP server is dnsmasq running on an old box,
That could be the reason then. Sdcards are painfully slow so you get what you pay for metaphorically speaking. No big deal either way I guess but I much prefer tftp here on a completely 1Gb network and a tftp server on a 24/7 Xenserver VM.
Both methods are a little unorthodox - at least in my experience.
In the ARM world, booting the kernel straight out of u-boot is the norm. It is how the boot process works on the vast majority of ARM devices. It is loading UEFI at all that is unorthodox. UEFI and BIOS before it are very much x86-isms.
To clarify, it's the SD/TFTP booting that I find unorthodox for a functional, disk having server. I know there are many use cases but, personally, as a sys admin, I'd typically only go down that route for operations like kickstart, rescue, etc.
Is there a spinning disk based solution perhaps, too? I would imagine the chain could be loaded from any storage resource. Can it be hacked onto an extra OS drive partition or something?
UEFI requires a FAT partition anyway that you could also use for this.
Nod. I do have the /boot/efi partition. Further leveraging it, or another partition, would be sweet.
The main question is whether u-boot that ships with this board actually supports SATA. If it does it would be trivially easy to make that work. Ask me again in 48 hours and I'll be able to tell you whether that works on this particular Gigabyte board. :)
Interesting. I'm new to U-Boot but it never occurred to me that it wouldn't detect all of my devices. That said, I have 2x SSD's in here yet:
MP30AR0# scsi info SCSI dev. 0: device type unknown SCSI dev. 1: device type unknown SCSI dev. 2: device type unknown SCSI dev. 3: device type unknown SCSI dev. 4: device type unknown SCSI dev. 5: device type unknown
6 devices? There are only 4 SATA connectors on the motherboard. I connected a single SATA device (just a normal 250GB SATA disk) and it seems to have detected that fine, and can read partitions and ext4 contents (ext4ls scsi 0:1) from it.
I'm just downloading the Centos 7.2 aarch64 ISO, so more in a bit.
Gordan
On Sat, Mar 12, 2016 at 10:10:45AM +0000, Gordan Bobic wrote:
On 11/03/16 22:51, Jeremiah Rothschild wrote:
On Fri, Mar 11, 2016 at 08:02:40PM +0000, Gordan Bobic wrote:
On 11/03/16 17:56, Jeremiah Rothschild wrote:
On Fri, Mar 11, 2016 at 05:03:46PM +0000, Michael Howard wrote:
On 11/03/2016 16:45, Richard W.M. Jones wrote:
On Fri, Mar 11, 2016 at 10:31:20AM +0000, Michael Howard wrote: >5 seconds only to be precise, at least on my board :) I found TFTP to be slower and more unreliable than that. However my TFTP server is dnsmasq running on an old box,
That could be the reason then. Sdcards are painfully slow so you get what you pay for metaphorically speaking. No big deal either way I guess but I much prefer tftp here on a completely 1Gb network and a tftp server on a 24/7 Xenserver VM.
Both methods are a little unorthodox - at least in my experience.
In the ARM world, booting the kernel straight out of u-boot is the norm. It is how the boot process works on the vast majority of ARM devices. It is loading UEFI at all that is unorthodox. UEFI and BIOS before it are very much x86-isms.
To clarify, it's the SD/TFTP booting that I find unorthodox for a functional, disk having server. I know there are many use cases but, personally, as a sys admin, I'd typically only go down that route for operations like kickstart, rescue, etc.
Is there a spinning disk based solution perhaps, too? I would imagine the chain could be loaded from any storage resource. Can it be hacked onto an extra OS drive partition or something?
UEFI requires a FAT partition anyway that you could also use for this.
Nod. I do have the /boot/efi partition. Further leveraging it, or another partition, would be sweet.
The main question is whether u-boot that ships with this board actually supports SATA. If it does it would be trivially easy to make that work. Ask me again in 48 hours and I'll be able to tell you whether that works on this particular Gigabyte board. :)
Interesting. I'm new to U-Boot but it never occurred to me that it wouldn't detect all of my devices. That said, I have 2x SSD's in here yet:
MP30AR0# scsi info SCSI dev. 0: device type unknown SCSI dev. 1: device type unknown SCSI dev. 2: device type unknown SCSI dev. 3: device type unknown SCSI dev. 4: device type unknown SCSI dev. 5: device type unknown
6 devices? There are only 4 SATA connectors on the motherboard. I connected a single SATA device (just a normal 250GB SATA disk) and it seems to have detected that fine, and can read partitions and ext4 contents (ext4ls scsi 0:1) from it.
Seems I had to first issue the `scsi init' command:
MP30AR0# scsi init SATA1 link 0 timeout. No drive connected SATA1 link 1 timeout. No drive connected AHCI1 0001.0300 32 slots 2 ports 6 Gbps 0x3 impl SATA mode flags: 64bit ncq pm only pmp fbss pio slum part ccc Target spinup toTarget spinup took 0 ms. AHCI2 0001.0300 32 slots 2 ports 6 Gbps 0x3 impl SATA mode flags: 64bit ncq pm only pmp fbss pio slum part ccc scanning bus for devices... Device 0: (4:0) Vendor: ATA Prod.: CT240BX200SSD1 Rev: MU01 Type: Hard Disk Capacity: 228936.5 MB = 223.5 GB (468862128 x 512) Device 1: (5:0) Vendor: ATA Prod.: CT240BX200SSD1 Rev: MU01 Type: Hard Disk Capacity: 228936.5 MB = 223.5 GB (468862128 x 512) Found 2 device(s).
MP30AR0# scsi info SCSI dev. 0: (4:0) Vendor: ATA Prod.: CT240BX200SSD1 Rev: MU01 Type: Hard Disk Capacity: 228936.5 MB = 223.5 GB (468862128 x 512) SCSI dev. 1: (5:0) Vendor: ATA Prod.: CT240BX200SSD1 Rev: MU01 Type: Hard Disk Capacity: 228936.5 MB = 223.5 GB (468862128 x 512)
Should be fairly smooth sailing from here, I think/hope.
I'm just downloading the Centos 7.2 aarch64 ISO, so more in a bit.
Gordan _______________________________________________ Arm-dev mailing list Arm-dev@centos.org https://lists.centos.org/mailman/listinfo/arm-dev
On 12/03/16 15:52, Jeremiah Rothschild wrote:
On Sat, Mar 12, 2016 at 10:10:45AM +0000, Gordan Bobic wrote:
On 11/03/16 22:51, Jeremiah Rothschild wrote:
On Fri, Mar 11, 2016 at 08:02:40PM +0000, Gordan Bobic wrote:
On 11/03/16 17:56, Jeremiah Rothschild wrote:
On Fri, Mar 11, 2016 at 05:03:46PM +0000, Michael Howard wrote:
On 11/03/2016 16:45, Richard W.M. Jones wrote: > On Fri, Mar 11, 2016 at 10:31:20AM +0000, Michael Howard wrote: >> 5 seconds only to be precise, at least on my board :) > I found TFTP to be slower and more unreliable than that. However my > TFTP server is dnsmasq running on an old box,
That could be the reason then. Sdcards are painfully slow so you get what you pay for metaphorically speaking. No big deal either way I guess but I much prefer tftp here on a completely 1Gb network and a tftp server on a 24/7 Xenserver VM.
Both methods are a little unorthodox - at least in my experience.
In the ARM world, booting the kernel straight out of u-boot is the norm. It is how the boot process works on the vast majority of ARM devices. It is loading UEFI at all that is unorthodox. UEFI and BIOS before it are very much x86-isms.
To clarify, it's the SD/TFTP booting that I find unorthodox for a functional, disk having server. I know there are many use cases but, personally, as a sys admin, I'd typically only go down that route for operations like kickstart, rescue, etc.
Is there a spinning disk based solution perhaps, too? I would imagine the chain could be loaded from any storage resource. Can it be hacked onto an extra OS drive partition or something?
UEFI requires a FAT partition anyway that you could also use for this.
Nod. I do have the /boot/efi partition. Further leveraging it, or another partition, would be sweet.
The main question is whether u-boot that ships with this board actually supports SATA. If it does it would be trivially easy to make that work. Ask me again in 48 hours and I'll be able to tell you whether that works on this particular Gigabyte board. :)
Interesting. I'm new to U-Boot but it never occurred to me that it wouldn't detect all of my devices. That said, I have 2x SSD's in here yet:
MP30AR0# scsi info SCSI dev. 0: device type unknown SCSI dev. 1: device type unknown SCSI dev. 2: device type unknown SCSI dev. 3: device type unknown SCSI dev. 4: device type unknown SCSI dev. 5: device type unknown
6 devices? There are only 4 SATA connectors on the motherboard. I connected a single SATA device (just a normal 250GB SATA disk) and it seems to have detected that fine, and can read partitions and ext4 contents (ext4ls scsi 0:1) from it.
Seems I had to first issue the `scsi init' command:
MP30AR0# scsi init SATA1 link 0 timeout. No drive connected SATA1 link 1 timeout. No drive connected AHCI1 0001.0300 32 slots 2 ports 6 Gbps 0x3 impl SATA mode flags: 64bit ncq pm only pmp fbss pio slum part ccc Target spinup toTarget spinup took 0 ms. AHCI2 0001.0300 32 slots 2 ports 6 Gbps 0x3 impl SATA mode flags: 64bit ncq pm only pmp fbss pio slum part ccc scanning bus for devices... Device 0: (4:0) Vendor: ATA Prod.: CT240BX200SSD1 Rev: MU01 Type: Hard Disk Capacity: 228936.5 MB = 223.5 GB (468862128 x 512) Device 1: (5:0) Vendor: ATA Prod.: CT240BX200SSD1 Rev: MU01 Type: Hard Disk Capacity: 228936.5 MB = 223.5 GB (468862128 x 512) Found 2 device(s).
MP30AR0# scsi info SCSI dev. 0: (4:0) Vendor: ATA Prod.: CT240BX200SSD1 Rev: MU01 Type: Hard Disk Capacity: 228936.5 MB = 223.5 GB (468862128 x 512) SCSI dev. 1: (5:0) Vendor: ATA Prod.: CT240BX200SSD1 Rev: MU01 Type: Hard Disk Capacity: 228936.5 MB = 223.5 GB (468862128 x 512)
Should be fairly smooth sailing from here, I think/hope.
I just tried it. Simply copy the two .fd files from the USB stick to /boot/efi, and change the u-boot variable thusly: MP30AR0# setenv load_tianocore ' scsi init; fatload scsi 0:1 0x82000000 mp30ar0_tianocore_ubt.fd; fatload scsi 0:1 0x1d000000 mp30ar0_tianocore_sec_ubt.fd;'
At this point I think we are also ready to make the UEFI boot the default action, so:
MP30AR0# setenv bootcmd 'run load_tianocore run_tianocore' MP30AR0# save MP30AR0# reset
Enjoy. :)
Gordan
On 11/03/2016 20:02, Gordan Bobic wrote:
On 11/03/16 17:56, Jeremiah Rothschild wrote:
On Fri, Mar 11, 2016 at 05:03:46PM +0000, Michael Howard wrote:
On 11/03/2016 16:45, Richard W.M. Jones wrote:
On Fri, Mar 11, 2016 at 10:31:20AM +0000, Michael Howard wrote:
5 seconds only to be precise, at least on my board :)
I found TFTP to be slower and more unreliable than that. However my TFTP server is dnsmasq running on an old box,
That could be the reason then. Sdcards are painfully slow so you get what you pay for metaphorically speaking. No big deal either way I guess but I much prefer tftp here on a completely 1Gb network and a tftp server on a 24/7 Xenserver VM.
Both methods are a little unorthodox - at least in my experience.
In the ARM world, booting the kernel straight out of u-boot is the norm. It is how the boot process works on the vast majority of ARM devices. It is loading UEFI at all that is unorthodox. UEFI and BIOS before it are very much x86-isms.
Is there a spinning disk based solution perhaps, too? I would imagine the chain could be loaded from any storage resource. Can it be hacked onto an extra OS drive partition or something?
UEFI requires a FAT partition anyway that you could also use for this. The main question is whether u-boot that ships with this board actually supports SATA. If it does it would be trivially easy to make that work. Ask me again in 48 hours and I'll be able to tell you whether that works on this particular Gigabyte board. :)
The shipped u-boot does not support sata.
So I just got my MP30-AR0 fitted into a case, and I have a few observations and questions.
1) The machine seems to not POST with lopsided memory configurations. For example, I have 6x8GB RDIMMs, and it POSTs with 4 DIMMs in the blue slots, but doesn't POST with the extra 2 DIMMs added to the black slots on banks 0 and 1. Is this expected?
2) u-boot doesn't appear to be responding to keystrokes to interrupt the boot sequence via network KVM console. Am I missing a trick here? How do I interrupt the boot without using a directly connected USB keyboard?
On 12/03/2016 09:54, Gordan Bobic wrote:
So I just got my MP30-AR0 fitted into a case, and I have a few observations and questions.
- The machine seems to not POST with lopsided memory configurations.
For example, I have 6x8GB RDIMMs, and it POSTs with 4 DIMMs in the blue slots, but doesn't POST with the extra 2 DIMMs added to the black slots on banks 0 and 1. Is this expected?
There are four channels, each of two slots, populated slot0/slot1, unless you use just a single dimm :) However, the scant manual suggests only 1,2,4 and 8 slot configurations.
- u-boot doesn't appear to be responding to keystrokes to interrupt
the boot sequence via network KVM console. Am I missing a trick here? How do I interrupt the boot without using a directly connected USB keyboard?
I can't get the network KVM (via BMC) to accept anything.
On 12/03/16 12:37, Michael Howard wrote:
On 12/03/2016 09:54, Gordan Bobic wrote:
So I just got my MP30-AR0 fitted into a case, and I have a few observations and questions.
- The machine seems to not POST with lopsided memory configurations.
For example, I have 6x8GB RDIMMs, and it POSTs with 4 DIMMs in the blue slots, but doesn't POST with the extra 2 DIMMs added to the black slots on banks 0 and 1. Is this expected?
There are four channels, each of two slots, populated slot0/slot1, unless you use just a single dimm :) However, the scant manual suggests only 1,2,4 and 8 slot configurations.
Yes, that's impression I was getting, too, but it is a bit of a bizzare limitation.
- u-boot doesn't appear to be responding to keystrokes to interrupt
the boot sequence via network KVM console. Am I missing a trick here? How do I interrupt the boot without using a directly connected USB keyboard?
I can't get the network KVM (via BMC) to accept anything.
I suspect this is to do with Java on the client side. The KVM/media client is Java based and it complains at startup that it couldn't find various native libraries. Googling around the subject indicates that the management app only comes with 32-bit support, and CentOS 7 only comes with 64-bit icedtea-web. :-(
Gordan
On Sat, Mar 12, 2016 at 12:37:30PM +0000, Michael Howard wrote:
I can't get the network KVM (via BMC) to accept anything.
I found that you have to plug a separate network cable into the BMC network port. I don't have the manual right now, but I believe it is called "f" in the manual -- it's the port above the two USB connectors. The BMC acquires its own IP address from DHCP, so you also need to determine that from your DHCP server or by sniffing it.
Once I did that I was able to use the freeipmi tools in another Fedora machine to control the Gigabyte board. The user/password is admin/password. At least: remote serial console, power state, power on/off, and many board sensors work. It appears to be a fairly complete IPMI implementation, but I didn't yet try to see if I can change the boot device. The remote serial console is echoed on the real serial console, ie. injecting keypresses via IPMI also echoes them in the physical serial console I have connected, which is a long way of saying that there is only one serial port, not two.
I wasn't able to access the VGA display remotely. I'm not sure if that is even possible, nor if RHEL/CentOS actually displays anything on VGA (I don't have the physical VGA connected either).
There is also a web management interface available on the same BMC network port (just point a web server at the same DHCP-acquired address), but I didn't explore it in any detail.
Rich.
I should add that if you really want to jump in at the deep end, the particular BMC that Gigabyte chose (Aspeed AST 2400) is also supported by OpenBMC, so if you want you can replace the built in software with the open source OpenBMC stack. Would love to hear from anyone who actually does this :-)
Gigabyte are to be applauded for choosing this BMC, it seems like a really good one, in a world of crappy IPMI implementations.
Rich.
On 12/03/16 07:46, Michael Howard wrote:
On 11/03/2016 20:02, Gordan Bobic wrote:
On 11/03/16 17:56, Jeremiah Rothschild wrote:
On Fri, Mar 11, 2016 at 05:03:46PM +0000, Michael Howard wrote:
On 11/03/2016 16:45, Richard W.M. Jones wrote:
On Fri, Mar 11, 2016 at 10:31:20AM +0000, Michael Howard wrote:
5 seconds only to be precise, at least on my board :)
I found TFTP to be slower and more unreliable than that. However my TFTP server is dnsmasq running on an old box,
That could be the reason then. Sdcards are painfully slow so you get what you pay for metaphorically speaking. No big deal either way I guess but I much prefer tftp here on a completely 1Gb network and a tftp server on a 24/7 Xenserver VM.
Both methods are a little unorthodox - at least in my experience.
In the ARM world, booting the kernel straight out of u-boot is the norm. It is how the boot process works on the vast majority of ARM devices. It is loading UEFI at all that is unorthodox. UEFI and BIOS before it are very much x86-isms.
Is there a spinning disk based solution perhaps, too? I would imagine the chain could be loaded from any storage resource. Can it be hacked onto an extra OS drive partition or something?
UEFI requires a FAT partition anyway that you could also use for this. The main question is whether u-boot that ships with this board actually supports SATA. If it does it would be trivially easy to make that work. Ask me again in 48 hours and I'll be able to tell you whether that works on this particular Gigabyte board. :)
The shipped u-boot does not support sata.
Are you sure about that? Look at the "scsi" command in u-boot. I haven't tried whether it actually works yet, but I hope to by the end of the day.
Gordan
On 12/03/2016 09:55, Gordan Bobic wrote:
On 12/03/16 07:46, Michael Howard wrote:
On 11/03/2016 20:02, Gordan Bobic wrote:
On 11/03/16 17:56, Jeremiah Rothschild wrote:
On Fri, Mar 11, 2016 at 05:03:46PM +0000, Michael Howard wrote:
On 11/03/2016 16:45, Richard W.M. Jones wrote:
On Fri, Mar 11, 2016 at 10:31:20AM +0000, Michael Howard wrote: > 5 seconds only to be precise, at least on my board :) I found TFTP to be slower and more unreliable than that. However my TFTP server is dnsmasq running on an old box,
That could be the reason then. Sdcards are painfully slow so you get what you pay for metaphorically speaking. No big deal either way I guess but I much prefer tftp here on a completely 1Gb network and a tftp server on a 24/7 Xenserver VM.
Both methods are a little unorthodox - at least in my experience.
In the ARM world, booting the kernel straight out of u-boot is the norm. It is how the boot process works on the vast majority of ARM devices. It is loading UEFI at all that is unorthodox. UEFI and BIOS before it are very much x86-isms.
Is there a spinning disk based solution perhaps, too? I would imagine the chain could be loaded from any storage resource. Can it be hacked onto an extra OS drive partition or something?
UEFI requires a FAT partition anyway that you could also use for this. The main question is whether u-boot that ships with this board actually supports SATA. If it does it would be trivially easy to make that work. Ask me again in 48 hours and I'll be able to tell you whether that works on this particular Gigabyte board. :)
The shipped u-boot does not support sata.
Are you sure about that? Look at the "scsi" command in u-boot. I haven't tried whether it actually works yet, but I hope to by the end of the day.
Of course, you're probably right.
On 11/03/16 17:03, Michael Howard wrote:
On 11/03/2016 16:45, Richard W.M. Jones wrote:
On Fri, Mar 11, 2016 at 10:31:20AM +0000, Michael Howard wrote:
5 seconds only to be precise, at least on my board :)
I found TFTP to be slower and more unreliable than that. However my TFTP server is dnsmasq running on an old box,
That could be the reason then. Sdcards are painfully slow so you get what you pay for metaphorically speaking.
Most are painfully slow on random writes. Random and sequential reads and sequential writes are actually reasonably quick. Certainly in terms of loading TianoCore off the SD card, it shouldn't cause any obviously undue slowness.
Gordan
Does anyone have any input on what (if any) lm_sensors drivers can be used? Probing tends to result in crashing the machine. Is there something other than ipmi available?
Gordan
On 13/03/2016 07:34, Gordan Bobic wrote:
Does anyone have any input on what (if any) lm_sensors drivers can be used? Probing tends to result in crashing the machine. Is there something other than ipmi available?
You'll probably find it's the default kernel causing the crash, it'll likely work with your new kernel, it does here.
On 13/03/2016 14:20, Michael Howard wrote:
On 13/03/2016 07:34, Gordan Bobic wrote:
Does anyone have any input on what (if any) lm_sensors drivers can be used? Probing tends to result in crashing the machine. Is there something other than ipmi available?
You'll probably find it's the default kernel causing the crash, it'll likely work with your new kernel, it does here.
Just to clarify, I mean lm_sensors does not crash the machine. Does lm_sensors support this board?
On 13/03/16 14:35, Michael Howard wrote:
On 13/03/2016 14:20, Michael Howard wrote:
On 13/03/2016 07:34, Gordan Bobic wrote:
Does anyone have any input on what (if any) lm_sensors drivers can be used? Probing tends to result in crashing the machine. Is there something other than ipmi available?
You'll probably find it's the default kernel causing the crash, it'll likely work with your new kernel, it does here.
Just to clarify, I mean lm_sensors does not crash the machine. Does lm_sensors support this board?
sensors-detect seems to reliably crash mine. :-/
On 13/03/16 14:20, Michael Howard wrote:
On 13/03/2016 07:34, Gordan Bobic wrote:
Does anyone have any input on what (if any) lm_sensors drivers can be used? Probing tends to result in crashing the machine. Is there something other than ipmi available?
You'll probably find it's the default kernel causing the crash, it'll likely work with your new kernel, it does here.
No, still causes a crash: Do you want to scan for Super I/O sensors? (YES/no): Probing for Super-I/O at 0x2e/0x2f Trying family `National Semiconductor/ITE'... Message from syslogd@orcone at Mar 13 14:34:18 ... kernel:Internal error: : 96000010 [#1] SMP
Some systems (mainly servers) implement IPMI, a set of common interfaces through which system health data may be retrieved, amongst other things. We first try to get the information from SMBIOS. If we don't find it there, we have to read from arbitrary I/O ports to probe for such interfaces. This is normally safe. Do you want to scan for IPMI interfaces? (YES/no): # DMI data unavailable, please consider installing dmidecode 2.7 # or later for better results. Probing for `IPMI BMC KCS' at 0xca0... Message from syslogd@orcone at Mar 13 14:51:42 ... kernel:Internal error: : 96000010 [#1] SMP
So it seems the sensors aren't there, and proving the various I/O ranges causes a crash.
Still it would be nice to get "ipmitool sensor" working locally. # ipmitool sensor Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory Get Device ID command failed Unable to open SDR for reading
Is there a driver that I missed?
Gordan
On 13/03/2016 14:58, Gordan Bobic wrote:
On 13/03/16 14:20, Michael Howard wrote:
On 13/03/2016 07:34, Gordan Bobic wrote:
Does anyone have any input on what (if any) lm_sensors drivers can be used? Probing tends to result in crashing the machine. Is there something other than ipmi available?
You'll probably find it's the default kernel causing the crash, it'll likely work with your new kernel, it does here.
No, still causes a crash: Do you want to scan for Super I/O sensors? (YES/no): Probing for Super-I/O at 0x2e/0x2f Trying family `National Semiconductor/ITE'... Message from syslogd@orcone at Mar 13 14:34:18 ... kernel:Internal error: : 96000010 [#1] SMP
Some systems (mainly servers) implement IPMI, a set of common interfaces through which system health data may be retrieved, amongst other things. We first try to get the information from SMBIOS. If we don't find it there, we have to read from arbitrary I/O ports to probe for such interfaces. This is normally safe. Do you want to scan for IPMI interfaces? (YES/no): # DMI data unavailable, please consider installing dmidecode 2.7 # or later for better results. Probing for `IPMI BMC KCS' at 0xca0... Message from syslogd@orcone at Mar 13 14:51:42 ... kernel:Internal error: : 96000010 [#1] SMP
So it seems the sensors aren't there, and proving the various I/O ranges causes a crash.
Still it would be nice to get "ipmitool sensor" working locally. # ipmitool sensor Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory Get Device ID command failed Unable to open SDR for reading
Is there a driver that I missed?
This may be a compatibility issue with ipmitools package, the protocol is clearly compatible though. I guess you can't load the ipmi_si module? I created /dev/ipmi0 manually but it made no difference to the error displayed.
On 13/03/16 15:57, Michael Howard wrote:
On 13/03/2016 14:58, Gordan Bobic wrote:
On 13/03/16 14:20, Michael Howard wrote:
On 13/03/2016 07:34, Gordan Bobic wrote:
Does anyone have any input on what (if any) lm_sensors drivers can be used? Probing tends to result in crashing the machine. Is there something other than ipmi available?
You'll probably find it's the default kernel causing the crash, it'll likely work with your new kernel, it does here.
No, still causes a crash: Do you want to scan for Super I/O sensors? (YES/no): Probing for Super-I/O at 0x2e/0x2f Trying family `National Semiconductor/ITE'... Message from syslogd@orcone at Mar 13 14:34:18 ... kernel:Internal error: : 96000010 [#1] SMP
Some systems (mainly servers) implement IPMI, a set of common interfaces through which system health data may be retrieved, amongst other things. We first try to get the information from SMBIOS. If we don't find it there, we have to read from arbitrary I/O ports to probe for such interfaces. This is normally safe. Do you want to scan for IPMI interfaces? (YES/no): # DMI data unavailable, please consider installing dmidecode 2.7 # or later for better results. Probing for `IPMI BMC KCS' at 0xca0... Message from syslogd@orcone at Mar 13 14:51:42 ... kernel:Internal error: : 96000010 [#1] SMP
So it seems the sensors aren't there, and proving the various I/O ranges causes a crash.
Still it would be nice to get "ipmitool sensor" working locally. # ipmitool sensor Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory Get Device ID command failed Unable to open SDR for reading
Is there a driver that I missed?
This may be a compatibility issue with ipmitools package, the protocol is clearly compatible though. I guess you can't load the ipmi_si module? I created /dev/ipmi0 manually but it made no difference to the error displayed.
# modprobe ipmi_si modprobe: ERROR: could not insert 'ipmi_si': No such device
So I'm wondering if a different driver is needed. Or a patch for this one.
Gordan
On 13/03/2016 16:10, Gordan Bobic wrote:
On 13/03/16 15:57, Michael Howard wrote:
On 13/03/2016 14:58, Gordan Bobic wrote:
On 13/03/16 14:20, Michael Howard wrote:
On 13/03/2016 07:34, Gordan Bobic wrote:
Does anyone have any input on what (if any) lm_sensors drivers can be used? Probing tends to result in crashing the machine. Is there something other than ipmi available?
You'll probably find it's the default kernel causing the crash, it'll likely work with your new kernel, it does here.
No, still causes a crash: Do you want to scan for Super I/O sensors? (YES/no): Probing for Super-I/O at 0x2e/0x2f Trying family `National Semiconductor/ITE'... Message from syslogd@orcone at Mar 13 14:34:18 ... kernel:Internal error: : 96000010 [#1] SMP
Some systems (mainly servers) implement IPMI, a set of common interfaces through which system health data may be retrieved, amongst other things. We first try to get the information from SMBIOS. If we don't find it there, we have to read from arbitrary I/O ports to probe for such interfaces. This is normally safe. Do you want to scan for IPMI interfaces? (YES/no): # DMI data unavailable, please consider installing dmidecode 2.7 # or later for better results. Probing for `IPMI BMC KCS' at 0xca0... Message from syslogd@orcone at Mar 13 14:51:42 ... kernel:Internal error: : 96000010 [#1] SMP
So it seems the sensors aren't there, and proving the various I/O ranges causes a crash.
Still it would be nice to get "ipmitool sensor" working locally. # ipmitool sensor Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory Get Device ID command failed Unable to open SDR for reading
Is there a driver that I missed?
This may be a compatibility issue with ipmitools package, the protocol is clearly compatible though. I guess you can't load the ipmi_si module? I created /dev/ipmi0 manually but it made no difference to the error displayed.
# modprobe ipmi_si modprobe: ERROR: could not insert 'ipmi_si': No such device
So I'm wondering if a different driver is needed. Or a patch for this one.
No, that's the correct driver, it just can't find the BMC at the default location. If we knew the location we could tell ipmi where to look.
On 13/03/2016 16:27, Michael Howard wrote:
On 13/03/2016 16:10, Gordan Bobic wrote:
On 13/03/16 15:57, Michael Howard wrote:
On 13/03/2016 14:58, Gordan Bobic wrote:
On 13/03/16 14:20, Michael Howard wrote:
On 13/03/2016 07:34, Gordan Bobic wrote:
Does anyone have any input on what (if any) lm_sensors drivers can be used? Probing tends to result in crashing the machine. Is there something other than ipmi available?
You'll probably find it's the default kernel causing the crash, it'll likely work with your new kernel, it does here.
No, still causes a crash: Do you want to scan for Super I/O sensors? (YES/no): Probing for Super-I/O at 0x2e/0x2f Trying family `National Semiconductor/ITE'... Message from syslogd@orcone at Mar 13 14:34:18 ... kernel:Internal error: : 96000010 [#1] SMP
Some systems (mainly servers) implement IPMI, a set of common interfaces through which system health data may be retrieved, amongst other things. We first try to get the information from SMBIOS. If we don't find it there, we have to read from arbitrary I/O ports to probe for such interfaces. This is normally safe. Do you want to scan for IPMI interfaces? (YES/no): # DMI data unavailable, please consider installing dmidecode 2.7 # or later for better results. Probing for `IPMI BMC KCS' at 0xca0... Message from syslogd@orcone at Mar 13 14:51:42 ... kernel:Internal error: : 96000010 [#1] SMP
So it seems the sensors aren't there, and proving the various I/O ranges causes a crash.
Still it would be nice to get "ipmitool sensor" working locally. # ipmitool sensor Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory Get Device ID command failed Unable to open SDR for reading
Is there a driver that I missed?
This may be a compatibility issue with ipmitools package, the protocol is clearly compatible though. I guess you can't load the ipmi_si module? I created /dev/ipmi0 manually but it made no difference to the error displayed.
# modprobe ipmi_si modprobe: ERROR: could not insert 'ipmi_si': No such device
So I'm wondering if a different driver is needed. Or a patch for this one.
No, that's the correct driver, it just can't find the BMC at the default location. If we knew the location we could tell ipmi where to look.
Just had a thought, sensors work (according to the scant manuals) within the provided Ubuntu image and also the onboard OpenLinux installation.
I would need to re-install u-boot (as chainloading UEFI screws something) to check the OpenLinux side of things but I can burn the ubuntu image to sdcard and try that. Maybe the BMC address is configured in there somewhere. Maybe give it a go later.
On 13/03/2016 16:10, Gordan Bobic wrote:
On 13/03/16 15:57, Michael Howard wrote:
On 13/03/2016 14:58, Gordan Bobic wrote:
On 13/03/16 14:20, Michael Howard wrote:
On 13/03/2016 07:34, Gordan Bobic wrote:
Does anyone have any input on what (if any) lm_sensors drivers can be used? Probing tends to result in crashing the machine. Is there something other than ipmi available?
You'll probably find it's the default kernel causing the crash, it'll likely work with your new kernel, it does here.
No, still causes a crash: Do you want to scan for Super I/O sensors? (YES/no): Probing for Super-I/O at 0x2e/0x2f Trying family `National Semiconductor/ITE'... Message from syslogd@orcone at Mar 13 14:34:18 ... kernel:Internal error: : 96000010 [#1] SMP
Some systems (mainly servers) implement IPMI, a set of common interfaces through which system health data may be retrieved, amongst other things. We first try to get the information from SMBIOS. If we don't find it there, we have to read from arbitrary I/O ports to probe for such interfaces. This is normally safe. Do you want to scan for IPMI interfaces? (YES/no): # DMI data unavailable, please consider installing dmidecode 2.7 # or later for better results. Probing for `IPMI BMC KCS' at 0xca0... Message from syslogd@orcone at Mar 13 14:51:42 ... kernel:Internal error: : 96000010 [#1] SMP
So it seems the sensors aren't there, and proving the various I/O ranges causes a crash.
Still it would be nice to get "ipmitool sensor" working locally. # ipmitool sensor Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory Get Device ID command failed Unable to open SDR for reading
Is there a driver that I missed?
This may be a compatibility issue with ipmitools package, the protocol is clearly compatible though. I guess you can't load the ipmi_si module? I created /dev/ipmi0 manually but it made no difference to the error displayed.
# modprobe ipmi_si modprobe: ERROR: could not insert 'ipmi_si': No such device
So I'm wondering if a different driver is needed. Or a patch for this one.
Having gone into the scant manual and the Ubuntu image (along with some Googling) it seems the board requires an SSIF driver (|ipmi_smb?) which is not in mainline since 2.6 days. |
Hi folks,
X-Gene kernel does not support ipmitools, which relies on OpenIPMI driver (using /dev/ipmi).
Instead, communications to the BMC is via SSIF over /dev/i2c.
You can either use ipmitools with the BMC LAN interface directly (out of band), or freeipmi (inband).
I don’t have the information handy at this time – will follow up tomorrow.
-Phong
*From:* arm-dev-bounces@centos.org [mailto:arm-dev-bounces@centos.org] *On Behalf Of *Michael Howard *Sent:* Monday, March 14, 2016 6:48 PM *To:* arm-dev@centos.org *Subject:* Re: [Arm-dev] Gigabyte MP30-AR0
On 13/03/2016 16:10, Gordan Bobic wrote:
On 13/03/16 15:57, Michael Howard wrote:
On 13/03/2016 14:58, Gordan Bobic wrote:
On 13/03/16 14:20, Michael Howard wrote:
On 13/03/2016 07:34, Gordan Bobic wrote:
Does anyone have any input on what (if any) lm_sensors drivers can be used? Probing tends to result in crashing the machine. Is there something other than ipmi available?
You'll probably find it's the default kernel causing the crash, it'll likely work with your new kernel, it does here.
No, still causes a crash: Do you want to scan for Super I/O sensors? (YES/no): Probing for Super-I/O at 0x2e/0x2f Trying family `National Semiconductor/ITE'... Message from syslogd@orcone at Mar 13 14:34:18 ... kernel:Internal error: : 96000010 [#1] SMP
Some systems (mainly servers) implement IPMI, a set of common interfaces through which system health data may be retrieved, amongst other things. We first try to get the information from SMBIOS. If we don't find it there, we have to read from arbitrary I/O ports to probe for such interfaces. This is normally safe. Do you want to scan for IPMI interfaces? (YES/no): # DMI data unavailable, please consider installing dmidecode 2.7 # or later for better results. Probing for `IPMI BMC KCS' at 0xca0... Message from syslogd@orcone at Mar 13 14:51:42 ... kernel:Internal error: : 96000010 [#1] SMP
So it seems the sensors aren't there, and proving the various I/O ranges causes a crash.
Still it would be nice to get "ipmitool sensor" working locally. # ipmitool sensor Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory Get Device ID command failed Unable to open SDR for reading
Is there a driver that I missed?
This may be a compatibility issue with ipmitools package, the protocol is clearly compatible though. I guess you can't load the ipmi_si module? I created /dev/ipmi0 manually but it made no difference to the error displayed.
# modprobe ipmi_si modprobe: ERROR: could not insert 'ipmi_si': No such device
So I'm wondering if a different driver is needed. Or a patch for this one.
Having gone into the scant manual and the Ubuntu image (along with some Googling) it seems the board requires an SSIF driver (ipmi_smb?) which is not in mainline since 2.6 days.
Hi Phong,
I stumbled across this in my SPAM folder. The message from Gmail: "Why is this message in Spam? It has a from address in apm.com but has failed apm.com's required tests for authentication. Learn more". "Learn more" is linked to https://support.google.com/mail/answer/1366858?hl=en&expand=5.
(Sending to the list in case others are missing the reply).
Jeff
On Mon, Mar 14, 2016 at 10:29 AM, Phong Vo pvo@apm.com wrote:
Hi folks,
X-Gene kernel does not support ipmitools, which relies on OpenIPMI driver (using /dev/ipmi).
Instead, communications to the BMC is via SSIF over /dev/i2c.
You can either use ipmitools with the BMC LAN interface directly (out of band), or freeipmi (inband).
I don’t have the information handy at this time – will follow up tomorrow.
-Phong
From: arm-dev-bounces@centos.org [mailto:arm-dev-bounces@centos.org] On Behalf Of Michael Howard Sent: Monday, March 14, 2016 6:48 PM To: arm-dev@centos.org Subject: Re: [Arm-dev] Gigabyte MP30-AR0
On 13/03/2016 16:10, Gordan Bobic wrote:
On 13/03/16 15:57, Michael Howard wrote:
On 13/03/2016 14:58, Gordan Bobic wrote:
On 13/03/16 14:20, Michael Howard wrote:
On 13/03/2016 07:34, Gordan Bobic wrote:
Does anyone have any input on what (if any) lm_sensors drivers can be used? Probing tends to result in crashing the machine. Is there something other than ipmi available?
You'll probably find it's the default kernel causing the crash, it'll likely work with your new kernel, it does here.
No, still causes a crash: Do you want to scan for Super I/O sensors? (YES/no): Probing for Super-I/O at 0x2e/0x2f Trying family `National Semiconductor/ITE'... Message from syslogd@orcone at Mar 13 14:34:18 ... kernel:Internal error: : 96000010 [#1] SMP
Some systems (mainly servers) implement IPMI, a set of common interfaces through which system health data may be retrieved, amongst other things. We first try to get the information from SMBIOS. If we don't find it there, we have to read from arbitrary I/O ports to probe for such interfaces. This is normally safe. Do you want to scan for IPMI interfaces? (YES/no): # DMI data unavailable, please consider installing dmidecode 2.7 # or later for better results. Probing for `IPMI BMC KCS' at 0xca0... Message from syslogd@orcone at Mar 13 14:51:42 ... kernel:Internal error: : 96000010 [#1] SMP
So it seems the sensors aren't there, and proving the various I/O ranges causes a crash.
Still it would be nice to get "ipmitool sensor" working locally. # ipmitool sensor Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory Get Device ID command failed Unable to open SDR for reading
Is there a driver that I missed?
This may be a compatibility issue with ipmitools package, the protocol is clearly compatible though. I guess you can't load the ipmi_si module? I created /dev/ipmi0 manually but it made no difference to the error displayed.
# modprobe ipmi_si modprobe: ERROR: could not insert 'ipmi_si': No such device
So I'm wondering if a different driver is needed. Or a patch for this one.
Having gone into the scant manual and the Ubuntu image (along with some Googling) it seems the board requires an SSIF driver (ipmi_smb?) which is not in mainline since 2.6 days.
When the kernel boots and the fb driver initializes and the initramfs starts, the output disappers from the serial console. This seems to correspond to the display output switching to a different mode. It is present during u-boot, Tianocore and grub, however. Is there a way to tell the kernel to not change the mode so that full control via the serial line can be retained? I tried "nomodeset" which I think should do this by disabling modesetting, but it has been ineffective. Is there a way to achieve this?
Hi Gordan,
If you want to retain the output on serial console, please add kernel command "console=ttyS0,115200" at the grub config. If you want to see the kernel boot at both serial and vga, add "console=tty0" (for vga) along side with "console=ttyS0,115200". The output from VGA will come after kernel configure the video card.
nomodeset does not help to retain serial output, it just means that you want to use X drivers, instead of kernel modesetting.
Best regards,
Chuong.
On Fri, Mar 18, 2016 at 1:46 AM, Gordan Bobic gordan@redsleeve.org wrote:
When the kernel boots and the fb driver initializes and the initramfs starts, the output disappers from the serial console. This seems to correspond to the display output switching to a different mode. It is present during u-boot, Tianocore and grub, however. Is there a way to tell the kernel to not change the mode so that full control via the serial line can be retained? I tried "nomodeset" which I think should do this by disabling modesetting, but it has been ineffective. Is there a way to achieve this? _______________________________________________ Arm-dev mailing list Arm-dev@centos.org https://lists.centos.org/mailman/listinfo/arm-dev
On 18/03/2016 03:18, Chuong Tran wrote:
Hi Gordan,
If you want to retain the output on serial console, please add kernel command "console=ttyS0,115200" at the grub config. If you want to see the kernel boot at both serial and vga, add "console=tty0" (for vga) along side with "console=ttyS0,115200". The output from VGA will come after kernel configure the video card.
I use this setting ("console=ttyS0,115200 console=tty0") but output is not retained on the serial console. Maybe this is kernel specific.
Hi,
You can add "earlycon=uart8250,mmio32,0x1c020000" to see how far the kernel boot on serial console can go.
Also, make sure to say Y to CONFIG_SERIAL_8250 & relevant config in your kernel .config.
Best regards,
Chuong.
On Fri, Mar 18, 2016 at 2:49 PM, Michael Howard mike@dewberryfields.co.uk wrote:
On 18/03/2016 03:18, Chuong Tran wrote:
Hi Gordan,
If you want to retain the output on serial console, please add kernel command "console=ttyS0,115200" at the grub config. If you want to see the kernel boot at both serial and vga, add "console=tty0" (for vga) along side with "console=ttyS0,115200". The output from VGA will come after kernel configure the video card.
I use this setting ("console=ttyS0,115200 console=tty0") but output is
not retained on the serial console. Maybe this is kernel specific.
-- Mike Howard
Arm-dev mailing list Arm-dev@centos.org https://lists.centos.org/mailman/listinfo/arm-dev
I can confirm that adding:
earlycon=uart8250,mmio32,0x1c020000 console=ttyS0,115200 console=tty0
produces exactly the desired results - everything appears on the serial port, and as much as usual also appears on the VGA output.
Gordan
On 18/03/16 08:11, Chuong Tran wrote:
Hi,
You can add "earlycon=uart8250,mmio32,0x1c020000" to see how far the kernel boot on serial console can go.
Also, make sure to say Y to CONFIG_SERIAL_8250 & relevant config in your kernel .config.
Best regards,
Chuong.
On Fri, Mar 18, 2016 at 2:49 PM, Michael Howard <mike@dewberryfields.co.uk mailto:mike@dewberryfields.co.uk> wrote:
On 18/03/2016 03:18, Chuong Tran wrote: Hi Gordan, If you want to retain the output on serial console, please add kernel command "console=ttyS0,115200" at the grub config. If you want to see the kernel boot at both serial and vga, add "console=tty0" (for vga) along side with "console=ttyS0,115200". The output from VGA will come after kernel configure the video card. I use this setting ("console=ttyS0,115200 console=tty0") but output is not retained on the serial console. Maybe this is kernel specific. -- Mike Howard _______________________________________________ Arm-dev mailing list Arm-dev@centos.org <mailto:Arm-dev@centos.org> https://lists.centos.org/mailman/listinfo/arm-dev
Arm-dev mailing list Arm-dev@centos.org https://lists.centos.org/mailman/listinfo/arm-dev
4.4.12 kernel introduces a regression that seems to break this. When booting 4.4.12 with:
earlycon=uart8250,mmio32,0x1c020000
it locks up solid before anything appears on the console output.
4.4.11 works fine. Looking at the changelog for 4.4.12, I suspect it's one of these commits that broke it:
commit 430b4aab73830577eb22aa434b35947f87e7ea4b Author: Andy Shevchenko andriy.shevchenko@linux.intel.com Date: Mon Apr 4 17:35:10 2016 +0300
serial: 8250_mid: recognize interrupt source in handler
commit c42850f1ae7e70056f852e67bb9dddf927853b47 upstream.
There is a special register that shows interrupt status by source. In particular case the source can be a combination of DMA Tx, DMA Rx, and UART.
Read the register and call the handlers only for sources that request an interrupt.
Fixes: 6ede6dcd87aa ("serial: 8250_mid: add support for DMA engine handling from UART MMIO") Reviewed-by: Heikki Krogerus heikki.krogerus@linux.intel.com Signed-off-by: Andy Shevchenko andriy.shevchenko@linux.intel.com Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org
commit 3c5dafe43d1e36b70606d3baef8d7f24c0883343 Author: Andy Shevchenko andriy.shevchenko@linux.intel.com Date: Mon Apr 4 17:35:09 2016 +0300
serial: 8250_mid: use proper bar for DNV platform
commit 107e15fc1f8d6ef69eac5f175971252f76e82f0d upstream.
Unlike Intel Medfield and Tangier platforms DNV uses PCI BAR0 for IO compatible resources and BAR1 for MMIO. We need latter in a way to support DMA. Introduce an additional field in the internal structure and pass PCI BAR based on device ID.
Reported-by: "Lai, Poey Seng" poey.seng.lai@intel.com Fixes: 6ede6dcd87aa ("serial: 8250_mid: add support for DMA engine handling from UART MMIO") Reviewed-by: Heikki Krogerus heikki.krogerus@linux.intel.com Signed-off-by: Andy Shevchenko andriy.shevchenko@linux.intel.com Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org
commit 1401ebda89ebf3156984c175209f630e0844f6ce Author: David Müller d.mueller@elsoft.ch Date: Wed Apr 27 11:58:32 2016 +0200
serial: 8250_pci: fix divide error bug if baud rate is 0
commit 6f210c18c1c0f016772c8cd51ae12a02bfb9e7ef upstream.
Since commit 21947ba654a6 ("serial: 8250_pci: replace switch-case by formula"), the 8250 driver crashes in the byt_set_termios() function with a divide error. This is caused by the fact that a baud rate of 0 (B0) is not handled properly. Fix it by falling back to B9600 in this case.
Signed-off-by: David Müller d.mueller@elsoft.ch Fixes: 21947ba654a6 ("serial: 8250_pci: replace switch-case by formula") Suggested-by: Andy Shevchenko andriy.shevchenko@linux.intel.com Reviewed-by: Andy Shevchenko andriy.shevchenko@linux.intel.com Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org
Has anybody got any ideas on any extra troubleshooting or options to be passed for initializing the UART that would produce a more meaningful bug report? The cynic in me, supported by past experience, suspects that if I file a bug on kernel.org it won't even get triaged for months, if ever, especially since the problem is manifesting on hardware few have access to.
Gordan
On 28/03/16 01:41, Gordan Bobic wrote:
I can confirm that adding:
earlycon=uart8250,mmio32,0x1c020000 console=ttyS0,115200 console=tty0
produces exactly the desired results - everything appears on the serial port, and as much as usual also appears on the VGA output.
Gordan
On 18/03/16 08:11, Chuong Tran wrote:
Hi,
You can add "earlycon=uart8250,mmio32,0x1c020000" to see how far the kernel boot on serial console can go.
Also, make sure to say Y to CONFIG_SERIAL_8250 & relevant config in your kernel .config.
Best regards,
Chuong.
On Fri, Mar 18, 2016 at 2:49 PM, Michael Howard <mike@dewberryfields.co.uk mailto:mike@dewberryfields.co.uk> wrote:
On 18/03/2016 03:18, Chuong Tran wrote: Hi Gordan, If you want to retain the output on serial console, please add kernel command "console=ttyS0,115200" at the grub config. If you want to see the kernel boot at both serial and vga, add "console=tty0" (for vga) along side with "console=ttyS0,115200". The output from VGA will come after kernel configure the video
card.
I use this setting ("console=ttyS0,115200 console=tty0") but output is not retained on the serial console. Maybe this is kernel specific. -- Mike Howard _______________________________________________ Arm-dev mailing list Arm-dev@centos.org <mailto:Arm-dev@centos.org> https://lists.centos.org/mailman/listinfo/arm-dev
Arm-dev mailing list Arm-dev@centos.org https://lists.centos.org/mailman/listinfo/arm-dev
Arm-dev mailing list Arm-dev@centos.org https://lists.centos.org/mailman/listinfo/arm-dev
On Thu, Jun 02, 2016 at 11:07:25PM +0100, Gordan Bobic wrote:
4.4.12 kernel introduces a regression that seems to break this. When booting 4.4.12 with:
earlycon=uart8250,mmio32,0x1c020000
it locks up solid before anything appears on the console output.
[...]
Has anybody got any ideas on any extra troubleshooting or options to be passed for initializing the UART that would produce a more meaningful bug report? The cynic in me, supported by past experience, suspects that if I file a bug on kernel.org it won't even get triaged for months, if ever, especially since the problem is manifesting on hardware few have access to.
Although I don't think the underlying bug is related, I'll just note there is a similar thing happening with RHEL 7.3 kernels (which are 4.5.0 plus lots of backports from upstream):
https://bugzilla.redhat.com/show_bug.cgi?id=1337705
The difference being I was able to get a stack trace using the same earlycon line you are using, and it turns out to be caused by PCI probing, I think reading from a non-existent config space address or device.
Rich.
I am following up on this.
You need to use freeipmi for inband. Ipmitools is for out-of-band only.
+ Update kernel to 4.2.0-0.26.el1
$ yum install i2-tools
$ yum install freeipimi
$ insmod i2c-dev
$ i2cdetect –l
i2c-0 smbus MAILBOX I2C SMBus adapter << Use this one with freeipmi
i2c-1 i2c AST i2c bit bus I2C adapter
# Get BMC info
bmc-info --no-probing --driver-type=SSIF --driver-address=0x10 --driver-device=/dev/i2c-0 --get-device-id –debug
# Get BMC config (mainly for its IP address)
$ bmc-config --driver-type=SSIF --driver-address=0x10 --driver-device=/dev/i2c-0 -o -S Lan_Conf
user@localhost:~$ ipmitool -I lanplus -H <BMC IP address> -U admin -P password fru print
user@localhost:~$ ipmitool -I lanplus -H <BMC IP address> -U admin -P password sdr list
user@localhost:~$ ipmitool -I lanplus -H <BMC IP address> -U admin -P password sensor list
etc.
--Phong
*From:* Phong Vo [mailto:pvo@apm.com] *Sent:* Monday, March 14, 2016 9:29 PM *To:* Conversations around CentOS on ARM hardware *Subject:* RE: [Arm-dev] Gigabyte MP30-AR0
Hi folks,
X-Gene kernel does not support ipmitools, which relies on OpenIPMI driver (using /dev/ipmi).
Instead, communications to the BMC is via SSIF over /dev/i2c.
You can either use ipmitools with the BMC LAN interface directly (out of band), or freeipmi (inband).
I don’t have the information handy at this time – will follow up tomorrow.
-Phong
*From:* arm-dev-bounces@centos.org [mailto:arm-dev-bounces@centos.org] *On Behalf Of *Michael Howard *Sent:* Monday, March 14, 2016 6:48 PM *To:* arm-dev@centos.org *Subject:* Re: [Arm-dev] Gigabyte MP30-AR0
On 13/03/2016 16:10, Gordan Bobic wrote:
On 13/03/16 15:57, Michael Howard wrote:
On 13/03/2016 14:58, Gordan Bobic wrote:
On 13/03/16 14:20, Michael Howard wrote:
On 13/03/2016 07:34, Gordan Bobic wrote:
Does anyone have any input on what (if any) lm_sensors drivers can be used? Probing tends to result in crashing the machine. Is there something other than ipmi available?
You'll probably find it's the default kernel causing the crash, it'll likely work with your new kernel, it does here.
No, still causes a crash: Do you want to scan for Super I/O sensors? (YES/no): Probing for Super-I/O at 0x2e/0x2f Trying family `National Semiconductor/ITE'... Message from syslogd@orcone at Mar 13 14:34:18 ... kernel:Internal error: : 96000010 [#1] SMP
Some systems (mainly servers) implement IPMI, a set of common interfaces through which system health data may be retrieved, amongst other things. We first try to get the information from SMBIOS. If we don't find it there, we have to read from arbitrary I/O ports to probe for such interfaces. This is normally safe. Do you want to scan for IPMI interfaces? (YES/no): # DMI data unavailable, please consider installing dmidecode 2.7 # or later for better results. Probing for `IPMI BMC KCS' at 0xca0... Message from syslogd@orcone at Mar 13 14:51:42 ... kernel:Internal error: : 96000010 [#1] SMP
So it seems the sensors aren't there, and proving the various I/O ranges causes a crash.
Still it would be nice to get "ipmitool sensor" working locally. # ipmitool sensor Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory Get Device ID command failed Unable to open SDR for reading
Is there a driver that I missed?
This may be a compatibility issue with ipmitools package, the protocol is clearly compatible though. I guess you can't load the ipmi_si module? I created /dev/ipmi0 manually but it made no difference to the error displayed.
# modprobe ipmi_si modprobe: ERROR: could not insert 'ipmi_si': No such device
So I'm wondering if a different driver is needed. Or a patch for this one.
Having gone into the scant manual and the Ubuntu image (along with some Googling) it seems the board requires an SSIF driver (ipmi_smb?) which is not in mainline since 2.6 days.
On 2016-03-18 02:10, Phong Vo wrote:
I am following up on this.
You need to use freeipmi for inband. Ipmitools is for out-of-band only.
- Update kernel to 4.2.0-0.26.el1
$ yum install i2-tools
$ yum install freeipimi
$ insmod i2c-dev
$ i2cdetect –l
i2c-0 smbus MAILBOX I2C SMBus adapter << Use this one with freeipmi
i2c-1 i2c AST i2c bit bus I2C adapter
# Get BMC info
bmc-info --no-probing --driver-type=SSIF --driver-address=0x10 --driver-device=/dev/i2c-0 --get-device-id –debug
# Get BMC config (mainly for its IP address)
$ bmc-config --driver-type=SSIF --driver-address=0x10 --driver-device=/dev/i2c-0 -o -S Lan_Conf
I don't quite follow what the purpose of the above is, because...
user@localhost:~$ ipmitool -I lanplus -H <BMC IP address> -U admin -P password fru print
user@localhost:~$ ipmitool -I lanplus -H <BMC IP address> -U admin -P password sdr list
user@localhost:~$ ipmitool -I lanplus -H <BMC IP address> -U admin -P password sensor list
... the ipmitool commands work just fine without it.
Is the first part above purely for getting the IP address of the BMC from the local machine?
Gordan
On 2016-03-18 02:10, Phong Vo wrote:
I am following up on this.
You need to use freeipmi for inband. Ipmitools is for out-of-band only.
- Update kernel to 4.2.0-0.26.el1
$ yum install i2-tools
I think this should be i2c-tools, not i2-tools.
$ yum install freeipimi
$ insmod i2c-dev
$ i2cdetect –l
i2c-0 smbus MAILBOX I2C SMBus adapter << Use this one with freeipmi
i2c-1 i2c AST i2c bit bus I2C adapter
I'm going to hazard a guess that MAILBOX I2C support isn't in the mainline 4.4.x branch. Has it been pushed upstream?
# Get BMC info
bmc-info --no-probing --driver-type=SSIF --driver-address=0x10 --driver-device=/dev/i2c-0 --get-device-id –debug
# Get BMC config (mainly for its IP address)
$ bmc-config --driver-type=SSIF --driver-address=0x10 --driver-device=/dev/i2c-0 -o -S Lan_Conf
Gordan, thanks for the correction. It should be i2c-tools.
MAILBOX I2C actually requires 2 components: i2c-xgene-slimpro (should already be in 4.2) and xgene-slimpro-mailbox (upstream, but only in linux-next).
-Phong
-----Original Message----- From: arm-dev-bounces@centos.org [mailto:arm-dev-bounces@centos.org] On Behalf Of Gordan Bobic Sent: Friday, March 18, 2016 6:01 PM To: Conversations around CentOS on ARM hardware Subject: Re: [Arm-dev] Gigabyte MP30-AR0
On 2016-03-18 02:10, Phong Vo wrote:
I am following up on this.
You need to use freeipmi for inband. Ipmitools is for out-of-band only.
- Update kernel to 4.2.0-0.26.el1
$ yum install i2-tools
I think this should be i2c-tools, not i2-tools.
$ yum install freeipimi
$ insmod i2c-dev
$ i2cdetect –l
i2c-0 smbus MAILBOX I2C SMBus adapter << Use this one with freeipmi
i2c-1 i2c AST i2c bit bus I2C adapter
I'm going to hazard a guess that MAILBOX I2C support isn't in the mainline 4.4.x branch. Has it been pushed upstream?
# Get BMC info
bmc-info --no-probing --driver-type=SSIF --driver-address=0x10 --driver-device=/dev/i2c-0 --get-device-id –debug
# Get BMC config (mainly for its IP address)
$ bmc-config --driver-type=SSIF --driver-address=0x10 --driver-device=/dev/i2c-0 -o -S Lan_Conf
_______________________________________________ Arm-dev mailing list Arm-dev@centos.org https://lists.centos.org/mailman/listinfo/arm-dev
On Sun, Mar 13, 2016 at 02:58:42PM +0000, Gordan Bobic wrote:
On 13/03/16 14:20, Michael Howard wrote:
On 13/03/2016 07:34, Gordan Bobic wrote:
Does anyone have any input on what (if any) lm_sensors drivers can be used? Probing tends to result in crashing the machine. Is there something other than ipmi available?
You'll probably find it's the default kernel causing the crash, it'll likely work with your new kernel, it does here.
No, still causes a crash: Do you want to scan for Super I/O sensors? (YES/no): Probing for Super-I/O at 0x2e/0x2f Trying family `National Semiconductor/ITE'... Message from syslogd@orcone at Mar 13 14:34:18 ... kernel:Internal error: : 96000010 [#1] SMP
I'm able to reproduce this, or something very similar, with:
kernel-4.5.0-0.rc7.31.el7.aarch64 lm_sensors-3.3.4-11.el7.aarch64
The kernel is a pre-release internal build of RHELSA, but is basically very similar to the upstream kernel.
I have opened a bug about it:
https://bugzilla.redhat.com/show_bug.cgi?id=1318002
What kernel & lm_sensors versions do you have?
Rich.
On 2016-03-15 18:04, Richard W.M. Jones wrote:
On Sun, Mar 13, 2016 at 02:58:42PM +0000, Gordan Bobic wrote:
On 13/03/16 14:20, Michael Howard wrote:
On 13/03/2016 07:34, Gordan Bobic wrote:
Does anyone have any input on what (if any) lm_sensors drivers can be used? Probing tends to result in crashing the machine. Is there something other than ipmi available?
You'll probably find it's the default kernel causing the crash, it'll likely work with your new kernel, it does here.
No, still causes a crash: Do you want to scan for Super I/O sensors? (YES/no): Probing for Super-I/O at 0x2e/0x2f Trying family `National Semiconductor/ITE'... Message from syslogd@orcone at Mar 13 14:34:18 ... kernel:Internal error: : 96000010 [#1] SMP
I'm able to reproduce this, or something very similar, with:
kernel-4.5.0-0.rc7.31.el7.aarch64 lm_sensors-3.3.4-11.el7.aarch64
The kernel is a pre-release internal build of RHELSA, but is basically very similar to the upstream kernel.
I have opened a bug about it:
https://bugzilla.redhat.com/show_bug.cgi?id=1318002
What kernel & lm_sensors versions do you have?
Kernels I tried are: CentOS supplied: 4.2.0-0.21.el7.1 4.2.0-0.26.el7.1 Self-built: 4.4.5 4.5.0
lm_sensors: CentOS supplied: 3.3.4-11.el7
Gordan
On Tue, Mar 15, 2016 at 06:04:11PM +0000, Richard W.M. Jones wrote:
On Sun, Mar 13, 2016 at 02:58:42PM +0000, Gordan Bobic wrote:
On 13/03/16 14:20, Michael Howard wrote:
On 13/03/2016 07:34, Gordan Bobic wrote:
Does anyone have any input on what (if any) lm_sensors drivers can be used? Probing tends to result in crashing the machine. Is there something other than ipmi available?
You'll probably find it's the default kernel causing the crash, it'll likely work with your new kernel, it does here.
No, still causes a crash: Do you want to scan for Super I/O sensors? (YES/no): Probing for Super-I/O at 0x2e/0x2f Trying family `National Semiconductor/ITE'... Message from syslogd@orcone at Mar 13 14:34:18 ... kernel:Internal error: : 96000010 [#1] SMP
I'm able to reproduce this, or something very similar, with:
kernel-4.5.0-0.rc7.31.el7.aarch64 lm_sensors-3.3.4-11.el7.aarch64
The kernel is a pre-release internal build of RHELSA, but is basically very similar to the upstream kernel.
I have opened a bug about it:
https://bugzilla.redhat.com/show_bug.cgi?id=1318002
What kernel & lm_sensors versions do you have?
FWIW, I crashed my server similarly the other day -- without lm_sensors installed.
I can't find the command in my `history' anymore but, IIRC, the command was something like:
modprobe ipmi_si trydefaults=0
This is with kernel-4.2.0-0.26.el7.1.aarch64.
Rich.
-- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-builder quickly builds VMs from scratch http://libguestfs.org/virt-builder.1.html _______________________________________________ Arm-dev mailing list Arm-dev@centos.org https://lists.centos.org/mailman/listinfo/arm-dev
On Tue, Mar 15, 2016 at 11:27:13AM -0700, Jeremiah Rothschild wrote:
On Tue, Mar 15, 2016 at 06:04:11PM +0000, Richard W.M. Jones wrote:
On Sun, Mar 13, 2016 at 02:58:42PM +0000, Gordan Bobic wrote:
On 13/03/16 14:20, Michael Howard wrote:
On 13/03/2016 07:34, Gordan Bobic wrote:
Does anyone have any input on what (if any) lm_sensors drivers can be used? Probing tends to result in crashing the machine. Is there something other than ipmi available?
You'll probably find it's the default kernel causing the crash, it'll likely work with your new kernel, it does here.
No, still causes a crash: Do you want to scan for Super I/O sensors? (YES/no): Probing for Super-I/O at 0x2e/0x2f Trying family `National Semiconductor/ITE'... Message from syslogd@orcone at Mar 13 14:34:18 ... kernel:Internal error: : 96000010 [#1] SMP
I'm able to reproduce this, or something very similar, with:
kernel-4.5.0-0.rc7.31.el7.aarch64 lm_sensors-3.3.4-11.el7.aarch64
The kernel is a pre-release internal build of RHELSA, but is basically very similar to the upstream kernel.
I have opened a bug about it:
https://bugzilla.redhat.com/show_bug.cgi?id=1318002
What kernel & lm_sensors versions do you have?
FWIW, I crashed my server similarly the other day -- without lm_sensors installed.
I can't find the command in my `history' anymore but, IIRC, the command was something like:
modprobe ipmi_si trydefaults=0
Err, sorry. trydefaults=1. That then kicked off the kernel errors to syslogd.
This is with kernel-4.2.0-0.26.el7.1.aarch64.
Rich.
-- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-builder quickly builds VMs from scratch http://libguestfs.org/virt-builder.1.html _______________________________________________ Arm-dev mailing list Arm-dev@centos.org https://lists.centos.org/mailman/listinfo/arm-dev
Arm-dev mailing list Arm-dev@centos.org https://lists.centos.org/mailman/listinfo/arm-dev
On Tue, Mar 15, 2016 at 11:28:36AM -0700, Jeremiah Rothschild wrote:
On Tue, Mar 15, 2016 at 11:27:13AM -0700, Jeremiah Rothschild wrote:
I can't find the command in my `history' anymore but, IIRC, the command was something like:
modprobe ipmi_si trydefaults=0
Err, sorry. trydefaults=1. That then kicked off the kernel errors to syslogd.
While the effects are similar, it does look like a different bug.
The kernel stack trace for this is:
[13964.588032] [<fffffdfffc4300a0>] port_inb+0x3c/0x50 [ipmi_si] [13964.593756] [<fffffdfffc434bdc>] kcs_detect+0x28/0x40 [ipmi_si] [13964.599654] [<fffffdfffc43231c>] try_smi_init+0x184/0x938 [ipmi_si] [13964.605897] [<fffffdfffc434870>] init_ipmi_si+0x788/0xa48 [ipmi_si] [13964.612133] [<fffffe000008430c>] do_one_initcall+0xcc/0x1c0 [13964.617678] [<fffffe00001b0db8>] do_init_module+0x68/0x1c8 [13964.623137] [<fffffe0000134548>] load_module+0xf3c/0x11b8 [13964.628507] [<fffffe00001349f4>] SyS_finit_module+0xa0/0xc8 [13964.634050] [<fffffe0000083a8c>] __sys_trace_return+0x0/0x4
As it is different, and I can reproduce it, I reported another bug:
https://bugzilla.redhat.com/show_bug.cgi?id=1318057
Rich.
On Fri, Feb 19, 2016 at 4:59 AM, Gordan Bobic gordan@redsleeve.org wrote:
These appear to finally be available in UK now: https://www.xcase.co.uk/gigabyte-server-boards/gigabyte-mp30-ar0-with-applie...
Unfortunately, things don't work right out of the box: https://www.mail-archive.com/users@lists.redsleeve.org/msg01274.html
Has anyone got CentOS installer working with this board? £600 is an awful lot to spend on a paper weight.
Related, the Lemaker Hikey dev board is a nice alternative for AMRv8/AARCH64. Its less than 1/4 of the price at $128 USD. http://www.amazon.com/dp/B01CNZ9GIQ.
2GB RAM and 8GB eMMC makes it very amicable to development. I use it for testing OpenSSL and Crypto++ on real hardware.
Jeff
On 11/03/2016 13:09, Jeffrey Walton wrote:
On Fri, Feb 19, 2016 at 4:59 AM, Gordan Bobic gordan@redsleeve.org wrote:
These appear to finally be available in UK now: https://www.xcase.co.uk/gigabyte-server-boards/gigabyte-mp30-ar0-with-applie...
Unfortunately, things don't work right out of the box: https://www.mail-archive.com/users@lists.redsleeve.org/msg01274.html
Has anyone got CentOS installer working with this board? £600 is an awful lot to spend on a paper weight.
Related, the Lemaker Hikey dev board is a nice alternative for AMRv8/AARCH64. Its less than 1/4 of the price at $128 USD. http://www.amazon.com/dp/B01CNZ9GIQ.
Apart from anything else, it's a shame about retailer's ideas about exchange rates though :) $128 _should_ be £90 but somehow, in the Amazon world, it's £117.
On 2016-03-11 13:09, Jeffrey Walton wrote:
On Fri, Feb 19, 2016 at 4:59 AM, Gordan Bobic gordan@redsleeve.org wrote:
These appear to finally be available in UK now: https://www.xcase.co.uk/gigabyte-server-boards/gigabyte-mp30-ar0-with-applie...
Unfortunately, things don't work right out of the box: https://www.mail-archive.com/users@lists.redsleeve.org/msg01274.html
Has anyone got CentOS installer working with this board? £600 is an awful lot to spend on a paper weight.
Related, the Lemaker Hikey dev board is a nice alternative for AMRv8/AARCH64. Its less than 1/4 of the price at $128 USD. http://www.amazon.com/dp/B01CNZ9GIQ.
2GB RAM and 8GB eMMC makes it very amicable to development. I use it for testing OpenSSL and Crypto++ on real hardware.
Having an ARMv8 with 2GB of RAM strikes me a bit like putting rocket engines on a bicycle. What's the use-case for using aarch64 with such tiny RAM where a 32-bit ARM will not do every bit as well? The key selling point of the Gigabyte board is that it'll take 128GB of standard ECC DIMMs. It is the first (and thus far only AFAICT) mass available standards-conforming ARM board that breaks out of the toy-server category.
Gordan
On Fri, Mar 11, 2016 at 08:09:42AM -0500, Jeffrey Walton wrote:
On Fri, Feb 19, 2016 at 4:59 AM, Gordan Bobic gordan@redsleeve.org wrote:
These appear to finally be available in UK now: https://www.xcase.co.uk/gigabyte-server-boards/gigabyte-mp30-ar0-with-applie...
Unfortunately, things don't work right out of the box: https://www.mail-archive.com/users@lists.redsleeve.org/msg01274.html
Has anyone got CentOS installer working with this board? £600 is an awful lot to spend on a paper weight.
Related, the Lemaker Hikey dev board is a nice alternative for AMRv8/AARCH64. Its less than 1/4 of the price at $128 USD. http://www.amazon.com/dp/B01CNZ9GIQ.
2GB RAM and 8GB eMMC makes it very amicable to development. I use it for testing OpenSSL and Crypto++ on real hardware.
I hope you're kidding. The HiKey actually overheated and bricked itself for a friend of mine after a few days (admittedly he was trying to use it as a build server). And 2 GB of RAM + all the u-boot nonsense is useless for any serious server or virt task.
However LeMaker Cello - $299 for preorder now - is a reasonable alternative for development.
I'm quite liking the Gigabyte now that I've got UEFI and RHELSA on it. Having 32 GB of RAM and IPMI rocks.
Rich.