Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

KGPE-d16 board status : untested #1395

Open
tlaurion opened this issue May 3, 2023 · 84 comments
Open

KGPE-d16 board status : untested #1395

tlaurion opened this issue May 3, 2023 · 84 comments

Comments

@tlaurion
Copy link
Collaborator

tlaurion commented May 3, 2023

Work done under #1378 has not been tested under that board.
Meaning that it is not expected that a flat framebuffer is passed through kexec.

Interesting enough, this board is 5.10.5 linux based for a while.
Seems like users of that board are ok not having no vga until kexec'ed OS is initializing kernel.

Unfortunately, my kgpe-d16 doesn't boot anymore, looping into coreboot raminit.

Someone else still using that board under Heads? (Tagging per #692 board owners)
@0rb677 @Tonux599 @zifxify @blobless ?

@Tonux599
Copy link
Contributor

Tonux599 commented May 3, 2023

Hi @tlaurion, long time no speak and I hope your well.

This message comes at a convenient time actually as I have recently starting using Heads again after about an 8 month hiatus due to employment requirements.

I installed heads on my KGPE-D16 at commit 77b5933 a couple of weeks ago. Using kgpe-d16_workstation and injected some GPU firmware files into the initrd for amdgpu module.

One thing that was worth noting was the internal flash was not working, so could not add my GPG/PGP keys the Heads way. I didn't investigate too much but the "flashing" progress bar just did not progress over many minutes. I resolved it by adding the pubring and trustdb with cbfs tool outside of heads and flashing again.

Re the PR above, my install is older than when it was merged. My system has the onboard VGA disabled via the header and Linux inits the GPU and the GUI renders okay.

I would also be keen to see Dasharo used for KGPE-D16 in Heads too. I see you have draft PR #1303 open which I'll try and have a play with at some point.

My ability to test is however restrained by time, lack of DIP8 chips (I'll buy some spares at somepoint) and that it's my main workhorse. So generally, testing for me would be flash a chip, turn off my main computer, swap, test real quick, swap back and report. I'm hesitant to test too deeply / commit myself on my primary system.

I'll ping you a message / comment here when I've restocked and if there is anything I can do let me know 🙂

@tlaurion
Copy link
Collaborator Author

tlaurion commented May 3, 2023

One thing that was worth noting was the internal flash was not working, so could not add my GPG/PGP keys the Heads way. I didn't investigate too much but the "flashing" progress bar just did not progress over many minutes. I resolved it by adding the pubring and trustdb with cbfs tool outside of heads and flashing again.

You mean flashrom used under heads master or dasharo/flashrom?
Both are supposed to work AFAIK, unfortunately my kgpe-d16 has some issue, either CPU/RAM after long storage....
If it could boot, I would test myself but it loops on raminit

@tlaurion
Copy link
Collaborator Author

tlaurion commented May 13, 2023

I didn't investigate too much but the "flashing" progress bar just did not progress over many minutes.

@Tonux599 flash.sh, called by flash-gui.sh, is drawing progress from flashrom -V output in a file.

@Tonux599 It would be nice to just have output from flashrom -p internal -w /path/to/ROM to see what is happening there (pointed commit is still coreboot 4.11 and old flashrom, where patch is for flashing bmc. Would love to know what is happening there).

@build-cool91
Copy link

@tlaurion Hello, I have a KGPE-D16 board with a few extra chips for testing and although I'm not an expert but would be happy to help out. What can I do?

@Tonux599 I haven't gotten Heads to work on my system yet with the most recent build. I also have an AMD dGPU, could you share additional details?

@tlaurion
Copy link
Collaborator Author

tlaurion commented Jun 29, 2023

@build-cool91 hey there! Nice to see you around!

First thing first can you share the filename of the firmware image you built/downloaded so we are sure of what code we are talking about?

Building that Biard ils known to work on debian-10.

If you attempted to boot from the platform spi chip, you could as well share a post-boot attempt backup of the firmware image of the SPI, since cbmem log is written in the ROM. I might be able to get some information from your ROM ans diagnose the issue or at least have a beginning of an understanding of what is the problem for you.

You can contact me through matrix at @insurgo:matrix.org

@build-cool91
Copy link

build-cool91 commented Jun 30, 2023

Thanks...been lurking in the Qubes forum for long time and follow this repo but didn't know how I could contribute. Glad some testing on my end may help others :D

Awesome, PMd you on Matrix.

@tlaurion tlaurion pinned this issue Aug 3, 2023
@tlaurion
Copy link
Collaborator Author

tlaurion commented Aug 3, 2023

@tlaurion
Copy link
Collaborator Author

tlaurion commented Aug 3, 2023

Crosslinking to #1421

@tlaurion tlaurion changed the title KGPE-d16 board status KGPE-d16 board status : untested Aug 3, 2023
@Tickmeister1
Copy link

Good news! Did some more tinkering with my rev 1.03G KGPE-D16. Heads-v0.2.0-1713-g06b1b09 starts into the menus. My boot drive is an NVME, so I will have to test booting from USB. Stay tuned.

@Tickmeister1
Copy link

It will boot from USB. (PureOS 10.3). Fans 100%.

Odd behavior, it won't cold boot after shutdown unless I remove and reapply mains power. Board currently has ASMB4 BMC installed with original propriety firmware, so perhaps it is interfering. Would you like me to compile and test the other heads variants?

@Tickmeister1
Copy link

Tested heads internal flashrom: success.
Flashrom -p internal found my Winbond W25Q128 and wrote a testbackup.rom at /tmp

@tlaurion
Copy link
Collaborator Author

tlaurion commented Aug 4, 2023

Wow. That was unexpected. So you need nvme support under workstation?

@Tickmeister1
Copy link

Ultimately, I would like NVME support under both workstation and server. Intent is to boot from nvme and assign the sata controller to an hvm in qubes.

@tlaurion
Copy link
Collaborator Author

tlaurion commented Aug 4, 2023

Ultimately, I would like NVME support under both workstation and server. Intent is to boot from nvme and assign the sata controller to an hvm in qubes.

Just to be clear.
I can add nvme in kernel, but you won't be able to boot from it AND have that controller assigned to an HVM. It's one or the other.

@Tickmeister1
Copy link

Understood. The sata controller is separate from the pcie connected nvme, right?

@tlaurion
Copy link
Collaborator Author

tlaurion commented Aug 4, 2023

Not sure, we would have to test! You can check other board configs for Linux kernel addition of nvme drive built in kernel and test.

Can you do a pr? Kgpe-d16 romsize being 16mb there is plenty of space there so should fly and be enjoyable right away!

See helpers for make BOARD=xyz linux. Tab tab

You should find what you need to modify the Linux config in place and then can provide PR with modified config, tested working, for inclusion?

@tlaurion
Copy link
Collaborator Author

tlaurion commented Aug 5, 2023

See helpers for make BOARD=xyz linux. Tab tab

You should find what you need to modify the Linux config in place and then can provide PR with modified config, tested working, for inclusion?

@Tickmeister1 that should help. You need to add those into used linux configs for kgpe-d16 workstation/server board referred files: https://github.com/osresearch/heads/pull/1403/files#diff-ec58c57a7a5a80fe0c75c2c419f804d1f192546b31428c6433f48158a7111862R976-R981

@Tickmeister1
Copy link

I've recloned master to my local machine, made the nvme edits to config/linux-kgpe-d16_workstation.config and compiled a dirty .rom file, which flashed and booted fine, except it still has no nvme support. Two concerns, A) at the top of the config file is a warning, "Automatically generated file; DO NOT EDIT" and B) after running make, there exists a .config and a .config.old file in build/x86/linux-5.10.5/linux-kgpe-d16_workstation/. The .config.old file contains my changes and the .config file does not. It appears I am making edits to the wrong file? This is all on 1715-g02c3a1f.

@tlaurion
Copy link
Collaborator Author

tlaurion commented Aug 9, 2023

See helpers for make BOARD=xyz linux. Tab tab

@Tickmeister1 :

Sorry, I was away from keyboard last time I gave instructions and they were not specific enough

This helper will make the right thing:
https://github.com/osresearch/heads/blob/02c3a1f9ee270403a962fd826ade28d642a232fb/modules/linux#L236

So make BOARD=kgpe-d16_flavor linux.modify_and_save_oldconfig_in_place

Will permit you to use the menu config, activate nvme as you want and it will save the changes in the Linux config associated with the board flavor.

Check the changes locally with git diff and you should see that they match above referred changes for other board. You should be good to go building board as usual.

It will be "dirty" since Heads detects that changes were not commited (official, signed).

@build-cool91
Copy link

Okay sorry for the delay
I built the workstation with usb keyboard yesterday.... Heads-v0.2.0-1743-gfbc0993 and it's not posting. This is what it hangs at looking at serial:

PCI: 00:00.0 sr5690_set_resources
sr5690_set_resources: PCI: 00:00.0[0x1c] base = c0000000 limit = cfffffff
PCI: 00:00.0 c0010058 <- [0x00c0000000 - 0x00cfffffff] size 0x10000000 gran 0x00 mem <mmconfig>
sr5690_set_resources: PCI: 00:18.1 <- index a8 base c00003 limit cfff90
PCI: 00:00.0 fc <- [0x00fcc00000 - 0x00fcc000ff] size 0x00000100 gran 0x08 prefmem
PCI: 00:00.2 44 <- [0x00fcb00000 - 0x00fcb03fff] size 0x00004000 gran 0x0e mem
PCI: 00:02.0 1c <- [0x0000004fff - 0x0000004ffe] size 0x00000000 gran 0x0c bus 01 io
PCI: 00:02.0 24 <- [0x00fccfffff - 0x00fccffffe] size 0x00000000 gran 0x14 bus 01 prefmem
PCI: 00:02.0 20 <- [0x00fcbfffff - 0x00fcbffffe] size 0x00000000 gran 0x14 bus 01 mem
PCI: 00:04.0 1c <- [0x0000004fff - 0x0000004ffe] size 0x00000000 gran 0x0c bus 02 io
PCI: 00:04.0 24 <- [0x00fccfffff - 0x00fccffffe] size 0x00000000 gran 0x14 bus 02 prefmem
PCI: 00:04.0 20 <- [0x00fcbfffff - 0x00fcbffffe] size 0x00000000 gran 0x14 bus 02 mem
PCI: 00:09.0 1c <- [0x0000001000 - 0x0000001fff] size 0x00001000 gran 0x0c bus 03 io
PCI: 00:09.0 24 <- [0x00fccfffff - 0x00fccffffe] size 0x00000000 gran 0x14 bus 03 prefmem
PCI: 00:09.0 20 <- [0x00fc900000 - 0x00fc9fffff] size 0x00100000 gran 0x14 bus 03 mem
PCI: 03:00.0 10 <- [0x00fc900000 - 0x00fc91ffff] size 0x00020000 gran 0x11 mem
PCI: 03:00.0 18 <- [0x0000001000 - 0x000000101f] size 0x00000020 gran 0x05 io
PCI: 03:00.0 1c <- [0x00fc920000 - 0x00fc923fff] size 0x00004000 gran 0x0e mem
PCI: 00:0a.0 1c <- [0x0000002000 - 0x0000002fff] size 0x00001000 gran 0x0c bus 04 io
PCI: 00:0a.0 24 <- [0x00fccfffff - 0x00fccffffe] size 0x00000000 gran 0x14 bus 04 prefmem
PCI: 00:0a.0 20 <- [0x00fca00000 - 0x00fcafffff] size 0x00100000 gran 0x14 bus 04 mem
PCI: 04:00.0 10 <- [0x00fca00000 - 0x00fca1ffff] size 0x00020000 gran 0x11 mem
PCI: 04:00.0 18 <- [0x0000002000 - 0x000000201f] size 0x00000020 gran 0x05 io
PCI: 04:00.0 1c <- [0x00fca20000 - 0x00fca23fff] size 0x00004000 gran 0x0e mem
PCI: 00:0b.0 1c <- [0x0000004fff - 0x0000004ffe] size 0x00000000 gran 0x0c bus 05 io
PCI: 00:0b.0 24 <- [0x00fccfffff - 0x00fccffffe] size 0x00000000 gran 0x14 bus 05 prefmem
PCI: 00:0b.0 20 <- [0x00fcbfffff - 0x00fcbffffe] size 0x00000000 gran 0x14 bus 05 mem
PCI: 00:0c.0 1c <- [0x0000004fff - 0x0000004ffe] size 0x00000000 gran 0x0c bus 06 io
PCI: 00:0c.0 24 <- [0x00fccfffff - 0x00fccffffe] size 0x00000000 gran 0x14 bus 06 prefmem
PCI: 00:0c.0 20 <- [0x00fcbfffff - 0x00fcbffffe] size 0x00000000 gran 0x14 bus 06 mem
PCI: 00:0d.0 1c <- [0x0000004fff - 0x0000004ffe] size 0x00000000 gran 0x0c bus 07 io
PCI: 00:0d.0 24 <- [0x00fccfffff - 0x00fccffffe] size 0x00000000 gran 0x14 bus 07 prefmem
PCI: 00:0d.0 20 <- [0x00fcbfffff - 0x00fcbffffe] size 0x00000000 gran 0x14 bus 07 mem
PCI: 00:11.0 10 <- [0x0000004020 - 0x0000004027] size 0x00000008 gran 0x03 io
PCI: 00:11.0 14 <- [0x0000004040 - 0x0000004043] size 0x00000004 gran 0x02 io
PCI: 00:11.0 18 <- [0x0000004028 - 0x000000402f] size 0x00000008 gran 0x03 io
PCI: 00:11.0 1c <- [0x0000004044 - 0x0000004047] size 0x00000004 gran 0x02 io
PCI: 00:11.0 20 <- [0x0000004000 - 0x000000400f] size 0x00000010 gran 0x04 io
PCI: 00:11.0 24 <- [0x00fcb0d000 - 0x00fcb0d3ff] size 0x00000400 gran 0x0a mem
PCI: 00:12.0 10 <- [0x00fcb08000 - 0x00fcb08fff] size 0x00001000 gran 0x0c mem
PCI: 00:12.1 10 <- [0x00fcb09000 - 0x00fcb09fff] size 0x00001000 gran 0x0c mem
PCI: 00:12.2 10 <- [0x00fcb0e000 - 0x00fcb0e0ff] size 0x00000100 gran 0x08 mem
PCI: 00:13.0 10 <- [0x00fcb0a000 - 0x00fcb0afff] size 0x00001000 gran 0x0c mem
PCI: 00:13.1 10 <- [0x00fcb0b000 - 0x00fcb0bfff] size 0x00001000 gran 0x0c mem
PCI: 00:13.2 10 <- [0x00fcb0f000 - 0x00fcb0f0ff] size 0x00000100 gran 0x08 mem
PCI: 00:14.1 10 <- [0x0000004030 - 0x0000004037] size 0x00000008 gran 0x03 io
PCI: 00:14.1 14 <- [0x0000004048 - 0x000000404b] size 0x00000004 gran 0x02 io
PCI: 00:14.1 18 <- [0x0000004038 - 0x000000403f] size 0x00000008 gran 0x03 io
PCI: 00:14.1 1c <- [0x000000404c - 0x000000404f] size 0x00000004 gran 0x02 io
PCI: 00:14.1 20 <- [0x0000004010 - 0x000000401f] size 0x00000010 gran 0x04 io
PCI: 00:14.2 10 <- [0x00fcb04000 - 0x00fcb07fff] size 0x00004000 gran 0x0e mem64
PCI: 00:14.3 a0 <- [0x00fcb10000 - 0x00fcb10000] size 0x00000001 gran 0x00 mem

@tlaurion
Copy link
Collaborator Author

@Tickmeister1 ?

@build-cool91
Copy link

This is attempting USB boot, but I know the USB and board boot with Dasharo for example.

@tlaurion
Copy link
Collaborator Author

tlaurion commented Aug 17, 2023

This is attempting USB boot, but I know the USB and board boot with Dasharo for example.

Something is weird with usb port. Try another one? There are 1.1 and 2.0 ports, AFAIK?
Dasharo fork should definitely be investigated, but here we are still based on 4.11. Seems like some people are interested in actively testing this. I will try to find time switching coreboot to dasharo in a PR, but if @Tickmeister1 or @build-cool91 you are faster then me, there are PR drafts exactly doing so that could be customized on top of master. We should collaborate in those PR to make it upstream, while Dasharo on kgpe-d16 has its own subsets of known bugs, so I do not know what is best to use currently on 0.4 release notes


Fixed

    [KGPE-D16 can not boot with a GPU connected](https://github.com/Dasharo/dasharo-issues/issues/48)
    [Configs for platforms without TPM](https://github.com/Dasharo/dasharo-issues/issues/62)
    [Bugs in DQS timing (kudos to Mike Rothfuss)](https://github.com/Dasharo/coreboot/pull/116)

Known issues

    [Booting from recovery doesn't work](https://github.com/Dasharo/dasharo-issues/issues/66)
    [Fan controller gets stuck at 100%](https://github.com/Dasharo/dasharo-issues/issues/169)
    [FreeBSD serial output is broken](https://github.com/Dasharo/dasharo-issues/issues/170)
    [Linux kernel panic on booting USB media](https://github.com/Dasharo/dasharo-issues/issues/171)
    [Builds are not reproducible](https://github.com/Dasharo/dasharo-issues/issues/189)

@tlaurion
Copy link
Collaborator Author

tlaurion commented Aug 17, 2023

This is attempting USB boot, but I know the USB and board boot with Dasharo for example.

I'm confused with that statement since I never had any issue with 4.11+linux kernel enabling both 1.1 and 2.0 usb controllers with proper drivers and dasharo release notes above saying that linux kernel panics on booting from USB media.

I'll try to readd kgpe-d16 in my testing time on community time. As per prior report of @Tickmeister1 it seems I could be able to get around past issues I had with either memory training/cpu (machine booted before but stayed collecting dust for years now... :/)

@build-cool91
Copy link

Okay well I just tried a bootable SATA SSD and same thing so I guess it doesn't have anything to do with USB.

I want to help with the PR stuff but I will have to ask a bunch of questions, I'll try though. Apologies in advance.

So if I go grab Dasharo coreboot , how would I build heads with their coreboot? Or is that not possible and I have to make their code modifications in heads?

If I do need to compare their coreboot code and modify heads, where is coreboot in heads?

@tlaurion
Copy link
Collaborator Author

Okay well I just tried a bootable SATA SSD and same thing so I guess it doesn't have anything to do with USB.

I want to help with the PR stuff but I will have to ask a bunch of questions, I'll try though. Apologies in advance.

So if I go grab Dasharo coreboot , how would I build heads with their coreboot? Or is that not possible and I have to make their code modifications in heads?

If I do need to compare their coreboot code and modify heads, where is coreboot in heads?

@build-cool91 @Tickmeister1 I just tried to make this work and add nvme under #1303

Note that it is not expected to be perfect at all.

@tlaurion
Copy link
Collaborator Author

tlaurion commented Aug 21, 2023

@Tickmeister1 @build-cool91 @Tonux599 Added UART=0 for workstation under 95e58a3 + linear FB init + bootsplash, so that console output is over serial console (as opposed to SOL (bmc).

Let me know differences compared to 842eda2 roms as opposed to roms of master.

Also, NVME as been activated under linux under #1303 CircleCI produced roms. Let me know how that goes for you. Next step there would be to remove amd/nvidia, add efifb as for all other boards wince we have native gfx and linear buffer, and we should be able to draw correctly to ASPEED here. LEt us know here clearly what dGPU are present, and what is your DIMMS as they might not be supported as documented per libreboot/raptorengineering in there HCL. I think best wiki entry is at https://wiki.vikings.net/hardware:kgpe-d16

@Tickmeister1
Copy link

I am currently focused on flashing my bmc to openbmc. Will resume testing heads when that is done.

@tlaurion
Copy link
Collaborator Author

tlaurion commented Oct 15, 2023

Thank you for the suggestions...I had found similar on the HEADS wiki and tried those instructions already from the HEADS recovery shell as well as from the OS. Something may be wrong with the board like you said. Is there anything I can do or am I SOL?

2023-10-14_14-12

I added the code from 8342603 and recompiled but also I have noticed my Nitro Key is not seen by HEADS so I haven't been able to properly re-ownership. I'm sure it is user error but I lack the understanding.

You can try doing
mount-usb
flashrom -p internal -w /media/firmware.rom

And give output here.
Blocking at verify through flash.sh script means something weird is happening in the parsing of flashrom output or write to the SPI. Of course doing that will wipe user config (key etc) which fails anyway as of now since reownership uses flash.sh which fails and your nitrokey not being supported (if NK3). Would need to rebase the PR on master at some point.

@tlaurion
Copy link
Collaborator Author

tlaurion commented Feb 9, 2024

@JonathonHall-Purism
Copy link
Collaborator

I haven't followed the whole discussion here (I don't have any KGPE-D16 hardware), but these fixes were suggested in the Matrix channel:

mrothfuss/coreboot-D16@afac3a7
mrothfuss/coreboot-D16@46441fb
mrothfuss/coreboot-D16@5e4c2c4

Ref: https://matrix.to/#/!pAlHOfxQNPXOgFGTmo:matrix.org/$aElgAoitT5wvyQRTluSksP6BtK2Gel08eP8sVw0FXW8?via=matrix.org&via=nitro.chat&via=tchncs.de

@arhabd
Copy link
Contributor

arhabd commented Jun 28, 2024

Work done under #1378 has not been tested under that board. Meaning that it is not expected that a flat framebuffer is passed through kexec.

Interesting enough, this board is 5.10.5 linux based for a while. Seems like users of that board are ok not having no vga until kexec'ed OS is initializing kernel.

Unfortunately, my kgpe-d16 doesn't boot anymore, looping into coreboot raminit.

Someone else still using that board under Heads? (Tagging per #692 board owners) @0rb677 @Tonux599 @zifxify @blobless ?

built latest workstation locally and runs fine anything particular that needs to be tested?

@tlaurion
Copy link
Collaborator Author

tlaurion commented Jun 29, 2024

Work done under #1378 has not been tested under that board. Meaning that it is not expected that a flat framebuffer is passed through kexec.

Interesting enough, this board is 5.10.5 linux based for a while. Seems like users of that board are ok not having no vga until kexec'ed OS is initializing kernel.

Unfortunately, my kgpe-d16 doesn't boot anymore, looping into coreboot raminit.

Someone else still using that board under Heads? (Tagging per #692 board owners) @0rb677 @Tonux599 @zifxify @blobless ?

built latest workstation locally and runs fine anything particular that needs to be tested?

Can you detail your HCL?
4.11 is knows amongst d16 club to be more resilient with ram init and also more stable depending of the ram modules and CPU used.

4.15 was tested with specific ram modules and cpus.

I would suggest to show up under heads channel under matrix so I can invite you to the d16 club channel but detailing HCL (hardware compatibility list) would be helpful here. As opposed to laptops, supporting every ram/CPU configurations is way more complicated.

@arhabd
Copy link
Contributor

arhabd commented Jul 2, 2024

Work done under #1378 has not been tested under that board. Meaning that it is not expected that a flat framebuffer is passed through kexec.
Interesting enough, this board is 5.10.5 linux based for a while. Seems like users of that board are ok not having no vga until kexec'ed OS is initializing kernel.
Unfortunately, my kgpe-d16 doesn't boot anymore, looping into coreboot raminit.
Someone else still using that board under Heads? (Tagging per #692 board owners) @0rb677 @Tonux599 @zifxify @blobless ?

built latest workstation locally and runs fine anything particular that needs to be tested?

Can you detail your HCL? 4.11 is knows amongst d16 club to be more resilient with ram init and also more stable depending of the ram modules and CPU used.

4.15 was tested with specific ram modules and cpus.

I would suggest to show up under heads channel under matrix so I can invite you to the d16 club channel but detailing HCL (hardware compatibility list) would be helpful here. As opposed to laptops, supporting every ram/CPU configurations is way more complicated.

RAM 2x Crucial 16GB CT16G3ERSLD4160B
CPU 2x AMD Opteron 6282 SE
GPU 1x GeForce GTX 650 Ti
kgpe-d16 rev 1.03G

@jtf7
Copy link

jtf7 commented Aug 18, 2024

Ultimately, I would like NVME support under both workstation and server. Intent is to boot from nvme

Also, NVME as been activated under linux under #1303 CircleCI produced roms. Let me know how that goes for you.

Is NVMe boot currently fully supported with KGPE? I would like to be able to use a single disk to boot Qubes too rather than needing a secondary Satadisk or USB drive as a pre-boot helper to the NVMe.

@jtf7
Copy link

jtf7 commented Aug 18, 2024

built latest workstation locally and runs fine anything particular that needs to be tested?

Can you detail your HCL?

There are also multiple board revision numbers which I think we should be including when referencing a bug. I had a number of issues with my Rev 1.3G boards and that version was in general a royal pain in the butt to setup. Max ram I could get was 64gb, a few usb port issues, power issues. When testing on Rev 1.4 and up, a number of problems went away and I was able to get 256gb of ram using the same identical hardware from the Rev 1.3G board that was finicky.

Personally I think devs should skip working on the Rev 1.3G boards and purchase a Rev 1.4 or newer and save yourself the time and frustration. I would also imagine it is difficult for devs to communicate problems effectively when not comparing and working on the same revision of board. If for some reason down the road there is a need for Rev1.3G we can revisit at that point in time.

@tlaurion
Copy link
Collaborator Author

tlaurion commented Aug 19, 2024

Ultimately, I would like NVME support under both workstation and server. Intent is to boot from nvme

Also, NVME as been activated under linux under #1303 CircleCI produced roms. Let me know how that goes for you.

Is NVMe boot currently fully supported with KGPE? I would like to be able to use a single disk to boot Qubes too rather than needing a secondary Satadisk or USB drive as a pre-boot helper to the NVMe.

@jtf7 it should since #1738 was merged, yes
Confirmed working by requester at #1738 (review)

@tlaurion
Copy link
Collaborator Author

built latest workstation locally and runs fine anything particular that needs to be tested?

Can you detail your HCL?

There are also multiple board revision numbers which I think we should be including when referencing a bug. I had a number of issues with my Rev 1.3G boards and that version was in general a royal pain in the butt to setup. Max ram I could get was 64gb, a few usb port issues, power issues. When testing on Rev 1.4 and up, a number of problems went away and I was able to get 256gb of ram using the same identical hardware from the Rev 1.3G board that was finicky.

Personally I think devs should skip working on the Rev 1.3G boards and purchase a Rev 1.4 or newer and save yourself the time and frustration. I would also imagine it is difficult for devs to communicate problems effectively when not comparing and working on the same revision of board. If for some reason down the road there is a need for Rev1.3G we can revisit at that point in time.

@jtf7 this is primordial.
Could you suggest changes for board configs docs around:

# Configuration for a kgpe-d16_workstation
# Linux configuration supporting Nvidia, AMD GPUs, enforcing post on nvidia.
# Please make sure jumper forces external GPU
#
#
# Status:
# - TPM support in romstage (not bootblock) with TPM SLB9635 TT 1.2 by Infineon
# - To connect to BMC: https://github.com/osresearch/heads/issues/134#issuecomment-368922440
# - Please contribute documentation on heads-wiki
# - Please support https://github.com/osresearch/heads/issues/719
# - Disk Unlock Key released by TPM since not deactivated
# - Currently, no microcode is included with coreboot. This is due to to a bug
# in which newer Linux releases panics when the newest microcode is loaded by
# coreboot. AMD Opteron 6300 series users are STRONGLY encouraged to make
# sure their operating system loads microcode updates.

@arhabd
Copy link
Contributor

arhabd commented Aug 22, 2024

Okay after testing heads functionality, similar to @Tonux599, the internal flash doesn't seem to be working. Mine has been stuck at "Verifying flash contents. Please wait..." for ~15 minutes now. I will let it sit a bit longer but doubt it will progress

was sitting on this for an hour then did a ctrl alt del and gave up

@arhabd
Copy link
Contributor

arhabd commented Aug 22, 2024

Thank you for the suggestions...I had found similar on the HEADS wiki and tried those instructions already from the HEADS recovery shell as well as from the OS. Something may be wrong with the board like you said. Is there anything I can do or am I SOL?
2023-10-14_14-12
I added the code from 8342603 and recompiled but also I have noticed my Nitro Key is not seen by HEADS so I haven't been able to properly re-ownership. I'm sure it is user error but I lack the understanding.

You can try doing mount-usb flashrom -p internal -w /media/firmware.rom

And give output here. Blocking at verify through flash.sh script means something weird is happening in the parsing of flashrom output or write to the SPI. Of course doing that will wipe user config (key etc) which fails anyway as of now since reownership uses flash.sh which fails and your nitrokey not being supported (if NK3). Would need to rebase the PR on master at some point.

Reading old flash chip contents... done.
Erasing and writing flash chip... Erase/write done.
Verifying flash... VERIFIED.

command seems to work just fine when using it like you said dont know why script hangs

@tlaurion
Copy link
Collaborator Author

tlaurion commented Aug 23, 2024

@arhabd #1753 (comment) explains the situation.

#1755 most probably fixes the situation (I don't see why not).

Tests will occur under #1753 first, then regression of #1755 alone against master, which should have none but loss of inhouse progress bar that is maintenance burden, but that should land upstream soon.

@tlaurion
Copy link
Collaborator Author

@arhabd roms from CircleCI for commit e64685b build at https://app.circleci.com/jobs/github/linuxboot/heads/18656 should resolve your issue. Of course, you have to use flashrom directly from command line here first, but then reflashing the same firmware image from Heads GUI should succeed.

Please confirm.

@arhabd
Copy link
Contributor

arhabd commented Aug 24, 2024

@arhabd roms from CircleCI for commit e64685b build at https://app.circleci.com/jobs/github/linuxboot/heads/18656 should resolve your issue. Of course, you have to use flashrom directly from command line here first, but then reflashing the same firmware image from Heads GUI should succeed.

Please confirm.

flashed this and the one thing to note is that if i dont have the usb security dongle plugged in the oem factory reset crashes with the following error
/bin/gui-init: line 318: 425 Segmentation fault oem-factory-reset "Clean Boot Detected - Perform OEM Factory Reset / Re-Ownership?"

but with a security dongle plugged in it goes through and does its thing sucessfully including flashing the new rom

so one issue solved another poped up :)

@jtf7
Copy link

jtf7 commented Aug 24, 2024

@jtf7 this is primordial.
Could you suggest changes for board configs docs around:

@tlaurion Yes I will. I spent a solid 4 days on this last week but still working on this. Have a few years of notes and documents to review and aggregate into a single source. I was hoping to finish last week but wasn't able to get through everything. Will finish as soon as able

@jtf7
Copy link

jtf7 commented Aug 24, 2024

dongle plugged in

@arhabd Are you using motherboard Rev 1.3G and which USB ports are you trying to use? With Rev 1.3G I had issues when trying to use the usb ports next to the ps/2 connector, i was better off using the headers off the mobo for some reason. KGPE Rev 1.4 or higher also seemed to help with a number of issues if you are able to upgrade

@arhabd
Copy link
Contributor

arhabd commented Aug 24, 2024

dongle plugged in

@arhabd Are you using motherboard Rev 1.3G and which USB ports are you trying to use? With Rev 1.3G I had issues when trying to use the usb ports next to the ps/2 connector, i was better off using the headers off the mobo for some reason. KGPE Rev 1.4 or higher also seemed to help with a number of issues if you are able to upgrade

i am using 1.03G and am using the USB ports next to the PS/2 ports without problem

maybe its just your specific board that has some issues? other people i talked to have not had the ram issue you described

@jtf7
Copy link

jtf7 commented Aug 30, 2024

i am using 1.03G and am using the USB ports next to the PS/2 ports without problem

maybe its just your specific board that has some issues? other people i talked to have not had the ram issue you described

Were you able to get more than 64gb working of ram on a 1.03g board? The 1.03g boards were ok for me once a working config was established. But it was difficult to establish patterns across multiple kgpe boards with the 1.03g vs other revisions of boards.

@arhabd
Copy link
Contributor

arhabd commented Aug 30, 2024

i am using 1.03G and am using the USB ports next to the PS/2 ports without problem
maybe its just your specific board that has some issues? other people i talked to have not had the ram issue you described

Were you able to get more than 64gb working of ram on a 1.03g board? The 1.03g boards were ok for me once a working config was established. But it was difficult to establish patterns across multiple kgpe boards with the 1.03g vs other revisions of boards.

personally have not tried but someone in the d16 club said it was not an issue for them on multiple boards

@arhabd
Copy link
Contributor

arhabd commented Aug 30, 2024

built latest workstation locally and runs fine anything particular that needs to be tested?

Can you detail your HCL?

There are also multiple board revision numbers which I think we should be including when referencing a bug. I had a number of issues with my Rev 1.3G boards and that version was in general a royal pain in the butt to setup. Max ram I could get was 64gb, a few usb port issues, power issues. When testing on Rev 1.4 and up, a number of problems went away and I was able to get 256gb of ram using the same identical hardware from the Rev 1.3G board that was finicky.

Personally I think devs should skip working on the Rev 1.3G boards and purchase a Rev 1.4 or newer and save yourself the time and frustration. I would also imagine it is difficult for devs to communicate problems effectively when not comparing and working on the same revision of board. If for some reason down the road there is a need for Rev1.3G we can revisit at that point in time.

maybe #1760 fixed your issue?

@jtf7
Copy link

jtf7 commented Aug 30, 2024

personally have not tried but someone in the d16 club said it was not an issue for them on multiple boards

There's a lot of misinformation out there surrounding this board as well, especially the older posts

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants