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

Update documentation around Raspberry Pi's #329

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

space55
Copy link

@space55 space55 commented Apr 24, 2024

Update Raspberry Pi tutorial to include Butane config and notes about ACPI issues

I went through the process of installing Flatcar on a Raspberry Pi 4, following the instructions documented here, but I encountered a couple issues that I would like to update.

The first issue was surrounding Butane configs. Initially, the documentation showed an Ignition config, with no mention of Butane. As Butane appears to be the direction the project would like to go, I converted the Ignition config to a Butane one, and included instructions on transpilation.

The second issue was that I could not get any HATs to work. This is something I am still debugging, but is caused by the Pi having ACPI mode selected, instead of DeviceTree (or at least, that's the understanding I have). There will be an update to the docs once I have confirmed a remedy, but wanted to get this PR up first.

How to use

To validate this PR, as it's mostly website text, please just check my changes for grammar and ensure that they appear to be readable. I'm more than happy to clarify in any areas desired.

Testing done

Will be checking as I finish up the ACPI debugging. I wanted to open this PR early so anyone googling around for GPIO issues with Flatcar would find this post and changeset, and hopefully benefit from what I have discovered.

  • Changelog entries added in the respective changelog/ directory (user-facing change, bug fix, security fix, update)
  • Inspected CI output for image differences: /boot and /usr size, packages, list files for any missing binaries, kernel modules, config files, kernel modules, etc.

This also adds a note that GPIO will not work in ACPI mode, which I am
in the process of debugging.
- console=tty0 # Used to tell the Linux kernel to output console to its display adapter
should_not_exist:
- quiet # Show logs upon kernel boot
- console=ttyAMA0,115200n8 # Disable the console being output via serial on the Raspberry Pi, so HATs can utilize that UART device.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These two aren't in the default grub.cfg and setting them here is a no-op, or?


Once the `flatcar-install` script has been installed, we can begin to write a Butane configuration file that can then be transpiled to Ignition.

[Why Butane](butane-transpiler)? The Butane configuration transpiler reads from an easier-to-write language (YAML), and parses it through to check for errors. This means that if you write a valid Butane configuration, and it successfully transpiles to JSON, you are guaranteed to have a valid Ignition configuration.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
[Why Butane](butane-transpiler)? The Butane configuration transpiler reads from an easier-to-write language (YAML), and parses it through to check for errors. This means that if you write a valid Butane configuration, and it successfully transpiles to JSON, you are guaranteed to have a valid Ignition configuration.

I think this is not needed in a device-specific page


kernel_arguments:
should_exist:
- console=tty0 # Used to tell the Linux kernel to output console to its display adapter
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Either this or the /oem/grub.cfg - which of them works?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And is there a reason you removed flatcar.autologin usbcore.autosuspend=-1? Otherwise these should stay.

contents:
inline: set linux_console="console=tty0" # Create a grub.cfg that contains appropriate arguments for the linux command line. In this case, we are telling it to use tty0 for the console
mode: 0644
overwrite: true # There may be an existing file there, we want to overwrite it
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is wrong if you want to use kernel_arguments because it overwrites them again. Decide for one approach and if one would have to split it up due to console vs other args then one would need an 'append' section.

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

Successfully merging this pull request may close these issues.

2 participants