Skip to content

Patches enabling stock builds of armbian for Mellow Fly Gemini V3 / Pi

License

Notifications You must be signed in to change notification settings

reemo3dp/mellowfly-geminipi-armbian

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mellow Fly Gemini v3 / Pi Stock Armbian

The goal of this project is to provide patches that re-create a stock armbian image as close to the "official" images.

The patch was initially entirely based off the flypi branch on Mellow-3D's fork of Armbian, with some work to map Pins to the board schematic.

No Support Given

🛑 Please understand that you're running these images at your own risk. There is no support and issues asking for support will be closed without comment. Please do file issues if you encounter unexpected behaviour or bugs. Include the version you're running and steps to reproduce the issue.

Disclaimer from GPL3

THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

Installation

Head to the latest release and download one of the img.xz files - current for a stable armbian kernel, edge for the latest mainline kernel supported by armbian. Both should work with all periphals (M2WE included).

Unpack the xz-archive and etch the image to an SD card using your favorite tool (e.g. balenaEtcher).

Once the system is running, use armbian-config to freeze the kernel and u-boot packages to prevent them from being updated. The kernel and u-boot packages are patched to work with the board, and updating them will break the system. HELP WANTED: If you know a good way of renaming the armbian packages to prevent them from being updated, please open an issue or PR.

M2WE

Use nand-sata-install to copy the system to the eMMC.

If this is not enough to boot without the SD card into armbian, boot onto the SD Card and follow https://linux-sunxi.org/Bootable_eMMC#Installation_from_Linux to make the boot partitions bootable (eMMC should be mmcblk2). u-boot-sunxi-with-spl.bin should be in /usr/lib/linux-u-boot-current-mellowflygeminipi/u-boot-sunxi-with-spl.bin. It should be written to both boot partitions of the eMMC.

Mainline kernel comes with a kernel for the wifi chipset (rtw88_8821cs) that can fail to initialize on boot. if that happens, blacklist the module and modprobe it later during boot. options rtw88_core disable_lps_deep=y might also help, or installing the scripts and systemd service in ./contrib/.

Flashing the MCU

The recommended way to flash the MCU with this image is either using make flash FLASH_DEVICE=/dev/serial/by-id/... (should work if the MCU is already running a recent enough version of klipper).

Alternatively, you may jump BT1 to 3.3V and reset the MCU (the RESET1 is on the bottom right of the board). This will put the MCU into HID flash mode.

See my blog for more instructions.

Building yourself

# Check out armbian's build repository
$ git clone https://github.com/armbian/build/ armbian
$ cd armbian/
# Apply patches from this repository
$ git am ../patches/*.patch
# Compile ubuntu jammy with default kernel config
$ ./compile.sh BOARD=mellowflygeminipi BRANCH=current RELEASE=jammy BUILD_MINIMAL=no BUILD_DESKTOP=no KERNEL_CONFIGURE=no INSTALL_HEADERS=yes

Status

Kernel OS Status
current jammy Everything works, M2WE WiFi fails to initialize but can be reinitialized later
edge jammy Everything works, M2WE WiFi fails to initialize but can be reinitialized later

References