mirror of
https://github.com/armbian/build
synced 2025-09-24 19:47:06 +07:00
Merge branch 'main' into bootconfig
This commit is contained in:
60
.github/CODEOWNERS
vendored
60
.github/CODEOWNERS
vendored
@@ -19,17 +19,16 @@ tools/ @iav @neheb @hzyitc @mhoffrog
|
||||
config/boards/aml-s9xx-box.tvb @SteeManMI
|
||||
config/boards/bananapi.csc @DylanHP
|
||||
config/boards/bananapicm4io.conf @pyavitz
|
||||
config/boards/bananapim2pro.csc @bretmlw
|
||||
config/boards/bananapim2s.conf @jeanrhum @pyavitz
|
||||
config/boards/bananapim3.conf @AaronNGray
|
||||
config/boards/bananapim5.conf @bretmlw
|
||||
config/boards/bananapim64.conf @devdotnetorg
|
||||
config/boards/bananapipro.conf @teknoid
|
||||
config/boards/bigtreetech-cb1.conf @bigtreetech
|
||||
config/boards/clearfogpro.conf @Heisath
|
||||
config/boards/espressobin.conf @ManoftheSea
|
||||
config/boards/firefly-rk3399.conf @150balbes
|
||||
config/boards/fxblox-rk1.wip @mahdichi
|
||||
config/boards/helios4.conf @Heisath
|
||||
config/boards/hinlink-h28k.csc @sputnik2019
|
||||
config/boards/indiedroid-nova.csc @lanefu
|
||||
config/boards/jethubj100.conf @adeepn
|
||||
config/boards/jethubj80.conf @adeepn
|
||||
@@ -40,23 +39,25 @@ config/boards/khadas-vim1s.wip @rpardini @viraniac
|
||||
config/boards/khadas-vim2.conf @igorpecovnik
|
||||
config/boards/khadas-vim3.conf @NicoD-SBC @rpardini
|
||||
config/boards/khadas-vim3l.conf @rpardini
|
||||
config/boards/khadas-vim4.wip @rpardini
|
||||
config/boards/khadas-vim4.wip @echatzip @rpardini @viraniac
|
||||
config/boards/lafrite.conf @Tonymac32
|
||||
config/boards/lepotato.conf @Tonymac32
|
||||
config/boards/licheepi-4a.wip @chainsx
|
||||
config/boards/mangopi-mq.wip @Zinput
|
||||
config/boards/mekotronics-r58-minipc.wip @monkaBlyat
|
||||
config/boards/mekotronics-r58x-4g.wip @monkaBlyat
|
||||
config/boards/mekotronics-r58x.wip @monkaBlyat
|
||||
config/boards/mixtile-blade3.wip @rpardini
|
||||
config/boards/nanopct6.wip @Tonymac32
|
||||
config/boards/nanopi-r4s.conf @Manouchehri
|
||||
config/boards/nanopi-r5s.csc @utlark
|
||||
config/boards/nanopi-r6s.conf @efectn
|
||||
config/boards/nanopiair.csc @1ubuntuuser
|
||||
config/boards/nanopiduo.conf @sgjava
|
||||
config/boards/nanopiduo2.conf @viraniac
|
||||
config/boards/nanopineoplus2.conf @teknoid
|
||||
config/boards/odroidc2.conf @teknoid
|
||||
config/boards/odroidm1.wip @rpardini
|
||||
config/boards/odroidn2.csc @NicoD-SBC
|
||||
config/boards/odroidxu4.conf @joekhoobyar
|
||||
config/boards/olimex-teres-a64.conf @Kreyren
|
||||
config/boards/onecloud.conf @hzyitc
|
||||
@@ -69,6 +70,7 @@ config/boards/orangepi5.conf @efectn
|
||||
config/boards/orangepione.conf @StephenGraf
|
||||
config/boards/orangepipc.conf @lbmendes
|
||||
config/boards/orangepiprime.conf @viraniac
|
||||
config/boards/orangepizero.conf @viraniac
|
||||
config/boards/orangepizero2.conf @AGM1968 @krachlatte
|
||||
config/boards/orangepizeroplus.conf @schwar3kat
|
||||
config/boards/pine64.conf @PanderMusubi @joshaspinall
|
||||
@@ -92,6 +94,7 @@ config/boards/rockpro64.conf @joekhoobyar
|
||||
config/boards/rpi4b.conf @PanderMusubi @teknoid
|
||||
config/boards/sk-am62b.conf @glneo
|
||||
config/boards/sk-am64b.conf @glneo
|
||||
config/boards/sk-tda4vm.conf @glneo
|
||||
config/boards/station-m1.conf @150balbes
|
||||
config/boards/station-m2.conf @150balbes
|
||||
config/boards/station-m3.conf @150balbes
|
||||
@@ -103,26 +106,25 @@ config/boards/tritium-h3.conf @Tonymac32
|
||||
config/boards/tritium-h5.conf @Tonymac32
|
||||
config/boards/uefi-arm64.conf @rpardini
|
||||
config/boards/uefi-x86.conf @rpardini
|
||||
config/kernel/linux-arm64-*.config @rpardini
|
||||
config/boards/xiaomi-elish.conf @amazingfate
|
||||
config/kernel/linux-arm64-*.config @amazingfate @rpardini
|
||||
config/kernel/linux-bcm2711-*.config @PanderMusubi @teknoid
|
||||
config/kernel/linux-d1-*.config @Zinput
|
||||
config/kernel/linux-k3-*.config @glneo
|
||||
config/kernel/linux-media-*.config @150balbes
|
||||
config/kernel/linux-meson-*.config @hzyitc
|
||||
config/kernel/linux-meson-s4t7-*.config @rpardini @viraniac
|
||||
config/kernel/linux-meson-s4t7-*.config @echatzip @rpardini @viraniac
|
||||
config/kernel/linux-meson64-*.config @NicoD-SBC @SteeManMI @Tonymac32 @adeepn @bretmlw @clee @engineer-80 @igorpecovnik @jeanrhum @monkaBlyat @pyavitz @rpardini @teknoid
|
||||
config/kernel/linux-mvebu-*.config @Heisath
|
||||
config/kernel/linux-mvebu64-*.config @ManoftheSea
|
||||
config/kernel/linux-odroidxu4-*.config @joekhoobyar
|
||||
config/kernel/linux-rk3568-odroid-*.config @rpardini
|
||||
config/kernel/linux-rk35xx-*.config @Tonymac32 @ZazaBR @amazingfate @catalinii @efectn @igorpecovnik @krachlatte @lanefu @linhz0hz @mahdichi @monkaBlyat @rpardini @vamzii
|
||||
config/kernel/linux-rk3568-odroid-*.config @rpardini @utlark
|
||||
config/kernel/linux-rk35xx-*.config @Tonymac32 @ZazaBR @amazingfate @catalinii @efectn @igorpecovnik @krachlatte @lanefu @linhz0hz @mahdichi @monkaBlyat @rpardini @sputnik2019 @vamzii
|
||||
config/kernel/linux-rockchip-*.config @paolosabatino
|
||||
config/kernel/linux-rockchip-rk3588-*.config @Tonymac32 @amazingfate @efectn @lanefu @linhz0hz
|
||||
config/kernel/linux-rockchip-rk3588-*.config @Tonymac32 @amazingfate @efectn @igorpecovnik @lanefu @linhz0hz
|
||||
config/kernel/linux-rockchip64-*.config @Manouchehri @TRSx80 @Tonymac32 @ZazaBR @ahoneybun @amazingfate @brentr @catalinii @clee @joekhoobyar @krachlatte @paolosabatino @schwar3kat @vamzii
|
||||
config/kernel/linux-rockpis-*.config @brentr
|
||||
config/kernel/linux-sun50iw9-*.config @AGM1968 @krachlatte
|
||||
config/kernel/linux-sun50iw9-btt-*.config @bigtreetech
|
||||
config/kernel/linux-sunxi-*.config @AaronNGray @DylanHP @StephenGraf @Tonymac32 @lbmendes @schwar3kat @sgjava @teknoid @viraniac
|
||||
config/kernel/linux-sunxi-*.config @1ubuntuuser @AaronNGray @DylanHP @StephenGraf @Tonymac32 @lbmendes @schwar3kat @sgjava @viraniac
|
||||
config/kernel/linux-sunxi64-*.config @AGM1968 @Kreyren @PanderMusubi @Tonymac32 @bigtreetech @devdotnetorg @eliasbakken @joshaspinall @krachlatte @schwar3kat @teknoid @viraniac
|
||||
config/kernel/linux-thead-*.config @chainsx
|
||||
config/kernel/linux-uefi-arm64-*.config @rpardini
|
||||
@@ -130,57 +132,53 @@ config/kernel/linux-uefi-x86-*.config @rpardini
|
||||
patch/kernel/NEED-*/ @bigtreetech
|
||||
patch/kernel/archive/bcm2711-*/ @PanderMusubi @teknoid
|
||||
patch/kernel/archive/meson-*/ @hzyitc
|
||||
patch/kernel/archive/meson-s4t7-*/ @rpardini @viraniac
|
||||
patch/kernel/archive/meson-s4t7-*/ @echatzip @rpardini @viraniac
|
||||
patch/kernel/archive/meson64-*/ @NicoD-SBC @SteeManMI @Tonymac32 @adeepn @bretmlw @clee @engineer-80 @igorpecovnik @jeanrhum @monkaBlyat @pyavitz @rpardini @teknoid
|
||||
patch/kernel/archive/mvebu-*/ @Heisath
|
||||
patch/kernel/archive/odroidxu4-*/ @joekhoobyar
|
||||
patch/kernel/archive/rk3568-odroid-*/ @rpardini
|
||||
patch/kernel/archive/rk35xx-*/ @Tonymac32 @ZazaBR @amazingfate @catalinii @efectn @igorpecovnik @krachlatte @lanefu @linhz0hz @mahdichi @monkaBlyat @rpardini @vamzii
|
||||
patch/kernel/archive/rk3568-odroid-*/ @rpardini @utlark
|
||||
patch/kernel/archive/rk35xx-*/ @Tonymac32 @ZazaBR @amazingfate @catalinii @efectn @igorpecovnik @krachlatte @lanefu @linhz0hz @mahdichi @monkaBlyat @rpardini @sputnik2019 @vamzii
|
||||
patch/kernel/archive/rockchip-*/ @paolosabatino
|
||||
patch/kernel/archive/rockchip64-*/ @Manouchehri @TRSx80 @Tonymac32 @ZazaBR @ahoneybun @amazingfate @brentr @catalinii @clee @joekhoobyar @krachlatte @paolosabatino @schwar3kat @vamzii
|
||||
patch/kernel/archive/rockpis-*/ @brentr
|
||||
patch/kernel/archive/sm8250-*/ @amazingfate
|
||||
patch/kernel/archive/sun50iw9-*/ @AGM1968 @krachlatte
|
||||
patch/kernel/archive/sunxi-*/ @AGM1968 @AaronNGray @DylanHP @Kreyren @PanderMusubi @StephenGraf @Tonymac32 @bigtreetech @devdotnetorg @eliasbakken @joshaspinall @krachlatte @lbmendes @schwar3kat @sgjava @teknoid @viraniac
|
||||
patch/kernel/archive/sunxi-*/ @1ubuntuuser @AGM1968 @AaronNGray @DylanHP @Kreyren @PanderMusubi @StephenGraf @Tonymac32 @bigtreetech @devdotnetorg @eliasbakken @joshaspinall @krachlatte @lbmendes @schwar3kat @sgjava @teknoid @viraniac
|
||||
patch/kernel/archive/uefi-arm64-*/ @rpardini
|
||||
patch/kernel/arm64-*/ @rpardini
|
||||
patch/kernel/arm64-*/ @amazingfate @rpardini
|
||||
patch/kernel/bcm2711-*/ @PanderMusubi @teknoid
|
||||
patch/kernel/d1-*/ @Zinput
|
||||
patch/kernel/k3-*/ @glneo
|
||||
patch/kernel/media-*/ @150balbes
|
||||
patch/kernel/meson-*/ @hzyitc
|
||||
patch/kernel/meson64-*/ @NicoD-SBC @SteeManMI @Tonymac32 @adeepn @bretmlw @clee @engineer-80 @igorpecovnik @jeanrhum @monkaBlyat @pyavitz @rpardini @teknoid
|
||||
patch/kernel/mvebu-*/ @Heisath
|
||||
patch/kernel/mvebu64-*/ @ManoftheSea
|
||||
patch/kernel/odroidxu4-*/ @joekhoobyar
|
||||
patch/kernel/rk35xx-*/ @Tonymac32 @ZazaBR @amazingfate @catalinii @efectn @igorpecovnik @krachlatte @lanefu @linhz0hz @mahdichi @monkaBlyat @rpardini @vamzii
|
||||
patch/kernel/rk35xx-*/ @Tonymac32 @ZazaBR @amazingfate @catalinii @efectn @igorpecovnik @krachlatte @lanefu @linhz0hz @mahdichi @monkaBlyat @rpardini @sputnik2019 @vamzii
|
||||
patch/kernel/rockchip-*/ @paolosabatino
|
||||
patch/kernel/rockchip-rk3588-*/ @Tonymac32 @amazingfate @efectn @lanefu @linhz0hz
|
||||
patch/kernel/rockchip-rk3588-*/ @Tonymac32 @amazingfate @efectn @igorpecovnik @lanefu @linhz0hz
|
||||
patch/kernel/rockchip64-*/ @Manouchehri @TRSx80 @Tonymac32 @ZazaBR @ahoneybun @amazingfate @brentr @catalinii @clee @joekhoobyar @krachlatte @paolosabatino @schwar3kat @vamzii
|
||||
patch/kernel/rockpis-*/ @brentr
|
||||
patch/kernel/sun50iw9-*/ @AGM1968 @krachlatte
|
||||
patch/kernel/thead-*/ @chainsx
|
||||
patch/kernel/uefi-arm64-*/ @rpardini
|
||||
patch/kernel/uefi-x86-*/ @rpardini
|
||||
sources/families/arm64.conf @rpardini
|
||||
sources/families/arm64.conf @amazingfate @rpardini
|
||||
sources/families/bcm2711.conf @PanderMusubi @teknoid
|
||||
sources/families/d1.conf @Zinput
|
||||
sources/families/k3.conf @glneo
|
||||
sources/families/media.conf @150balbes
|
||||
sources/families/meson-s4t7.conf @rpardini @viraniac
|
||||
sources/families/meson-s4t7.conf @echatzip @rpardini @viraniac
|
||||
sources/families/meson.conf @hzyitc
|
||||
sources/families/meson64.conf @NicoD-SBC @SteeManMI @Tonymac32 @adeepn @bretmlw @clee @engineer-80 @igorpecovnik @jeanrhum @monkaBlyat @pyavitz @rpardini @teknoid
|
||||
sources/families/mvebu.conf @Heisath
|
||||
sources/families/mvebu64.conf @ManoftheSea
|
||||
sources/families/odroidxu4.conf @joekhoobyar
|
||||
sources/families/rk3568-odroid.conf @rpardini
|
||||
sources/families/rk35xx.conf @Tonymac32 @ZazaBR @amazingfate @catalinii @efectn @igorpecovnik @krachlatte @lanefu @linhz0hz @mahdichi @monkaBlyat @rpardini @vamzii
|
||||
sources/families/rockchip-rk3588.conf @Tonymac32 @amazingfate @efectn @lanefu @linhz0hz
|
||||
sources/families/rk3568-odroid.conf @rpardini @utlark
|
||||
sources/families/rk35xx.conf @Tonymac32 @ZazaBR @amazingfate @catalinii @efectn @igorpecovnik @krachlatte @lanefu @linhz0hz @mahdichi @monkaBlyat @rpardini @sputnik2019 @vamzii
|
||||
sources/families/rockchip-rk3588.conf @Tonymac32 @amazingfate @efectn @igorpecovnik @lanefu @linhz0hz
|
||||
sources/families/rockchip.conf @paolosabatino
|
||||
sources/families/rockchip64.conf @Manouchehri @TRSx80 @Tonymac32 @ZazaBR @ahoneybun @amazingfate @brentr @catalinii @clee @joekhoobyar @krachlatte @paolosabatino @schwar3kat @vamzii
|
||||
sources/families/rockpis.conf @brentr
|
||||
sources/families/sun50iw9-btt.conf @bigtreetech
|
||||
sources/families/sun50iw9.conf @AGM1968 @krachlatte
|
||||
sources/families/sunxi.conf @AaronNGray @DylanHP @StephenGraf @Tonymac32 @lbmendes @schwar3kat @sgjava @teknoid @viraniac
|
||||
sources/families/sunxi.conf @1ubuntuuser @AaronNGray @DylanHP @StephenGraf @Tonymac32 @lbmendes @schwar3kat @sgjava @viraniac
|
||||
sources/families/sunxi64.conf @AGM1968 @Kreyren @PanderMusubi @Tonymac32 @bigtreetech @devdotnetorg @eliasbakken @joshaspinall @krachlatte @schwar3kat @teknoid @viraniac
|
||||
sources/families/thead.conf @chainsx
|
||||
sources/families/x86.conf @rpardini
|
||||
|
||||
3
.github/ISSUE_TEMPLATE/config.yml
vendored
3
.github/ISSUE_TEMPLATE/config.yml
vendored
@@ -1,5 +1,8 @@
|
||||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: Need framework support?
|
||||
url: https://github.com/armbian/build#support
|
||||
about: Explore free and prioritized paid support options
|
||||
- name: Armbian OS Bug Report
|
||||
url: https://www.armbian.com/bugs/
|
||||
about: Use our bug reporting wizzard to file your bug in the correct place
|
||||
|
||||
2
.github/Releases.md
vendored
2
.github/Releases.md
vendored
@@ -5,7 +5,7 @@
|
||||
|
||||
- Images below are built on every Linux kernel code, config or patches changes,
|
||||
- We provide here only a small selection of images that are currently interested for developers,
|
||||
- If you want to enable more build targets in this list, edit <a href="https://github.com/armbian/build/blob/master/config/targets-cli-beta.conf">CLI</a> or <a href="https://github.com/armbian/build/blob/master/config/targets-desktop-beta.conf">desktop</a> build config files.</p>
|
||||
- If you want to enable more build targets in this list, edit <a href="https://github.com/armbian/build/blob/main/config/targets-cli-beta.conf">CLI</a> or <a href="https://github.com/armbian/build/blob/main/config/targets-desktop-beta.conf">desktop</a> build config files.</p>
|
||||
|
||||
<br>
|
||||
If you don't find what you are looking for, check those images:
|
||||
|
||||
9
.github/labeler.yml
vendored
9
.github/labeler.yml
vendored
@@ -10,7 +10,7 @@
|
||||
#
|
||||
# Please keep the labels sorted and deduplicated.
|
||||
|
||||
"Hardware :gear:":
|
||||
"Hardware":
|
||||
- patch/u-boot/*
|
||||
- patch/u-boot/**/*
|
||||
- patch/atf/*
|
||||
@@ -19,6 +19,7 @@
|
||||
- patch/kernel/*
|
||||
- patch/kernel/**/*
|
||||
- patch/misc/*
|
||||
- patch/crust/*
|
||||
- config/kernel/*
|
||||
- config/sources/*
|
||||
- config/sources/**/*
|
||||
@@ -26,11 +27,13 @@
|
||||
- config/bootscripts/*
|
||||
- config/bootenv/*
|
||||
|
||||
"Software :chains:":
|
||||
"Software":
|
||||
- lib/*
|
||||
- tools/*
|
||||
- config/cli/*
|
||||
- packages/*
|
||||
- extensions/*
|
||||
- .github/workflows/*
|
||||
|
||||
"Desktop :desktop_computer:":
|
||||
"Desktop":
|
||||
- config/desktop/*
|
||||
|
||||
72
.github/labels.yml
vendored
Normal file
72
.github/labels.yml
vendored
Normal file
@@ -0,0 +1,72 @@
|
||||
- name: "02"
|
||||
color: "76B4D9"
|
||||
description: "Milestone: Winter release"
|
||||
- name: "05"
|
||||
color: "AADB79"
|
||||
description: "Milestone: Spring release"
|
||||
- name: "08"
|
||||
color: "4B649F"
|
||||
description: "Milestone: Summer release"
|
||||
- name: "11"
|
||||
color: "D58125"
|
||||
description: "Milestone: Autumn release"
|
||||
- name: "Backlog"
|
||||
color: "d4c5f9"
|
||||
description: "Stalled work that needs to be completed"
|
||||
- name: "Breaking change"
|
||||
color: "f4bd13"
|
||||
description: "Can potentially break core functionality"
|
||||
- name: "Bug"
|
||||
color: "F92C01"
|
||||
description: "Something isn't working well"
|
||||
- name: "Bugfix"
|
||||
color: "F92C01"
|
||||
description: "Pull request is fixing a bug"
|
||||
- name: "Discussion"
|
||||
color: "33B478"
|
||||
description: "Issue is being discussed. Undetermined."
|
||||
- name: "Duplicate"
|
||||
color: "f4bd13"
|
||||
description: "Issue is already present"
|
||||
- name: "Not framework bug"
|
||||
color: "CD456C"
|
||||
description: "Bug in 3rd party component"
|
||||
- name: "User error"
|
||||
color: "CD456C"
|
||||
description: "A mistake that is made by the user"
|
||||
- name: "size/small"
|
||||
color: "ededed"
|
||||
description: "PR with less then 50 lines"
|
||||
- name: "size/medium"
|
||||
color: "ededed"
|
||||
description: "PR with more then 50 and less then 250 lines"
|
||||
- name: "size/large"
|
||||
color: "ededed"
|
||||
description: "PR with 250 lines or more"
|
||||
- name: "Desktop"
|
||||
color: "bfd4f2"
|
||||
description: "Graphical user interface"
|
||||
- name: "Hardware"
|
||||
color: "bfd4f2"
|
||||
description: "Hardware related - kernel, u-boot, patches"
|
||||
- name: "Software"
|
||||
color: "bfd4f2"
|
||||
description: "Framework components"
|
||||
- name: "Work in progress"
|
||||
color: "29E414"
|
||||
description: "Unfinished / work in progress"
|
||||
- name: "Ready to merge"
|
||||
color: "1d7136"
|
||||
description: "Reviewed, tested and ready for merge"
|
||||
- name: "Help needed"
|
||||
color: "EA1BCE"
|
||||
description: "We need your involvement"
|
||||
- name: "Needs review"
|
||||
color: "AEE054"
|
||||
description: "Seeking for review"
|
||||
- name: "Can be closed?"
|
||||
color: "5319e7"
|
||||
description: "Ping developers on stalled issues / PR"
|
||||
- name: "Build"
|
||||
color: "1d76db"
|
||||
description: "Executing build train"
|
||||
45
.github/workflows/build-artifacts-pr.yml
vendored
Normal file
45
.github/workflows/build-artifacts-pr.yml
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
name: Generate artifacts on PR
|
||||
#
|
||||
# If PR is labeled with "Build" and you are a member of "Release manager" team it will start (additional security feature)
|
||||
#
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [opened, reopened, edited, synchronize, review_requested, labeled]
|
||||
|
||||
concurrency:
|
||||
group: pipeline-pr-${{github.event.pull_request.number}}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
|
||||
Check:
|
||||
permissions:
|
||||
pull-requests: read
|
||||
|
||||
name: "verify if compilation can be executed"
|
||||
if: contains(github.event.pull_request.labels.*.name, 'Build')
|
||||
runs-on: Linux
|
||||
outputs:
|
||||
member: ${{ steps.checkUserMember.outputs.isTeamMember }}
|
||||
steps:
|
||||
|
||||
- uses: tspascoal/get-user-teams-membership@v3
|
||||
id: checkUserMember
|
||||
with:
|
||||
username: ${{ github.actor }}
|
||||
organization: armbian
|
||||
team: "Release manager"
|
||||
GITHUB_TOKEN: ${{ secrets.ORG_MEMBERS }}
|
||||
|
||||
Compile:
|
||||
|
||||
needs: Check
|
||||
name: "Update artifacts"
|
||||
if: ${{ github.repository_owner == 'Armbian' && needs.Check.outputs.member == 'true' }}
|
||||
uses: armbian/os/.github/workflows/complete-artifact-matrix-all.yml@main
|
||||
secrets:
|
||||
ORG_MEMBERS: ${{ secrets.ORG_MEMBERS }}
|
||||
with:
|
||||
extraParamsAllBuilds: "UPLOAD_TO_OCI_ONLY=no"
|
||||
ref: ${{ github.event.pull_request.head.sha }}
|
||||
@@ -15,6 +15,10 @@ on:
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
concurrency:
|
||||
group: pipeline-security-${{github.event.pull_request.number}}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
|
||||
Analysis:
|
||||
@@ -25,16 +29,16 @@ jobs:
|
||||
steps:
|
||||
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Get changed files
|
||||
id: changed-files
|
||||
uses: tj-actions/changed-files@v37
|
||||
uses: tj-actions/changed-files@v40
|
||||
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: a13xp0p0v/kconfig-hardened-check
|
||||
path: kconfig-hardened-check
|
||||
|
||||
29
.github/workflows/labels-from-yml.yml
vendored
Normal file
29
.github/workflows/labels-from-yml.yml
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
name: Set PR and issues labels from yaml
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'main'
|
||||
paths:
|
||||
- '.github/labels.yml'
|
||||
pull_request:
|
||||
paths:
|
||||
- '.github/labels.yml'
|
||||
|
||||
jobs:
|
||||
labeler:
|
||||
if: ${{ github.repository_owner == 'Armbian' }}
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
-
|
||||
name: Run Labeler
|
||||
uses: crazy-max/ghaction-github-labeler@v5
|
||||
with:
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
yaml-file: .github/labels.yml
|
||||
dry-run: ${{ github.event_name == 'pull_request' }}
|
||||
exclude: |
|
||||
Maintenance*
|
||||
8
.github/workflows/lint-scripts-pr.yml
vendored
8
.github/workflows/lint-scripts-pr.yml
vendored
@@ -11,6 +11,10 @@ on:
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
concurrency:
|
||||
group: pipeline-lint-${{github.event.pull_request.number}}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
|
||||
Shellcheck:
|
||||
@@ -21,13 +25,13 @@ jobs:
|
||||
steps:
|
||||
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 2
|
||||
|
||||
- name: Get changed files
|
||||
id: changed-files
|
||||
uses: tj-actions/changed-files@v37
|
||||
uses: tj-actions/changed-files@v40
|
||||
|
||||
- name: List all changed files
|
||||
run: |
|
||||
|
||||
21
.github/workflows/pr-size-labeler.yml
vendored
Normal file
21
.github/workflows/pr-size-labeler.yml
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
name: Pull Request Labeling
|
||||
|
||||
on:
|
||||
- pull_request
|
||||
|
||||
jobs:
|
||||
|
||||
size-label:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: size-label
|
||||
uses: "pascalgn/size-label-action@v0.4.3"
|
||||
env:
|
||||
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
||||
with:
|
||||
sizes: >
|
||||
{
|
||||
"0": "small",
|
||||
"50": "medium",
|
||||
"250": "large"
|
||||
}
|
||||
2
.github/workflows/rebase.yml
vendored
2
.github/workflows/rebase.yml
vendored
@@ -19,7 +19,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout the latest code
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
fetch-depth: 0 # otherwise, you will fail to push refs to dest repo
|
||||
|
||||
6
.github/workflows/scorecard.yml
vendored
6
.github/workflows/scorecard.yml
vendored
@@ -26,12 +26,12 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: "Checkout code"
|
||||
uses: actions/checkout@v3.3.0
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: "Run analysis"
|
||||
uses: ossf/scorecard-action@v2.2.0
|
||||
uses: ossf/scorecard-action@v2.3.1
|
||||
with:
|
||||
results_file: results.sarif
|
||||
results_format: sarif
|
||||
@@ -50,7 +50,7 @@ jobs:
|
||||
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
|
||||
# format to the repository Actions tab.
|
||||
- name: "Upload artifact"
|
||||
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
|
||||
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
|
||||
with:
|
||||
name: SARIF file
|
||||
path: results.sarif
|
||||
|
||||
@@ -16,6 +16,30 @@ Once you have decided to contribute to Armbian by working on an issue, check our
|
||||
|
||||
Please be sure to review the [Development Code Review Procedures and Guidelines](https://docs.armbian.com/Development-Code_Review_Procedures_and_Guidelines/) as well before you begin.
|
||||
|
||||
## PR and issues labeling
|
||||
|
||||
Labels are defined in [.github/labels.yml](.github/labels.yml) YAML file. They are automatically recreated upon change. Require at least `Triage` users permission on repository. [Request access](https://github.com/armbian/build#contact) if you cannot change labels!
|
||||
|
||||
Most of labels are self explanoritary but here are short instructions on how to use them:
|
||||
|
||||
Automated on PR:
|
||||
- `size/small`, `size/medium`, `size/large` is determined automatically from the size of the PR
|
||||
- `desktop`, `hardware` and `software` is determined automatically depending on location of the changes
|
||||
|
||||
Manual on PR:
|
||||
- `02` `05` `08` `11` milestone - determine into which release the PR should go
|
||||
- `work in progress` - when you are still working on
|
||||
- `needs review` - when you are done and seeking for attention
|
||||
- `ready to merge` - when you are done
|
||||
- `help needed` - when you are desperate and cannot move on
|
||||
|
||||
Labeling Issues:
|
||||
- `bug` when it is clear that it is our bug, `not our bug` if its clearly not ours, `duplicate` if issue already exists
|
||||
- `discussion`, when needed, `user error` when we know it is a problem on the other side
|
||||
- `can be closed` for stalled issues
|
||||
|
||||
|
||||
|
||||
## Contributing
|
||||
|
||||
This section describes how to start contributing to Armbian.
|
||||
|
||||
15
README.md
15
README.md
@@ -2,10 +2,11 @@
|
||||
<a href="#build-framework">
|
||||
<img src=".github/armbian-logo.png" alt="Armbian logo" width="144">
|
||||
</a><br>
|
||||
<strong>Armbian Linux Build Framework</strong><br><h3>
|
||||
$${\color{black}NEXT\space \color{red}gen}$$
|
||||
</h3>
|
||||
|
||||
<strong>Armbian Linux Build Framework</strong><br>
|
||||
<br>
|
||||
<a href=https://github.com/armbian/os><img alt="Artifacts generation" src="https://img.shields.io/github/actions/workflow/status/armbian/os/complete-artifact-matrix-all.yml?logo=githubactions&label=Build&style=for-the-badge&branch=main&logoColor=white"></a>
|
||||
</p>
|
||||
|
||||
## Table of contents
|
||||
|
||||
- [What does this project do?](#what-does-this-project-do)
|
||||
@@ -58,13 +59,13 @@ Show work-in-progress areas in interactive mode:
|
||||
./compile.sh EXPERT="yes"
|
||||
```
|
||||
|
||||
Build minimal CLI Armbian Focal image for Orangepi Zero. Use modern kernel and write image to the SD card:
|
||||
Build minimal CLI Armbian Jammy image for Orangepi Zero. Use `current` kernel and write image to the SD card:
|
||||
|
||||
```bash
|
||||
./compile.sh \
|
||||
BOARD=orangepizero \
|
||||
BRANCH=current \
|
||||
RELEASE=focal \
|
||||
RELEASE=jammy \
|
||||
BUILD_MINIMAL=yes \
|
||||
BUILD_DESKTOP=no \
|
||||
KERNEL_CONFIGURE=no \
|
||||
@@ -212,7 +213,7 @@ For commercial or prioritized assistance:
|
||||
- [Forums](https://forum.armbian.com) for Participate in Armbian
|
||||
- IRC: `#armbian` on Libera.chat
|
||||
- Discord: [https://discord.gg/armbian](https://discord.gg/armbian)
|
||||
- Follow [@armbian](https://twitter.com/armbian) on Twitter, [Fosstodon](https://fosstodon.org/@armbian) or [LinkedIn](https://www.linkedin.com/company/armbian).
|
||||
- Follow [@armbian](https://twitter.com/armbian) on X (formerly known as Twitter), [Fosstodon](https://fosstodon.org/@armbian) or [LinkedIn](https://www.linkedin.com/company/armbian).
|
||||
- Bugs: [issues](https://github.com/armbian/build/issues) / [JIRA](https://armbian.atlassian.net/jira/dashboards/10000)
|
||||
- Office hours: [Wednesday, 12 midday, 18 afternoon, CET](https://calendly.com/armbian/office-hours)
|
||||
|
||||
|
||||
42
config/boards/armsom-w3.csc
Normal file
42
config/boards/armsom-w3.csc
Normal file
@@ -0,0 +1,42 @@
|
||||
# Rockchip RK3588 SoC octa core 8-32GB SoC 2.5GBe PoE eMMC USB3 NvME
|
||||
BOARD_NAME="ArmSoM W3"
|
||||
BOARDFAMILY="rockchip-rk3588"
|
||||
BOARD_MAINTAINER=""
|
||||
BOOTCONFIG="armsom-w3-rk3588_defconfig"
|
||||
KERNEL_TARGET="legacy"
|
||||
KERNEL_TEST_TARGET="legacy" # in case different then kernel target
|
||||
FULL_DESKTOP="yes"
|
||||
BOOT_LOGO="desktop"
|
||||
BOOT_FDT_FILE="rockchip/rk3588-armsom-w3.dtb"
|
||||
BOOT_SCENARIO="spl-blobs"
|
||||
BOOT_SUPPORT_SPI="yes"
|
||||
BOOT_SPI_RKSPI_LOADER="yes"
|
||||
IMAGE_PARTITION_TABLE="gpt"
|
||||
SKIP_BOOTSPLASH="yes" # Skip boot splash patch, conflicts with CONFIG_VT=yes
|
||||
BOOTFS_TYPE="ext4"
|
||||
DDR_BLOB='rk35/rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v1.11.bin'
|
||||
BL31_BLOB='rk35/rk3588_bl31_v1.38.elf'
|
||||
|
||||
# post_family_config hook which only runs when branch is legacy.
|
||||
function post_family_config_branch_legacy__uboot_armsom() {
|
||||
display_alert "$BOARD" "Configuring armsom u-boot" "info"
|
||||
declare -g BOOTSOURCE='https://github.com/radxa/u-boot.git'
|
||||
declare -g BOOTBRANCH="commit:b54d452d46459bc6e4cfc1a2795c9aad143aa174" # specific commit in next-dev branch
|
||||
declare -g OVERLAY_PREFIX='rockchip-rk3588'
|
||||
declare -g BOOTDIR="u-boot-${BOARD}" # do not share u-boot directory
|
||||
declare -g BOOTPATCHDIR="legacy/u-boot-armsom-rk3588" # Few patches in there; defconfig & DT
|
||||
declare -g BOOTDELAY=1 # build injects this into u-boot config. we can then get into UMS mode and avoid the whole rockusb/rkdeveloptool thing
|
||||
}
|
||||
|
||||
function post_family_tweaks__armsom-w3_naming_audios() {
|
||||
display_alert "$BOARD" "Renaming armsom-w3 audios" "info"
|
||||
|
||||
mkdir -p $SDCARD/etc/udev/rules.d/
|
||||
echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-hdmi0-sound", ENV{SOUND_DESCRIPTION}="HDMI0 Audio"' > $SDCARD/etc/udev/rules.d/90-naming-audios.rules
|
||||
echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-hdmi1-sound", ENV{SOUND_DESCRIPTION}="HDMI1 Audio"' >> $SDCARD/etc/udev/rules.d/90-naming-audios.rules
|
||||
echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-hdmiin-sound", ENV{SOUND_DESCRIPTION}="HDMI-In Audio"' >> $SDCARD/etc/udev/rules.d/90-naming-audios.rules
|
||||
echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-dp0-sound", ENV{SOUND_DESCRIPTION}="DP0 Audio"' >> $SDCARD/etc/udev/rules.d/90-naming-audios.rules
|
||||
echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-es8316-sound", ENV{SOUND_DESCRIPTION}="ES8316 Audio"' >> $SDCARD/etc/udev/rules.d/90-naming-audios.rules
|
||||
|
||||
return 0
|
||||
}
|
||||
@@ -8,8 +8,8 @@ FULL_DESKTOP="yes"
|
||||
SERIALCON="ttyAML0"
|
||||
BOOT_LOGO="desktop"
|
||||
BOOT_FDT_FILE="amlogic/meson-g12b-bananapi-cm4-cm4io.dtb"
|
||||
BOOTBRANCH_BOARD="tag:v2023.01"
|
||||
BOOTPATCHDIR="v2023.01"
|
||||
BOOTBRANCH_BOARD="tag:v2023.07.02"
|
||||
BOOTPATCHDIR="v2023.07.02"
|
||||
|
||||
function post_family_tweaks_bsp__bananapi_rtl_bt() {
|
||||
if [[ -d "$SRC/packages/bsp/bananapi/rtl_bt" ]]; then
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Amlogic S905X3 quad core 2-4GB RAM SoC eMMC GBE USB3 SPI Wifi
|
||||
BOARD_NAME="Banana Pi M2Pro"
|
||||
BOARDFAMILY="meson-sm1"
|
||||
BOARD_MAINTAINER=""
|
||||
BOARD_MAINTAINER="bretmlw"
|
||||
BOOTCONFIG="bananapi-m2-pro_defconfig"
|
||||
BOOT_FDT_FILE="amlogic/meson-sm1-bananapi-m2-pro.dtb"
|
||||
KERNEL_TARGET="current,edge"
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
# Allwinner A20 dual core 1GB RAM SoC 1xSATA GBE Wifi
|
||||
BOARD_NAME="Banana Pi Pro"
|
||||
BOARDFAMILY="sun7i"
|
||||
BOARD_MAINTAINER="teknoid"
|
||||
BOOTCONFIG="Bananapro_defconfig"
|
||||
KERNEL_TARGET="legacy,current,edge"
|
||||
KERNEL_TEST_TARGET="current,edge"
|
||||
7
config/boards/bananapipro.csc
Normal file
7
config/boards/bananapipro.csc
Normal file
@@ -0,0 +1,7 @@
|
||||
# Allwinner A20 dual core 1GB RAM SoC 1xSATA GBE Wifi
|
||||
BOARD_NAME="Banana Pi Pro"
|
||||
BOARDFAMILY="sun7i"
|
||||
BOARD_MAINTAINER=""
|
||||
BOOTCONFIG="Bananapro_defconfig"
|
||||
KERNEL_TARGET="legacy,current,edge"
|
||||
KERNEL_TEST_TARGET="current,edge"
|
||||
@@ -2,7 +2,6 @@
|
||||
BOARD_NAME="BigTreeTech CB1"
|
||||
BOARDFAMILY="sun50iw9-btt"
|
||||
BOARD_MAINTAINER="bigtreetech"
|
||||
BOOTBRANCH="tag:v2023.04"
|
||||
BOOTCONFIG="bigtreetech_cb1_defconfig"
|
||||
DEFAULT_CONSOLE="serial"
|
||||
SERIALCON="ttyS0"
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
# Marvell Armada 38x dual core 1GB/2GB RAM SoC 2xmPCIe M.2 GBE switch SFP
|
||||
BOARD_NAME="Clearfog Pro"
|
||||
BOARDFAMILY="mvebu"
|
||||
BOARD_MAINTAINER="Heisath"
|
||||
BOOTCONFIG="clearfog_defconfig"
|
||||
HAS_VIDEO_OUTPUT="no"
|
||||
KERNEL_TARGET="current,edge"
|
||||
7
config/boards/clearfogpro.csc
Normal file
7
config/boards/clearfogpro.csc
Normal file
@@ -0,0 +1,7 @@
|
||||
# Marvell Armada 38x dual core 1GB/2GB RAM SoC 2xmPCIe M.2 GBE switch SFP
|
||||
BOARD_NAME="Clearfog Pro"
|
||||
BOARDFAMILY="mvebu"
|
||||
BOARD_MAINTAINER=""
|
||||
BOOTCONFIG="clearfog_defconfig"
|
||||
HAS_VIDEO_OUTPUT="no"
|
||||
KERNEL_TARGET="current,edge"
|
||||
@@ -3,7 +3,7 @@ BOARD_NAME="Clockworkpi A06"
|
||||
BOARDFAMILY="rockchip64"
|
||||
BOARD_MAINTAINER=""
|
||||
BOOTCONFIG="clockworkpi-a06-rk3399_defconfig"
|
||||
KERNEL_TARGET="legacy,current,edge"
|
||||
KERNEL_TARGET="current,edge"
|
||||
FULL_DESKTOP="yes"
|
||||
BOOT_LOGO="no"
|
||||
BOOTBRANCH_BOARD="tag:v2022.04"
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
# Marvell Armada 388 2GB ECC RAM SoC 4xSATA 2xUSB3.0 GBE SPI
|
||||
BOARD_NAME="Helios4"
|
||||
BOARDFAMILY="mvebu"
|
||||
BOARD_MAINTAINER="Heisath"
|
||||
BOOTCONFIG="helios4_defconfig"
|
||||
BOOTCONFIG_NEXT="helios4_defconfig"
|
||||
MODULES_LEGACY="marvell_cesa lm75"
|
||||
MODULES_CURRENT="marvell_cesa lm75"
|
||||
HAS_VIDEO_OUTPUT="no"
|
||||
FORCE_BOOTSCRIPT_UPDATE="yes"
|
||||
KERNEL_TARGET="current,edge"
|
||||
11
config/boards/helios4.csc
Normal file
11
config/boards/helios4.csc
Normal file
@@ -0,0 +1,11 @@
|
||||
# Marvell Armada 388 2GB ECC RAM SoC 4xSATA 2xUSB3.0 GBE SPI
|
||||
BOARD_NAME="Helios4"
|
||||
BOARDFAMILY="mvebu"
|
||||
BOARD_MAINTAINER=""
|
||||
BOOTCONFIG="helios4_defconfig"
|
||||
BOOTCONFIG_NEXT="helios4_defconfig"
|
||||
MODULES_LEGACY="marvell_cesa lm75"
|
||||
MODULES_CURRENT="marvell_cesa lm75"
|
||||
HAS_VIDEO_OUTPUT="no"
|
||||
FORCE_BOOTSCRIPT_UPDATE="yes"
|
||||
KERNEL_TARGET="current,edge"
|
||||
9
config/boards/hikey960.csc
Normal file
9
config/boards/hikey960.csc
Normal file
@@ -0,0 +1,9 @@
|
||||
# Kirin 960 octa core 3/4GB SoC eMMC USB3 WiFi/BT
|
||||
declare -g BOARD_NAME="HiKey 960"
|
||||
declare -g BOARDFAMILY="uefi-arm64"
|
||||
declare -g BOARD_MAINTAINER=""
|
||||
declare -g KERNEL_TARGET="current,edge"
|
||||
|
||||
declare -g GRUB_CMDLINE_LINUX_DEFAULT="efi=noruntime console=ttyAMA6,115200n8"
|
||||
declare -g BOOT_FDT_FILE="hisilicon/hi3660-hikey960.dtb"
|
||||
enable_extension "grub-with-dtb"
|
||||
22
config/boards/hinlink-h28k.csc
Normal file
22
config/boards/hinlink-h28k.csc
Normal file
@@ -0,0 +1,22 @@
|
||||
# Rockchip RK3528 quad core 1-8GB SoC GBe eMMC PCIE2.0/USB3
|
||||
BOARD_NAME="HinLink H28k"
|
||||
BOARDFAMILY="rk35xx"
|
||||
BOOTCONFIG="hinlink_rk3528_defconfig"
|
||||
BOARD_MAINTAINER="sputnik2019"
|
||||
KERNEL_TARGET="legacy"
|
||||
FULL_DESKTOP="yes"
|
||||
BOOT_LOGO="desktop"
|
||||
BOOT_FDT_FILE="rockchip/rk3528-hinlink-h28k.dtb"
|
||||
BOOT_SCENARIO="spl-blobs"
|
||||
WIREGUARD="no"
|
||||
BOOT_SUPPORT_SPI="yes"
|
||||
BOOT_SPI_RKSPI_LOADER="yes"
|
||||
IMAGE_PARTITION_TABLE="gpt"
|
||||
BOOTFS_TYPE="ext4"
|
||||
|
||||
# Override family config for this board; let's avoid conditionals in family config.
|
||||
function post_family_config__hinlink-h28k_use_vendor_uboot() {
|
||||
BOOTSOURCE='https://github.com/rockchip-linux/u-boot.git'
|
||||
BOOTBRANCH='commit:32640b0ada9344f91e7a407576568782907161cd'
|
||||
BOOTPATCHDIR="legacy/board_hinlink-h28k"
|
||||
}
|
||||
@@ -9,7 +9,8 @@ BOOT_LOGO="desktop"
|
||||
BOOT_FDT_FILE="rockchip/rk3588-hinlink-h88k.dtb"
|
||||
BOOT_SCENARIO="spl-blobs"
|
||||
IMAGE_PARTITION_TABLE="gpt"
|
||||
SKIP_BOOTSPLASH="yes" # Skip boot splash patch, conflicts with CONFIG_VT=yes
|
||||
SKIP_BOOTSPLASH="yes" # Skip boot splash patch, conflicts with CONFIG_VT=yes
|
||||
declare -g UEFI_EDK2_BOARD_ID="h88k" # This _only_ used for uefi-edk2-rk3588 extension
|
||||
|
||||
function post_family_tweaks__hinlink_h88k_naming_audios() {
|
||||
display_alert "$BOARD" "Renaming hinlink-h88k audios" "info"
|
||||
|
||||
@@ -16,6 +16,7 @@ declare -g BOOTFS_TYPE="fat"
|
||||
declare -g SRC_EXTLINUX="no" # going back to standard uboot for now
|
||||
declare -g BL31_BLOB='rk35/rk3588_bl31_v1.38.elf'
|
||||
declare -g DDR_BLOB='rk35/rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v1.11.bin'
|
||||
declare -g UEFI_EDK2_BOARD_ID="indiedroid-nova" # This _only_ used for uefi-edk2-rk3588 extension
|
||||
|
||||
## only applies to extlinux so not used
|
||||
declare -g SRC_CMDLINE="console=ttyS0,115200n8 console=tty1 console=both net.ifnames=0 rootflags=data=writeback"
|
||||
@@ -79,3 +80,13 @@ function pre_customize_image__indiedroid_add_bluetooth() {
|
||||
EOD
|
||||
chroot_sdcard systemctl enable bluetooth-rtl8821cs.service
|
||||
}
|
||||
function post_family_tweaks__indiedroid_naming_audios() {
|
||||
display_alert "$BOARD" "Renaming indiedroid audios" "info"
|
||||
|
||||
mkdir -p $SDCARD/etc/udev/rules.d/
|
||||
echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-hdmi0-sound", ENV{SOUND_DESCRIPTION}="HDMI0 Audio"' > $SDCARD/etc/udev/rules.d/90-naming-audios.rules
|
||||
echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-dp0-sound", ENV{SOUND_DESCRIPTION}="DP0 Audio"' >> $SDCARD/etc/udev/rules.d/90-naming-audios.rules
|
||||
echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-es8388-sound", ENV{SOUND_DESCRIPTION}="ES8388 Audio"' >> $SDCARD/etc/udev/rules.d/90-naming-audios.rules
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
14
config/boards/inovato-quadra.csc
Normal file
14
config/boards/inovato-quadra.csc
Normal file
@@ -0,0 +1,14 @@
|
||||
# Allwinner H6 quad core 2GB SoC WiFi eMMC
|
||||
BOARD_NAME="Inovato Quadra"
|
||||
BOARDFAMILY="sun50iw6"
|
||||
BOARD_MAINTAINER=""
|
||||
BOOTCONFIG="tanix_tx6_defconfig"
|
||||
CRUSTCONFIG="tanix_tx6_defconfig"
|
||||
BOOT_FDT_FILE="allwinner/sun50i-h6-inovato-quadra.dtb"
|
||||
KERNEL_TARGET="current,edge"
|
||||
KERNEL_TEST_TARGET="current,edge"
|
||||
BOOT_LOGO="desktop"
|
||||
FULL_DESKTOP="yes"
|
||||
SRC_EXTLINUX="yes"
|
||||
SRC_CMDLINE="console=ttyS0,115200 console=tty0 mem=2048M video=HDMI-A-1:e"
|
||||
OFFSET=16
|
||||
@@ -1,32 +1,11 @@
|
||||
# Nvidia Jetson Nano quad core 2G/4GB SoC 4 x USB3 HDMI & DP
|
||||
BOARD_NAME="Jetson Nano"
|
||||
BOARDFAMILY="media"
|
||||
BOARD_MAINTAINER="150balbes"
|
||||
BOOTCONFIG="none"
|
||||
KERNEL_TARGET="current,edge"
|
||||
FULL_DESKTOP="yes"
|
||||
BOOT_LOGO="desktop"
|
||||
BOOT_FDT_FILE="nvidia/tegra210-p3450-0000.dtb"
|
||||
SRC_EXTLINUX="yes"
|
||||
SRC_CMDLINE="console=ttyS0,115200n8 console=tty0"
|
||||
declare -g BOARD_NAME="Jetson Nano"
|
||||
declare -g BOARDFAMILY="uefi-arm64"
|
||||
declare -g BOARD_MAINTAINER="150balbes"
|
||||
declare -g KERNEL_TARGET="current,edge"
|
||||
|
||||
function post_family_tweaks__Jetson-nano() {
|
||||
display_alert "$BOARD" "Installing bsp firmware and fixups" "info"
|
||||
declare -g BOOT_LOGO=desktop
|
||||
|
||||
install -m 755 $SRC/packages/blobs/jetson/jetson.sh $SDCARD/etc/initramfs-tools/hooks/jetson.sh
|
||||
if [[ $BRANCH == legacy ]]; then
|
||||
install -m 755 $SRC/packages/blobs/jetson/tegra21x_xusb_firmware $SDCARD/lib/firmware/tegra21x_xusb_firmware
|
||||
install -m 755 $SRC/packages/blobs/jetson/asound.conf.tegrahda $SDCARD/etc/asound.conf.tegrahda
|
||||
install -m 755 $SRC/packages/blobs/jetson/asound.conf.tegrahda $SDCARD/etc/asound.conf
|
||||
install -m 755 $SRC/packages/blobs/jetson/asound.conf.tegrasndt210ref $SDCARD/etc/asound.conf.tegrasndt210ref
|
||||
install -m 755 $SRC/packages/blobs/jetson/tegra-hda.conf $SDCARD/usr/share/alsa/cards/tegra-hda.conf
|
||||
install -m 755 $SRC/packages/blobs/jetson/tegra-snd-t210r.conf $SDCARD/usr/share/alsa/cards/tegra-snd-t210r.conf
|
||||
sed -e 's/exit 0//g' -i $SDCARD/etc/rc.local
|
||||
echo "su -c 'echo 255 > /sys/devices/pwm-fan/target_pwm'" >> $SDCARD/etc/rc.local
|
||||
echo "exit 0" >> $SDCARD/etc/rc.local
|
||||
else
|
||||
cp -R $SRC/packages/blobs/jetson/firmware/* $SDCARD/lib/firmware/
|
||||
fi
|
||||
|
||||
return 0
|
||||
}
|
||||
declare -g GRUB_CMDLINE_LINUX_DEFAULT="console=ttyS0,115200n8"
|
||||
declare -g BOOT_FDT_FILE="nvidia/tegra210-p3450-0000.dtb"
|
||||
enable_extension "grub-with-dtb"
|
||||
|
||||
@@ -3,7 +3,7 @@ declare -g BOARD_NAME="Khadas Edge2"
|
||||
declare -g BOARDFAMILY="rockchip-rk3588"
|
||||
declare -g BOARD_MAINTAINER="igorpecovnik"
|
||||
declare -g BOOT_SOC="rk3588" # Just to avoid errors in rockchip64_commmon
|
||||
declare -g KERNEL_TARGET="legacy"
|
||||
declare -g KERNEL_TARGET="legacy,edge"
|
||||
declare -g IMAGE_PARTITION_TABLE="gpt"
|
||||
declare -g BOOT_FDT_FILE="rockchip/rk3588s-khadas-edge2.dtb" # Specific to this board
|
||||
|
||||
@@ -11,6 +11,7 @@ declare -g BLUETOOTH_HCIATTACH_PARAMS="-s 115200 /dev/ttyS9 bcm43xx 1500000" # F
|
||||
enable_extension "bluetooth-hciattach" # Enable the bluetooth-hciattach extension
|
||||
|
||||
declare -g KHADAS_OOWOW_BOARD_ID="Edge2" # for use with EXT=output-image-oowow
|
||||
declare -g UEFI_EDK2_BOARD_ID="edge2" # This _only_ used for uefi-edk2-rk3588 extension
|
||||
|
||||
# for the kedge2, we're counting on the blobs+u-boot in SPI working, as it comes from factory. It does not support bootscripts.
|
||||
function post_family_config_branch_legacy__uboot_kedge2() {
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
BOARD_NAME="Khadas VIM1S" # don't confuse with VIM1 (S905X)
|
||||
BOARDFAMILY="meson-s4t7"
|
||||
KERNEL_TARGET="legacy"
|
||||
BOARD_MAINTAINER="rpardini viraniac"
|
||||
BOARD_MAINTAINER="viraniac rpardini"
|
||||
SERIALCON="ttyS0" # for vendor kernel
|
||||
# BOOT_FDT_FILE="amlogic/kvim1s.dtb" # unset on purpose: uboot auto-determines the DTB to use
|
||||
|
||||
|
||||
@@ -1,50 +1,42 @@
|
||||
# Amlogic A311D 2/4GB RAM eMMC GBE USB3 M.2
|
||||
BOARD_NAME="Khadas VIM3"
|
||||
BOARDFAMILY="meson-g12b"
|
||||
BOARD_MAINTAINER="rpardini NicoD-SBC"
|
||||
BOARD_MAINTAINER="NicoD-SBC rpardini"
|
||||
BOOTCONFIG="khadas-vim3_defconfig"
|
||||
KERNEL_TARGET="current,edge"
|
||||
MODULES_BLACKLIST="simpledrm" # SimpleDRM conflicts with Panfrost on the VIM3
|
||||
FULL_DESKTOP="yes"
|
||||
SERIALCON="ttyAML0"
|
||||
BOOT_LOGO="desktop"
|
||||
BOOT_FDT_FILE="amlogic/meson-g12b-a311d-khadas-vim3.dtb" # there is also a s922x dtb, but vim3 is a311d only
|
||||
ASOUND_STATE="asound.state.khadas-vim3"
|
||||
|
||||
BOOTBRANCH_BOARD="tag:v2023.07-rc4"
|
||||
BOOTPATCHDIR="v2023.07"
|
||||
BOOTBRANCH_BOARD="tag:v2023.10"
|
||||
BOOTPATCHDIR="v2023.10" # this has 'board_khadas-vim3' which has a patch to boot USB/NVMe/SCSI first
|
||||
|
||||
declare -g KHADAS_OOWOW_BOARD_ID="VIM3" # for use with EXT=output-image-oowow
|
||||
|
||||
# To enable the SPI NOR the -spi .dtb is required, because eMMC shares a pin with SPI on the VIM3. To use it:
|
||||
# fdtfile=amlogic/meson-g12b-a311d-khadas-vim3-spinor.dtb # in armbianEnv.txt and reboot, then run armbian-install
|
||||
# After deploying to SPI-NOR/MTD, return back to the normal DTB, otherwise eMMC speed is impaired.
|
||||
UBOOT_TARGET_MAP="u-boot-dtb.img;;u-boot.bin.sd.bin:u-boot.bin u-boot-dtb.img u-boot-spi.bin:u-boot-spi.bin"
|
||||
write_uboot_platform_mtd() {
|
||||
dd if=$1/u-boot-spi.bin of=/dev/mtdblock0
|
||||
UBOOT_TARGET_MAP="u-boot-dtb.img;;u-boot.bin.sd.bin:u-boot.bin u-boot-dtb.img u-boot.bin:u-boot-spi.bin"
|
||||
|
||||
# Smarter/faster/better to-spi writer using flashcp (hopefully with --partition)
|
||||
function write_uboot_platform_mtd() {
|
||||
declare -a extra_opts_flashcp=("--verbose")
|
||||
if flashcp -h | grep -q -e '--partition'; then
|
||||
echo "Confirmed flashcp supports --partition -- read and write only changed blocks." >&2
|
||||
extra_opts_flashcp+=("--partition")
|
||||
else
|
||||
echo "flashcp does not support --partition, will write full SPI flash blocks." >&2
|
||||
fi
|
||||
flashcp "${extra_opts_flashcp[@]}" "${1}/u-boot-spi.bin" /dev/mtd0
|
||||
}
|
||||
|
||||
# Bring in some old FIP blobs for the VIM3, for use exclusively with SPI booting. See https://github.com/LibreELEC/amlogic-boot-fip/pull/10
|
||||
function fetch_sources_tools__libreelec_amlogic_fip_pre_vim3_blob_update() {
|
||||
fetch_from_repo "https://github.com/LibreELEC/amlogic-boot-fip" "amlogic-boot-fip-vim3-spi" "commit:f49ee39e1c6988b8ddb24f4e5a63286d133864cb" # pre-VIM3/3L DDR update
|
||||
}
|
||||
|
||||
function post_uboot_custom_postprocess__khadas_vim3_uboot_new_and_old_blobs() {
|
||||
# Preserve the u-boot produced (unsigned) u-boot.bin
|
||||
run_host_command_logged cp -v u-boot.bin u-boot.bin.orig
|
||||
|
||||
# Sign using the old FIP blobs (amlogic-boot-fip-vim3-spi), for use exclusively with SPI booting.
|
||||
display_alert "Signing u-boot for SPI booting with old blobs" "${BOARD}" "info"
|
||||
uboot_g12_postprocess "$SRC"/cache/sources/amlogic-boot-fip-vim3-spi/khadas-vim3 g12b
|
||||
|
||||
# Once done, store the resulting u-boot.bin as u-boot-spi.bin referenced in the UBOOT_TARGET_MAP above.
|
||||
run_host_command_logged cp -v u-boot.bin u-boot-spi.bin
|
||||
|
||||
# Restore the original, so we can do everything again.
|
||||
run_host_command_logged cp -v u-boot.bin.orig u-boot.bin
|
||||
|
||||
# Do the normal signing, using the regular/updated FIP blobs. This is for eMMC booting.
|
||||
display_alert "Signing u-boot for eMMC/SD booting with new blobs" "${BOARD}" "info"
|
||||
uboot_g12_postprocess "$SRC"/cache/sources/amlogic-boot-fip/khadas-vim3 g12b
|
||||
|
||||
display_alert "Done postprocessing u-boot with new/old FIP blobs" "${BOARD}" "info"
|
||||
# Khadas provided fixed FIP blobs for SPI, so we can now use the same blobs for both SPI and eMMC booting.
|
||||
# See https://github.com/armbian/build/pull/5386#issuecomment-1752400874
|
||||
# See https://github.com/LibreELEC/amlogic-boot-fip/pull/21
|
||||
function post_uboot_custom_postprocess__khadas_vim3_uboot() {
|
||||
display_alert "Signing u-boot FIP" "${BOARD}" "info"
|
||||
uboot_g12_postprocess "${SRC}"/cache/sources/amlogic-boot-fip/khadas-vim3 g12b
|
||||
}
|
||||
|
||||
@@ -10,41 +10,32 @@ BOOT_LOGO="desktop"
|
||||
BOOT_FDT_FILE="amlogic/meson-sm1-khadas-vim3l.dtb"
|
||||
ASOUND_STATE="asound.state.khadas-vim3l"
|
||||
|
||||
BOOTBRANCH_BOARD="tag:v2023.07-rc4"
|
||||
BOOTPATCHDIR="v2023.07"
|
||||
BOOTBRANCH_BOARD="tag:v2023.10"
|
||||
BOOTPATCHDIR="v2023.10" # this has 'board_khadas-vim3l' which has a patch to boot USB/NVMe/SCSI first
|
||||
|
||||
declare -g KHADAS_OOWOW_BOARD_ID="VIM3L" # for use with EXT=output-image-oowow
|
||||
|
||||
# To enable the SPI NOR the -spi .dtb is required, because eMMC shares a pin with SPI on the VIM3. To use it:
|
||||
# To enable the SPI NOR the -spi .dtb is required, because eMMC shares a pin with SPI on the VIM3L. To use it:
|
||||
# fdtfile=amlogic/meson-sm1-khadas-vim3l-spinor.dtb # in armbianEnv.txt and reboot, then run armbian-install
|
||||
# After deploying to SPI-NOR/MTD, return back to the normal DTB, otherwise eMMC speed is impaired.
|
||||
UBOOT_TARGET_MAP="u-boot-dtb.img;;u-boot.bin.sd.bin:u-boot.bin u-boot-dtb.img u-boot-spi.bin:u-boot-spi.bin"
|
||||
write_uboot_platform_mtd() {
|
||||
dd if=$1/u-boot-spi.bin of=/dev/mtdblock0
|
||||
UBOOT_TARGET_MAP="u-boot-dtb.img;;u-boot.bin.sd.bin:u-boot.bin u-boot-dtb.img u-boot.bin:u-boot-spi.bin"
|
||||
|
||||
# Smarter/faster/better to-spi writer using flashcp (hopefully with --partition)
|
||||
function write_uboot_platform_mtd() {
|
||||
declare -a extra_opts_flashcp=("--verbose")
|
||||
if flashcp -h | grep -q -e '--partition'; then
|
||||
echo "Confirmed flashcp supports --partition -- read and write only changed blocks." >&2
|
||||
extra_opts_flashcp+=("--partition")
|
||||
else
|
||||
echo "flashcp does not support --partition, will write full SPI flash blocks." >&2
|
||||
fi
|
||||
flashcp "${extra_opts_flashcp[@]}" "${1}/u-boot-spi.bin" /dev/mtd0
|
||||
}
|
||||
|
||||
# Bring in some old FIP blobs for the VIM3L, for use exclusively with SPI booting. See https://github.com/LibreELEC/amlogic-boot-fip/pull/10
|
||||
function fetch_sources_tools__libreelec_amlogic_fip_pre_vim3l_blob_update() {
|
||||
fetch_from_repo "https://github.com/LibreELEC/amlogic-boot-fip" "amlogic-boot-fip-vim3-spi" "commit:f49ee39e1c6988b8ddb24f4e5a63286d133864cb" # pre-VIM3/3L DDR update
|
||||
}
|
||||
|
||||
function post_uboot_custom_postprocess__khadas_vim3l_uboot_new_and_old_blobs() {
|
||||
# Preserve the u-boot produced (unsigned) u-boot.bin
|
||||
run_host_command_logged cp -v u-boot.bin u-boot.bin.orig
|
||||
|
||||
# Sign using the old FIP blobs (amlogic-boot-fip-vim3-spi), for use exclusively with SPI booting.
|
||||
display_alert "Signing u-boot for SPI booting with old blobs" "${BOARD}" "info"
|
||||
uboot_g12_postprocess "${SRC}"/cache/sources/amlogic-boot-fip-vim3-spi/khadas-vim3l g12a
|
||||
|
||||
# Once done, store the resulting u-boot.bin as u-boot-spi.bin referenced in the UBOOT_TARGET_MAP above.
|
||||
run_host_command_logged cp -v u-boot.bin u-boot-spi.bin
|
||||
|
||||
# Restore the original, so we can do everything again.
|
||||
run_host_command_logged cp -v u-boot.bin.orig u-boot.bin
|
||||
|
||||
# Do the normal signing, using the regular/updated FIP blobs. This is for eMMC booting.
|
||||
display_alert "Signing u-boot for eMMC/SD booting with new blobs" "${BOARD}" "info"
|
||||
# Khadas provided fixed FIP blobs for SPI, so we can now use the same blobs for both SPI and eMMC booting.
|
||||
# See https://github.com/armbian/build/pull/5386#issuecomment-1752400874
|
||||
# See https://github.com/LibreELEC/amlogic-boot-fip/pull/21
|
||||
function post_uboot_custom_postprocess__khadas_vim3l_uboot() {
|
||||
display_alert "Signing u-boot FIP" "${BOARD}" "info"
|
||||
uboot_g12_postprocess "${SRC}"/cache/sources/amlogic-boot-fip/khadas-vim3l g12a
|
||||
|
||||
display_alert "Done postprocessing u-boot with new/old FIP blobs" "${BOARD}" "info"
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
BOARD_NAME="Khadas VIM4"
|
||||
BOARDFAMILY="meson-s4t7"
|
||||
KERNEL_TARGET="legacy"
|
||||
BOARD_MAINTAINER="rpardini"
|
||||
BOARD_MAINTAINER="echatzip viraniac rpardini"
|
||||
SERIALCON="ttyS0" # for vendor kernel
|
||||
# BOOT_FDT_FILE="amlogic/kvim4.dtb" # not set on purpose; u-boot auto-selects kvim4.dtb or kvim4n.dtb for "new VIM4"
|
||||
|
||||
@@ -25,3 +25,10 @@ function post_family_tweaks_bsp__kvim4_isp_modprobe() {
|
||||
softdep iv009_isp pre: iv009_isp_iq iv009_isp_lens iv009_isp_sensor
|
||||
EOD
|
||||
}
|
||||
|
||||
function post_family_tweaks_bsp__enable_fan_service() {
|
||||
if [[ ${BRANCH} = "legacy" ]]; then
|
||||
run_host_command_logged mkdir -p "${destination}"/etc/systemd/system/mutli-user.target.wants
|
||||
run_host_command_logged ln -sf /etc/systemd/system/fan.service "${destination}"/etc/systemd/system/mutli-user.target.wants/fan.service
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -2,17 +2,22 @@
|
||||
BOARD_NAME="LicheePi 4A"
|
||||
BOARDFAMILY="thead"
|
||||
BOARD_MAINTAINER="chainsx"
|
||||
KERNEL_TARGET="legacy"
|
||||
BOOT_FDT_FILE="thead/light-lpi4a.dtb"
|
||||
KERNEL_TARGET="legacy,edge"
|
||||
BOOT_FDT_FILE="thead/th1520-lichee-pi-4a.dtb"
|
||||
SRC_EXTLINUX="yes"
|
||||
SRC_CMDLINE="console=ttyS0,115200 rootwait rw earlycon clk_ignore_unused loglevel=7 eth=$ethaddr rootrwoptions=rw,noatime rootrwreset=yes"
|
||||
SRC_CMDLINE="console=ttyS0,115200 rootwait rw earlycon clk_ignore_unused loglevel=7 eth=\$ethaddr rootrwoptions=rw,noatime rootrwreset=yes"
|
||||
BOOTCONFIG="light_lpi4a_defconfig"
|
||||
SKIP_BOOTSPLASH="yes"
|
||||
BOOTFS_TYPE="ext4"
|
||||
BOOTSIZE="512"
|
||||
|
||||
function post_family_tweaks__licheepi4a() {
|
||||
display_alert "Applying blobs"
|
||||
display_alert "Applying boot blobs"
|
||||
cp -v "$SRC/packages/blobs/riscv64/thead/light_aon_fpga.bin" "$SDCARD/boot/light_aon_fpga.bin"
|
||||
cp -v "$SRC/packages/blobs/riscv64/thead/light_c906_audio.bin" "$SDCARD/boot/light_c906_audio.bin"
|
||||
cp -v "$SRC/packages/blobs/riscv64/thead/fw_dynamic.bin" "$SDCARD/boot/fw_dynamic.bin"
|
||||
|
||||
display_alert "Temp add HDMI audio output on Volume control"
|
||||
mkdir -p $SDCARD/etc/pulse/
|
||||
echo "load-module module-alsa-sink device=hw:0,2" >> "$SDCARD/etc/pulse/default.pa"
|
||||
}
|
||||
|
||||
9
config/boards/mangopi-mq.eos
Normal file
9
config/boards/mangopi-mq.eos
Normal file
@@ -0,0 +1,9 @@
|
||||
# RISC-V Mangopi-MQ D1
|
||||
BOARD_NAME="Mangopi-MQ"
|
||||
BOARDFAMILY="d1"
|
||||
BOARD_MAINTAINER=""
|
||||
KERNEL_TARGET="edge"
|
||||
BOOT_FDT_FILE="allwinner/sun20i-d1-nezha.dtb"
|
||||
SRC_EXTLINUX="yes"
|
||||
SRC_CMDLINE="console=ttyS0,115200n8 console=tty0 earlycon=sbi cma=96M rootflags=data=writeback stmmaceth=chain_mode:1 rw"
|
||||
BOOTCONFIG="nezha_defconfig"
|
||||
@@ -1,9 +0,0 @@
|
||||
# RISC-V Mangopi-MQ D1
|
||||
BOARD_NAME="Mangopi-MQ"
|
||||
BOARDFAMILY="d1"
|
||||
BOARD_MAINTAINER="Zinput"
|
||||
KERNEL_TARGET="edge"
|
||||
BOOT_FDT_FILE="allwinner/sun20i-d1-nezha.dtb"
|
||||
SRC_EXTLINUX="yes"
|
||||
SRC_CMDLINE="console=ttyS0,115200n8 console=tty0 earlycon=sbi cma=96M rootflags=data=writeback stmmaceth=chain_mode:1 rw"
|
||||
BOOTCONFIG="nezha_defconfig"
|
||||
@@ -4,6 +4,7 @@ declare -g BOARDFAMILY="rockchip-rk3588"
|
||||
declare -g BOARD_MAINTAINER="monkaBlyat"
|
||||
declare -g KERNEL_TARGET="legacy"
|
||||
declare -g BOOT_FDT_FILE="rockchip/rk3588-blueberry-minipc-linux.dtb" # Specific to this board
|
||||
declare -g UEFI_EDK2_BOARD_ID="r58-mini" # This _only_ used for uefi-edk2-rk3588 extension
|
||||
|
||||
# Source vendor-specific configuration
|
||||
source "${SRC}/config/sources/vendors/mekotronics/mekotronics-rk3588.conf.sh"
|
||||
|
||||
@@ -4,6 +4,10 @@ declare -g BOARDFAMILY="rockchip-rk3588"
|
||||
declare -g BOARD_MAINTAINER="monkaBlyat"
|
||||
declare -g KERNEL_TARGET="legacy"
|
||||
declare -g BOOT_FDT_FILE="rockchip/rk3588-blueberry-edge-v12-linux.dtb" # Specific to this board
|
||||
declare -g UEFI_EDK2_BOARD_ID="r58x" # This _only_ used for uefi-edk2-rk3588 extension
|
||||
|
||||
# Source vendor-specific configuration
|
||||
source "${SRC}/config/sources/vendors/mekotronics/mekotronics-rk3588.conf.sh"
|
||||
|
||||
# Board-specific override
|
||||
declare -g BOOTCONFIG="rk3588_meko_r58x_defconfig" # specific, with nvme
|
||||
|
||||
13
config/boards/mekotronics-r58x-pro.csc
Normal file
13
config/boards/mekotronics-r58x-pro.csc
Normal file
@@ -0,0 +1,13 @@
|
||||
# Rockchip RK3588 SoC octa core 4-16GB SoC 2x1GBe eMMC USB3 NVMe SATA WiFi/BT HDMI DP HDMI-In RS232 RS485 LCD RotaryEncoder
|
||||
declare -g BOARD_NAME="Mekotronics R58X-Pro"
|
||||
declare -g BOARDFAMILY="rockchip-rk3588"
|
||||
declare -g BOARD_MAINTAINER=""
|
||||
declare -g KERNEL_TARGET="legacy"
|
||||
declare -g BOOT_FDT_FILE="rockchip/rk3588-blueberry-edge-v12-maizhuo-linux.dtb" # Specific to this board
|
||||
declare -g UEFI_EDK2_BOARD_ID="r58x" # This _only_ used for uefi-edk2-rk3588 extension
|
||||
|
||||
# Source vendor-specific configuration
|
||||
source "${SRC}/config/sources/vendors/mekotronics/mekotronics-rk3588.conf.sh"
|
||||
|
||||
# Board-specific override
|
||||
declare -g BOOTCONFIG="rk3588_meko_r58x_defconfig" # specific, with nvme
|
||||
@@ -4,6 +4,7 @@ declare -g BOARDFAMILY="rockchip-rk3588"
|
||||
declare -g BOARD_MAINTAINER="monkaBlyat"
|
||||
declare -g KERNEL_TARGET="legacy"
|
||||
declare -g BOOT_FDT_FILE="rockchip/rk3588-blueberry-edge-v10-linux.dtb" # Specific to this board
|
||||
declare -g UEFI_EDK2_BOARD_ID="r58x" # This _only_ used for uefi-edk2-rk3588 extension
|
||||
|
||||
# Source vendor-specific configuration
|
||||
source "${SRC}/config/sources/vendors/mekotronics/mekotronics-rk3588.conf.sh"
|
||||
|
||||
@@ -9,6 +9,7 @@ declare -g BOOT_SCENARIO="spl-blobs" # so we don't depend on defconfig naming co
|
||||
declare -g BOOT_SOC="rk3588" # so we don't depend on defconfig naming convention
|
||||
declare -g BOOTCONFIG="blade3_defconfig"
|
||||
declare -g IMAGE_PARTITION_TABLE="gpt"
|
||||
declare -g UEFI_EDK2_BOARD_ID="blade3" # This _only_ used for uefi-edk2-rk3588 extension
|
||||
|
||||
# newer blobs from rockchip. tested to work.
|
||||
# set as variables, early, so they're picked up by `prepare_boot_configuration()`
|
||||
@@ -18,8 +19,8 @@ declare -g BL31_BLOB='rk35/rk3588_bl31_v1.38.elf'
|
||||
# post_family_config hook which only runs when branch is legacy.
|
||||
function post_family_config_branch_legacy__uboot_mixtile() {
|
||||
display_alert "$BOARD" "Configuring Mixtile u-boot" "info"
|
||||
declare -g BOOTSOURCE='https://github.com/rockchip-linux/u-boot.git'
|
||||
declare -g BOOTBRANCH="commit:cc781e0266d589b937b5af9e4850fb1e7222f0f1" # specific commit in next-dev branch; tested to work
|
||||
declare -g BOOTSOURCE='https://github.com/radxa/u-boot.git'
|
||||
declare -g BOOTBRANCH="commit:ddc91cd08c10f625f7a7c93033042aa4071c78a8" # specific commit in next-dev branch
|
||||
declare -g OVERLAY_PREFIX='rockchip-rk3588'
|
||||
declare -g BOOTDIR="u-boot-${BOARD}" # do not share u-boot directory
|
||||
declare -g BOOTPATCHDIR="legacy/u-boot-mixtile-rk3588" # Few patches in there; defconfig & PD hacks
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
# Rockchip RK3399 hexa core 4GB RAM SoC GBE USB3 USB-C WiFi/BT eMMC NVMe
|
||||
BOARD_NAME="NanoPC T4"
|
||||
BOARDFAMILY="rockchip64"
|
||||
BOARD_MAINTAINER=""
|
||||
BOOTCONFIG="nanopc-t4-rk3399_defconfig"
|
||||
KERNEL_TARGET="current,edge"
|
||||
FULL_DESKTOP="yes"
|
||||
@@ -10,20 +11,3 @@ BOOT_FDT_FILE="rockchip/rk3399-nanopc-t4.dtb"
|
||||
BOOT_SCENARIO="spl-blobs"
|
||||
SRC_EXTLINUX="yes"
|
||||
SRC_CMDLINE="console=ttyS2,1500000 console=tty0"
|
||||
|
||||
function post_family_tweaks_bsp__nanopc-t4_BSP() {
|
||||
display_alert "Installing BSP firmware and fixups"
|
||||
|
||||
if [[ $BRANCH == legacy ]]; then
|
||||
|
||||
# Bluetooth for most of others (custom patchram is needed only in legacy)
|
||||
install -m 755 $SRC/packages/bsp/rk3399/brcm_patchram_plus_rk3399 $destination/usr/bin
|
||||
cp $SRC/packages/bsp/rk3399/rk3399-bluetooth.service $destination/lib/systemd/system/
|
||||
|
||||
# need to swap chips in the service
|
||||
sed -i s%BCM4345C5%BCM4356A2%g $destination/lib/systemd/system/rk3399-bluetooth.service
|
||||
|
||||
fi
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
@@ -14,12 +14,13 @@ BOOT_SPI_RKSPI_LOADER="yes"
|
||||
IMAGE_PARTITION_TABLE="gpt"
|
||||
SKIP_BOOTSPLASH="yes" # Skip boot splash patch, conflicts with CONFIG_VT=yes
|
||||
BOOTFS_TYPE="fat"
|
||||
declare -g UEFI_EDK2_BOARD_ID="nanopc-t6" # This _only_ used for uefi-edk2-rk3588 extension
|
||||
|
||||
function post_family_tweaks__nanopct6_naming_audios() {
|
||||
display_alert "$BOARD" "Renaming nanopct6 audio" "info"
|
||||
|
||||
mkdir -p $SDCARD/etc/udev/rules.d/
|
||||
echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-hdmi0-sound", ENV{SOUND_DESCRIPTION}="HDMI0 Audio"' >$SDCARD/etc/udev/rules.d/90-naming-audios.rules
|
||||
echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-hdmi0-sound", ENV{SOUND_DESCRIPTION}="HDMI0 Audio"' > $SDCARD/etc/udev/rules.d/90-naming-audios.rules
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
BOARD_NAME="NanoPi R1"
|
||||
BOARDFAMILY="sun8i"
|
||||
BOARD_MAINTAINER=""
|
||||
BOOTCONFIG="nanopi_neo_defconfig"
|
||||
BOOTCONFIG="nanopi_r1_defconfig"
|
||||
MODULES="g_serial"
|
||||
MODULES_BLACKLIST="lima"
|
||||
DEFAULT_OVERLAYS="usbhost0 usbhost1 uart1"
|
||||
|
||||
48
config/boards/nanopi-r5s.csc
Normal file
48
config/boards/nanopi-r5s.csc
Normal file
@@ -0,0 +1,48 @@
|
||||
# Rockchip RK3568 quad core 4GB eMMC USB3 USB2 1x GbE 2x 2.5GbE NVME
|
||||
BOARD_NAME="NanoPi R5S"
|
||||
BOARDFAMILY="rk3568-odroid" # Mooching rk3568-odroid family for freshness for now. Uses rockchip64_common for most stuff.
|
||||
BOARD_MAINTAINER="utlark"
|
||||
BOOT_SOC="rk3568"
|
||||
KERNEL_TARGET="edge"
|
||||
BOOT_FDT_FILE="rockchip/rk3568-nanopi-r5s.dtb"
|
||||
SRC_EXTLINUX="no"
|
||||
ASOUND_STATE="asound.state.station-m2" # TODO verify me
|
||||
IMAGE_PARTITION_TABLE="gpt"
|
||||
FULL_DESKTOP="yes"
|
||||
BOOT_LOGO="desktop"
|
||||
|
||||
BOOTSOURCE="https://github.com/Kwiboo/u-boot-rockchip.git" # also following kwiboo's uboot due to his rk3568 work
|
||||
BOOTBRANCH_BOARD="commit:a6e84f9f5b90ff0fa3ac4e6b7e0d6e2c3ac9bb1b" # specific commit, from "branch:rk3568-2023.10" which is v2023.10-rc2 + kwiboo's patches (including GMAC)
|
||||
BOOTPATCHDIR="v2023.10"
|
||||
BOOTCONFIG="nanopi-r5s-rk3568_defconfig"
|
||||
BOOTDIR="u-boot-${BOARD}" # do not share u-boot directory
|
||||
|
||||
DEFAULT_OVERLAYS="nanopi-r5s-leds"
|
||||
|
||||
# Newer blobs...
|
||||
RKBIN_GIT_URL="https://github.com/rpardini/armbian-rkbin.git"
|
||||
RKBIN_GIT_BRANCH="update-3568-blobs"
|
||||
DDR_BLOB="rk35/rk3568_ddr_1560MHz_v1.18.bin"
|
||||
BL31_BLOB="rk35/rk3568_bl31_v1.43.elf"
|
||||
|
||||
function post_family_config__uboot_config() {
|
||||
display_alert "$BOARD" "u-boot ${BOOTBRANCH_BOARD} overrides" "info"
|
||||
BOOTDELAY=2 # Wait for UART interrupt to enter UMS/RockUSB mode etc
|
||||
UBOOT_TARGET_MAP="ROCKCHIP_TPL=${RKBIN_DIR}/${DDR_BLOB} BL31=$RKBIN_DIR/$BL31_BLOB spl/u-boot-spl u-boot.bin flash.bin;;idbloader.img u-boot.itb"
|
||||
}
|
||||
|
||||
function add_host_dependencies__new_uboot_wants_python3() {
|
||||
declare -g EXTRA_BUILD_DEPS="${EXTRA_BUILD_DEPS} python3-pyelftools" # @TODO: convert to array later
|
||||
}
|
||||
|
||||
function post_family_tweaks__nanopir5s_udev_network_interfaces() {
|
||||
display_alert "$BOARD" "Renaming interfaces WAN LAN1 LAN2" "info"
|
||||
|
||||
mkdir -p $SDCARD/etc/udev/rules.d/
|
||||
cat << EOF > "${SDCARD}/etc/udev/rules.d/70-persistent-net.rules"
|
||||
SUBSYSTEM=="net", ACTION=="add", KERNELS=="fe2a0000.ethernet", NAME:="wan"
|
||||
SUBSYSTEM=="net", ACTION=="add", KERNELS=="0000:01:00.0", NAME:="lan1"
|
||||
SUBSYSTEM=="net", ACTION=="add", KERNELS=="0001:01:00.0", NAME:="lan2"
|
||||
EOF
|
||||
|
||||
}
|
||||
@@ -4,7 +4,7 @@ BOARDFAMILY="rockchip-rk3588"
|
||||
BOARD_MAINTAINER="efectn"
|
||||
BOOTCONFIG="nanopi-r6s-rk3588s_defconfig" # vendor name, not standard, see hook below, set BOOT_SOC below to compensate
|
||||
BOOT_SOC="rk3588"
|
||||
KERNEL_TARGET="legacy"
|
||||
KERNEL_TARGET="legacy,edge"
|
||||
FULL_DESKTOP="yes"
|
||||
BOOT_LOGO="desktop"
|
||||
BOOT_FDT_FILE="rockchip/rk3588s-nanopi-r6s.dtb"
|
||||
@@ -14,12 +14,25 @@ SKIP_BOOTSPLASH="yes" # Skip boot splash patch, conflicts with CONFIG_VT=yes
|
||||
BOOTFS_TYPE="fat"
|
||||
DDR_BLOB='rk35/rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v1.11.bin'
|
||||
BL31_BLOB='rk35/rk3588_bl31_v1.38.elf'
|
||||
declare -g UEFI_EDK2_BOARD_ID="nanopi-r6s" # This _only_ used for uefi-edk2-rk3588 extension
|
||||
|
||||
function post_family_tweaks__nanopir6s_naming_audios() {
|
||||
display_alert "$BOARD" "Renaming nanopir6s audio" "info"
|
||||
|
||||
mkdir -p $SDCARD/etc/udev/rules.d/
|
||||
echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-hdmi0-sound", ENV{SOUND_DESCRIPTION}="HDMI0 Audio"' >$SDCARD/etc/udev/rules.d/90-naming-audios.rules
|
||||
echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-hdmi0-sound", ENV{SOUND_DESCRIPTION}="HDMI0 Audio"' > $SDCARD/etc/udev/rules.d/90-naming-audios.rules
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
function post_family_tweaks__nanopir6s_udev_network_interfaces() {
|
||||
display_alert "$BOARD" "Renaming interfaces WAN LAN1 LAN2" "info"
|
||||
|
||||
mkdir -p $SDCARD/etc/udev/rules.d/
|
||||
cat << EOF > "${SDCARD}/etc/udev/rules.d/70-persistent-net.rules"
|
||||
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", KERNELS=="fe1c0000.ethernet", NAME:="wan"
|
||||
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="r8169", KERNELS=="0003:31:00.0", NAME:="lan1"
|
||||
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="r8169", KERNELS=="0004:41:00.0", NAME:="lan2"
|
||||
EOF
|
||||
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Allwinner H3 quad core 512MB RAM SoC headless WiFi/BT eMMC
|
||||
BOARD_NAME="NanoPi Air"
|
||||
BOARDFAMILY="sun8i"
|
||||
BOARD_MAINTAINER=""
|
||||
BOARD_MAINTAINER="1ubuntuuser"
|
||||
BOOTCONFIG="nanopi_neo_air_defconfig"
|
||||
MODULES="g_serial"
|
||||
MODULES_BLACKLIST="lima"
|
||||
|
||||
@@ -1,32 +1,81 @@
|
||||
# Rockchip RK3568 quad core 4GB-8GB GBE PCIe USB3 SATA NVMe
|
||||
BOARD_NAME="ODROID M1"
|
||||
BOARDFAMILY="rk3568-odroid" # Separate kernel, has its own family. Uses rockchip64_common for most stuff.
|
||||
BOARDFAMILY="rk3568-odroid" # Separate kernel, has its own family. Uses rockchip64_common for most stuff.
|
||||
BOARD_MAINTAINER="rpardini"
|
||||
BOOT_SOC="rk3568" # This determined BOOT_SCENARIO et al.
|
||||
KERNEL_TARGET="edge" # Only mainline based kernel
|
||||
BOOT_FDT_FILE="rockchip/rk3568-odroid-m1.dtb" # HK's DTB
|
||||
SRC_EXTLINUX="no" # NO EXTLINUX! Family defines a custom bootscript too.
|
||||
ASOUND_STATE="asound.state.station-m2" # @TODO: probably should fix this later.
|
||||
IMAGE_PARTITION_TABLE="gpt" # HK's bootloader in SPI requires GPT partition table.
|
||||
DDR_BLOB="rk35/rk3568_ddr_1560MHz_v1.10.bin" # Real blob, is actually used. in rkbin repository. HK uses 1.09, 1.10 seems to work just as well.
|
||||
BL31_BLOB="rk35/rk356x_usbplug_v1.10.bin--FAKE" # Not really used for anything, as the name proves.
|
||||
BOOT_SOC="rk3568"
|
||||
KERNEL_TARGET="edge"
|
||||
BOOT_FDT_FILE="rockchip/rk3568-odroid-m1.dtb"
|
||||
SRC_EXTLINUX="no"
|
||||
ASOUND_STATE="asound.state.station-m2"
|
||||
IMAGE_PARTITION_TABLE="gpt"
|
||||
FULL_DESKTOP="yes"
|
||||
BOOT_LOGO="desktop"
|
||||
|
||||
# Include fw_setenv, configured to point to Petitboot's u-env mtd partition, so users can re-enable Petitboot
|
||||
# with `fw_setenv skip_spiboot false` in Armbian.
|
||||
PACKAGE_LIST_BOARD="libubootenv-tool" # libubootenv-tool provides fw_printenv and fw_setenv, for talking to U-Boot environment / Petitboot
|
||||
BOOTSOURCE="https://github.com/Kwiboo/u-boot-rockchip.git"
|
||||
BOOTBRANCH_BOARD="commit:a6e84f9f5b90ff0fa3ac4e6b7e0d6e2c3ac9bb1b" # specific commit, from "branch:rk3568-2023.10" which is v2023.10-rc2 + kwiboo's patches (including GMAC)
|
||||
BOOTPATCHDIR="v2023.10"
|
||||
BOOTCONFIG="odroid-m1-rk3568_defconfig"
|
||||
BOOTDIR="u-boot-${BOARD}" # do not share u-boot directory
|
||||
|
||||
# Newer blobs...
|
||||
DDR_BLOB="rk35/rk3568_ddr_1560MHz_v1.18.bin"
|
||||
BL31_BLOB="rk35/rk3568_bl31_v1.43.elf"
|
||||
|
||||
# HK's SPI partition on MTD:
|
||||
# mtd0: start 0 size 917.504 end 917.504 : SPL == start 0x0 size 0xe0000 : SPL
|
||||
# mtd1: start 917.504 size 131.072 end 1.048.576 : U-Boot Env == start 0xe0000 size 0x20000 : U-Boot Env
|
||||
# mtd2: start 1.048.576 size 2.097.152 end 3.145.728 : U-Boot == start 0x100000 size 0x200000 : U-Boot
|
||||
function post_family_config__uboot_config() {
|
||||
display_alert "$BOARD" "u-boot ${BOOTBRANCH_BOARD} overrides" "info"
|
||||
BOOTDELAY=2 # Wait for UART interrupt to enter UMS/RockUSB mode etc
|
||||
UBOOT_TARGET_MAP="BL31=${RKBIN_DIR}/$BL31_BLOB ROCKCHIP_TPL=${RKBIN_DIR}/${DDR_BLOB};;u-boot-rockchip.bin u-boot-rockchip-spi.bin u-boot.itb idbloader.img idbloader-spi.img"
|
||||
unset uboot_custom_postprocess write_uboot_platform write_uboot_platform_mtd # disable stuff from rockchip64_common; we're using binman here which does all the work already
|
||||
|
||||
# Just use the binman-provided u-boot-rockchip.bin, which is ready-to-go
|
||||
function write_uboot_platform() {
|
||||
dd if=${1}/u-boot-rockchip.bin of=${2} bs=32k seek=1 conv=fsync
|
||||
}
|
||||
|
||||
# We don't use u-boot-rockchip-spi.bin here; instead, write SPL and u-boot individually
|
||||
# If we're deinfesting from Petitboot, clear the environment too; PREBOOT will save a new one for mainline
|
||||
function write_uboot_platform_mtd() {
|
||||
declare -a extra_opts_flashcp=("--verbose")
|
||||
# -p is: "read the flash and only write blocks that are actually different"
|
||||
# if on bullseye et al, flashcp/mtd-utils is old, and doesn't have --partition/-p
|
||||
if flashcp -h | grep -q -e '--partition'; then
|
||||
echo "Confirmed flashcp supports --partition -- read and write only changed blocks." >&2
|
||||
extra_opts_flashcp+=("--partition")
|
||||
else
|
||||
echo "flashcp does not support --partition, will write full SPI flash blocks." >&2
|
||||
fi
|
||||
flashcp "${extra_opts_flashcp[@]}" "${1}/idbloader-spi.img" /dev/mtd0 # write SPL
|
||||
flashcp "${extra_opts_flashcp[@]}" "${1}/u-boot.itb" /dev/mtd2 # write u-boot
|
||||
if fw_printenv | grep -q -i petitboot; then # Petitboot leaves a horrible env behind, clear it off if so
|
||||
echo "Found traces of Petitboot in SPI u-boot environment, clearing SPI environment..." >&2
|
||||
flash_erase /dev/mtd1 0 0 # clear u-boot env
|
||||
fi
|
||||
}
|
||||
}
|
||||
|
||||
function add_host_dependencies__new_uboot_wants_python3_odroidm1() {
|
||||
declare -g EXTRA_BUILD_DEPS="${EXTRA_BUILD_DEPS} python3-pyelftools" # @TODO: convert to array later
|
||||
}
|
||||
|
||||
# Include fw_setenv, configured to point to Petitboot's u-env mtd partition
|
||||
PACKAGE_LIST_BOARD="libubootenv-tool" # libubootenv-tool provides fw_printenv and fw_setenv, for talking to U-Boot environment
|
||||
|
||||
function post_family_tweaks__config_odroidm1_fwenv() {
|
||||
display_alert "Configuring fw_printenv and fw_setenv" "for Odroid M1" "info"
|
||||
# Addresses below come from
|
||||
# - https://github.com/hardkernel/u-boot/blob/356906e6445378a45ac14ec184fc6e666b22338a/configs/odroid_rk3568_defconfig#L212-L213
|
||||
# - https://github.com/torvalds/linux/blob/master/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts#L637-L662
|
||||
# - (we use mainline, not vendor, so this is only for reference)
|
||||
# https://github.com/hardkernel/u-boot/blob/356906e6445378a45ac14ec184fc6e666b22338a/configs/odroid_rk3568_defconfig#L212-L213
|
||||
# - (armbian's uboot patches try to keep this mtd partition layout valid)
|
||||
# https://github.com/torvalds/linux/blob/master/arch/arm64/boot/dts/rockchip/rk3568-odroid-m1.dts#L637-L662
|
||||
# The kernel DT has a convenient partition table, so mtd1 is ready to use, just gotta set the size.
|
||||
|
||||
cat <<- 'FW_ENV_CONFIG' > "${SDCARD}"/etc/fw_env.config
|
||||
# MTD on the SPI for the Odroid-M1; this requires the MTD partition table in the board kernel DTS
|
||||
# MTD device name Device offset Env. size Flash sector size Number of sectors
|
||||
/dev/mtd1 0x0000 0x20000
|
||||
/dev/mtd1 0x0000 0x20000
|
||||
FW_ENV_CONFIG
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Amlogic S922X hexa core 2GB/4GB RAM SoC 1.8-2.4Ghz eMMC GBE USB3 SPI RTC
|
||||
BOARD_NAME="Odroid N2"
|
||||
BOARDFAMILY="meson-g12b"
|
||||
BOARD_MAINTAINER=""
|
||||
BOARD_MAINTAINER="NicoD-SBC"
|
||||
KERNEL_TARGET="current,edge"
|
||||
FULL_DESKTOP="yes"
|
||||
FORCE_BOOTSCRIPT_UPDATE="yes"
|
||||
|
||||
16
config/boards/odroidn2l.csc
Normal file
16
config/boards/odroidn2l.csc
Normal file
@@ -0,0 +1,16 @@
|
||||
# Amlogic S922X hexa core 2GB/4GB RAM SoC 1.8-2.4Ghz eMMC GBE USB3 SPI RTC
|
||||
BOARD_NAME="Odroid N2L"
|
||||
BOARDFAMILY="meson-g12b"
|
||||
BOARD_MAINTAINER=""
|
||||
KERNEL_TARGET="edge" # @TODO: DTB for N2L is only in 6.3+; add current when we bump it to 6.3 or newer.
|
||||
FULL_DESKTOP="yes"
|
||||
BOOT_LOGO="desktop"
|
||||
BOOTCONFIG="odroid-n2l_defconfig"
|
||||
|
||||
BOOTBRANCH_BOARD="tag:v2023.10"
|
||||
BOOTPATCHDIR="v2023.10" # this has 'board_odroidn2l' which has a patch to boot USB/NVMe/SCSI first
|
||||
|
||||
# U-boot has detection code for the ODROID boards, but NOT for the n2l, at least until 23.10-rc2.
|
||||
# See https://github.com/u-boot/u-boot/blob/v2023.10-rc2/board/amlogic/odroid-n2/odroid-n2.c
|
||||
# Thus we need to set BOOT_FDT_FILE explicitly.
|
||||
BOOT_FDT_FILE="amlogic/meson-g12b-odroid-n2l.dtb"
|
||||
@@ -6,3 +6,4 @@ BOOTCONFIG="odroid-xu4_defconfig"
|
||||
SERIALCON="ttySAC2"
|
||||
KERNEL_TARGET="current,edge"
|
||||
FULL_DESKTOP="yes"
|
||||
KERNEL_TEST_TARGET="current"
|
||||
|
||||
@@ -20,4 +20,4 @@ BOOTCONFIG="teres_i_defconfig"
|
||||
|
||||
# NOTE(Krey): Pulseaudio is needed for the audio to work especially in pipewire configuration, I wasn't able to make it work just off of ALSA
|
||||
PACKAGE_LIST_BOARD="pulseaudio"
|
||||
CRUSTCONFIG="a64_defconfig"
|
||||
CRUSTCONFIG="teres_i_defconfig"
|
||||
|
||||
@@ -57,17 +57,17 @@ if [[ $BRANCH == legacy ]]; then
|
||||
|
||||
fi
|
||||
|
||||
# add a network rule to work-around Debian issues with two NICs on one network.
|
||||
display_alert "Creating board support network rename rule to work-around Debian issues for orangepi-r1-plus-lts"
|
||||
# add a network rule to work-around RTL8153B initialization issue.
|
||||
display_alert "Creating board support network rename rule to work-around RTL8153B initialization issue for orangepi-r1-plus-lts"
|
||||
mkdir -p "${destination}"/etc/udev/rules.d/
|
||||
cat <<- EOF > "${destination}"/etc/udev/rules.d/70-rename-lan.rules
|
||||
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", KERNEL=="end*", NAME="eth0"
|
||||
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="r8152", KERNEL=="e*", NAME="lan0", \
|
||||
RUN+="/usr/sbin/ip link set lan0 down", \
|
||||
RUN+="/usr/sbin/ip link set eth0 down", \
|
||||
RUN+="/usr/bin/sleep 7s ", \
|
||||
RUN+="/usr/bin/sleep 5s ", \
|
||||
RUN+="/usr/sbin/ip link set eth0 up", \
|
||||
RUN+="/usr/bin/sleep 11s ", \
|
||||
RUN+="/usr/bin/sleep 25s ", \
|
||||
RUN+="/usr/sbin/ip link set lan0 up"
|
||||
EOF
|
||||
}
|
||||
|
||||
@@ -3,8 +3,8 @@ BOARD_NAME="Orange Pi 3 LTS"
|
||||
BOARDFAMILY="sun50iw6"
|
||||
BOARD_MAINTAINER=""
|
||||
BOOTCONFIG="orangepi_3_lts_defconfig"
|
||||
BOOT_LOGO="desktop"
|
||||
KERNEL_TARGET="current,edge"
|
||||
KERNEL_TEST_TARGET="current,edge"
|
||||
MODULES="sprdbt_tty sprdwl_ng"
|
||||
MODULES_BLACKLIST_LEGACY="bcmdhd"
|
||||
CRUSTCONFIG="h6_defconfig"
|
||||
MODULES="sprdbt_tty"
|
||||
CRUSTCONFIG="orangepi_3_lts_defconfig"
|
||||
|
||||
@@ -6,4 +6,4 @@ BOOTCONFIG="orangepi_3_defconfig"
|
||||
KERNEL_TARGET="legacy,current,edge"
|
||||
KERNEL_TEST_TARGET="current,edge"
|
||||
FULL_DESKTOP="yes"
|
||||
CRUSTCONFIG="h6_defconfig"
|
||||
CRUSTCONFIG="orangepi_3_defconfig"
|
||||
|
||||
74
config/boards/orangepi3b.csc
Normal file
74
config/boards/orangepi3b.csc
Normal file
@@ -0,0 +1,74 @@
|
||||
# Rockchip RK3566 quad core 4/8GB RAM SoC WIFI/BT eMMC USB2 USB3 NVMe PCIe GbE HDMI SPI
|
||||
BOARD_NAME="orangepi3b"
|
||||
BOARDFAMILY="rk35xx"
|
||||
BOARD_MAINTAINER=""
|
||||
BOOTCONFIG="orangepi-3b-rk3566_defconfig"
|
||||
BOOT_SOC="rk3566"
|
||||
KERNEL_TARGET="legacy,edge"
|
||||
FULL_DESKTOP="yes"
|
||||
BOOT_LOGO="desktop"
|
||||
BOOT_FDT_FILE="rockchip/rk3566-orangepi-3b.dtb"
|
||||
IMAGE_PARTITION_TABLE="gpt"
|
||||
BOOT_SCENARIO="spl-blobs"
|
||||
BOOT_SUPPORT_SPI="yes"
|
||||
BOOT_SPI_RKSPI_LOADER="yes"
|
||||
MODULES="sprdbt_tty sprdwl_ng"
|
||||
MODULES_BLACKLIST_LEGACY="bcmdhd"
|
||||
|
||||
# Newer blobs. Tested to work with opi3b
|
||||
DDR_BLOB="rk35/rk3566_ddr_1056MHz_v1.18.bin"
|
||||
BL31_BLOB="rk35/rk3568_bl31_v1.43.elf" # NOT a typo, bl31 is shared across 68 and 66
|
||||
ROCKUSB_BLOB="rk35/rk3566_spl_loader_1.14.bin" # For `EXT=rkdevflash` flashing
|
||||
|
||||
# Override family config for this board; let's avoid conditionals in family config.
|
||||
function post_family_config__orangepi3b_use_mainline_uboot() {
|
||||
display_alert "$BOARD" "mainline u-boot overrides" "info"
|
||||
|
||||
BOOTSOURCE="https://github.com/Kwiboo/u-boot-rockchip.git"
|
||||
BOOTBRANCH="commit:63073b4af636146d26a7f0f258610eed060c8f34" # specific commit, from "branch:rk3568-2023.10"
|
||||
BOOTDIR="u-boot-${BOARD}" # do not share u-boot directory
|
||||
BOOTPATCHDIR="v2023.10-orangepi3b" # empty, patches are already in Kwiboo's branch:rk3568-2023.10
|
||||
|
||||
BOOTDELAY=1 # Wait for UART interrupt to enter UMS/RockUSB mode etc
|
||||
UBOOT_TARGET_MAP="BL31=${RKBIN_DIR}/${BL31_BLOB} ROCKCHIP_TPL=${RKBIN_DIR}/${DDR_BLOB};;u-boot-rockchip.bin u-boot-rockchip-spi.bin u-boot.itb idbloader.img idbloader-spi.img"
|
||||
unset uboot_custom_postprocess write_uboot_platform write_uboot_platform_mtd # disable stuff from rockchip64_common; we're using binman here which does all the work already
|
||||
|
||||
# Just use the binman-provided u-boot-rockchip.bin, which is ready-to-go
|
||||
function write_uboot_platform() {
|
||||
dd if=${1}/u-boot-rockchip.bin of=${2} bs=32k seek=1 conv=fsync
|
||||
}
|
||||
|
||||
# Smarter/faster/better to-spi writer using flashcp (hopefully with --partition), using the binman-provided 'u-boot-rockchip-spi.bin'
|
||||
function write_uboot_platform_mtd() {
|
||||
declare -a extra_opts_flashcp=("--verbose")
|
||||
if flashcp -h | grep -q -e '--partition'; then
|
||||
echo "Confirmed flashcp supports --partition -- read and write only changed blocks." >&2
|
||||
extra_opts_flashcp+=("--partition")
|
||||
else
|
||||
echo "flashcp does not support --partition, will write full SPI flash blocks." >&2
|
||||
fi
|
||||
flashcp "${extra_opts_flashcp[@]}" "${1}/u-boot-rockchip-spi.bin" /dev/mtd0
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function add_host_dependencies__new_uboot_wants_python3_orangepi3b() {
|
||||
declare -g EXTRA_BUILD_DEPS="${EXTRA_BUILD_DEPS} python3-pyelftools" # @TODO: convert to array later
|
||||
}
|
||||
|
||||
function post_family_tweaks_bsp__orangepi3b() {
|
||||
display_alert "$BOARD" "Installing sprd-bluetooth.service" "info"
|
||||
|
||||
# Bluetooth on orangepi3b board is handled by a Spreadtrum (sprd) chip and requires
|
||||
# a custom hciattach_opi binary, plus a systemd service to run it at boot time
|
||||
install -m 755 $SRC/packages/bsp/rk3399/hciattach_opi $destination/usr/bin
|
||||
cp $SRC/packages/bsp/rk3399/sprd-bluetooth.service $destination/lib/systemd/system/
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
function post_family_tweaks__orangepi3b_enable_services() {
|
||||
display_alert "$BOARD" "Enabling sprd-bluetooth.service" "info"
|
||||
chroot_sdcard systemctl enable sprd-bluetooth.service
|
||||
return 0
|
||||
}
|
||||
@@ -5,6 +5,7 @@ BOARD_MAINTAINER="efectn"
|
||||
BOOTCONFIG="orangepi_5_plus_defconfig" # vendor name, not standard, see hook below, set BOOT_SOC below to compensate
|
||||
BOOT_SOC="rk3588"
|
||||
KERNEL_TARGET="legacy,edge"
|
||||
KERNEL_TEST_TARGET="legacy"
|
||||
FULL_DESKTOP="yes"
|
||||
BOOT_LOGO="desktop"
|
||||
BOOT_FDT_FILE="rockchip/rk3588-orangepi-5-plus.dtb"
|
||||
@@ -14,7 +15,7 @@ BOOT_SPI_RKSPI_LOADER="yes"
|
||||
IMAGE_PARTITION_TABLE="gpt"
|
||||
SKIP_BOOTSPLASH="yes" # Skip boot splash patch, conflicts with CONFIG_VT=yes
|
||||
BOOTFS_TYPE="ext4"
|
||||
|
||||
declare -g UEFI_EDK2_BOARD_ID="orangepi-5plus" # This _only_ used for uefi-edk2-rk3588 extension
|
||||
|
||||
function post_family_tweaks__orangepi5plus_naming_audios() {
|
||||
display_alert "$BOARD" "Renaming orangepi5 audios" "info"
|
||||
|
||||
@@ -6,6 +6,7 @@ BOOTCONFIG="orangepi_5_defconfig" # vendor name, not standard, see hook below, s
|
||||
BOOTCONFIG_SATA="orangepi_5_sata_defconfig"
|
||||
BOOT_SOC="rk3588"
|
||||
KERNEL_TARGET="legacy,edge"
|
||||
KERNEL_TEST_TARGET="legacy"
|
||||
FULL_DESKTOP="yes"
|
||||
BOOT_LOGO="desktop"
|
||||
BOOT_FDT_FILE="rockchip/rk3588s-orangepi-5.dtb"
|
||||
@@ -17,12 +18,13 @@ SKIP_BOOTSPLASH="yes" # Skip boot splash patch, conflicts with CONFIG_VT=yes
|
||||
BOOTFS_TYPE="fat"
|
||||
DDR_BLOB='rk35/rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v1.11.bin'
|
||||
BL31_BLOB='rk35/rk3588_bl31_v1.38.elf'
|
||||
declare -g UEFI_EDK2_BOARD_ID="orangepi-5" # This _only_ used for uefi-edk2-rk3588 extension
|
||||
|
||||
declare -g BLUETOOTH_HCIATTACH_PARAMS="-s 115200 /dev/ttyS9 bcm43xx 1500000" # For the bluetooth-hciattach extension
|
||||
enable_extension "bluetooth-hciattach" # Enable the bluetooth-hciattach extension
|
||||
|
||||
function post_family_tweaks_bsp__orangepi5_copy_usb2_service() {
|
||||
display_alert "Installing BSP firmware and fixups"
|
||||
display_alert "Installing BSP firmware and fixups"
|
||||
|
||||
# Add USB2 init service. Otherwise, USB2 and TYPE-C won't work by default
|
||||
cp $SRC/packages/bsp/orangepi5/orangepi5-usb2-init.service $destination/lib/systemd/system/
|
||||
@@ -31,7 +33,7 @@ function post_family_tweaks_bsp__orangepi5_copy_usb2_service() {
|
||||
}
|
||||
|
||||
function post_family_tweaks__orangepi5_enable_usb2_service() {
|
||||
display_alert "$BOARD" "Installing board tweaks" "info"
|
||||
display_alert "$BOARD" "Installing board tweaks" "info"
|
||||
|
||||
# enable usb2 init service
|
||||
chroot $SDCARD /bin/bash -c "systemctl --no-reload enable orangepi5-usb2-init.service >/dev/null 2>&1"
|
||||
|
||||
@@ -4,4 +4,4 @@ BOARDFAMILY="sun50iw6"
|
||||
BOARD_MAINTAINER=""
|
||||
BOOTCONFIG="orangepi_lite2_defconfig"
|
||||
KERNEL_TARGET="legacy,current,edge"
|
||||
CRUSTCONFIG="h6_defconfig"
|
||||
CRUSTCONFIG="orangepi_3_lts_defconfig"
|
||||
|
||||
@@ -4,4 +4,4 @@ BOARDFAMILY="sun50iw6"
|
||||
BOARD_MAINTAINER=""
|
||||
BOOTCONFIG="orangepi_one_plus_defconfig"
|
||||
KERNEL_TARGET="legacy,current,edge"
|
||||
CRUSTCONFIG="h6_defconfig"
|
||||
CRUSTCONFIG="orangepi_3_lts_defconfig"
|
||||
|
||||
13
config/boards/orangepizero.conf
Normal file
13
config/boards/orangepizero.conf
Normal file
@@ -0,0 +1,13 @@
|
||||
# Allwinner H2+ quad core 256/512MB RAM SoC WiFi SPI
|
||||
BOARD_NAME="Orange Pi Zero"
|
||||
BOARDFAMILY="sun8i"
|
||||
BOARD_MAINTAINER="viraniac"
|
||||
BOOTCONFIG="orangepi_zero_defconfig"
|
||||
MODULES_CURRENT="g_serial"
|
||||
MODULES_BLACKLIST="sunxi_cedrus"
|
||||
DEFAULT_OVERLAYS="usbhost2 usbhost3 tve"
|
||||
DEFAULT_CONSOLE="both"
|
||||
HAS_VIDEO_OUTPUT="yes"
|
||||
SERIALCON="ttyS0,ttyGS0"
|
||||
KERNEL_TARGET="legacy,current,edge"
|
||||
KERNEL_TEST_TARGET="current"
|
||||
@@ -1,12 +0,0 @@
|
||||
# Allwinner H2+ quad core 256/512MB RAM SoC WiFi SPI
|
||||
BOARD_NAME="Orange Pi Zero"
|
||||
BOARDFAMILY="sun8i"
|
||||
BOARD_MAINTAINER=""
|
||||
BOOTCONFIG="orangepi_zero_defconfig"
|
||||
MODULES_CURRENT="g_serial"
|
||||
MODULES_BLACKLIST="sunxi_cedrus"
|
||||
DEFAULT_OVERLAYS="usbhost2 usbhost3 tve"
|
||||
DEFAULT_CONSOLE="both"
|
||||
HAS_VIDEO_OUTPUT="yes"
|
||||
SERIALCON="ttyS0,ttyGS0"
|
||||
KERNEL_TARGET="legacy,current,edge"
|
||||
@@ -4,7 +4,7 @@ BOARDFAMILY="rockchip64"
|
||||
BOARD_MAINTAINER="TRSx80 ahoneybun"
|
||||
BOOTCONFIG="pinebook-pro-rk3399_defconfig"
|
||||
BOOT_FDT_FILE="rockchip/rk3399-pinebook-pro.dtb"
|
||||
KERNEL_TARGET="legacy,current,edge"
|
||||
KERNEL_TARGET="current,edge"
|
||||
FULL_DESKTOP="yes"
|
||||
BOOT_LOGO="desktop"
|
||||
BOOT_SCENARIO="blobless"
|
||||
|
||||
@@ -23,7 +23,7 @@ function post_family_config__force_uboot_bin_and_use_uboot_menu_extlinux_arm64()
|
||||
# Export the u-boot.rom file next to the disk image, so it can be used as qemu's firmware via the -bios option.
|
||||
function pre_umount_final_image__export_uboot_rom() {
|
||||
: "${version:?version is not set}"
|
||||
local uboot_name="linux-u-boot-${BRANCH}-${BOARD}_${REVISION}_${ARCH}"
|
||||
local uboot_name="linux-u-boot-${BRANCH}-${BOARD}"
|
||||
display_alert "Exporting u-boot.bin" "${uboot_name} - ${version}.u-boot.bin" "debug"
|
||||
run_host_command_logged cp -pv "${MOUNT}/usr/lib/${uboot_name}/u-boot.bin" "${DESTIMG}/${version}.u-boot.bin"
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ function post_family_config__force_uboot_rom_build_x86() {
|
||||
# Export the u-boot.rom file next to the disk image, so it can be used as qemu's firmware via the -bios option.
|
||||
function pre_umount_final_image__export_uboot_rom() {
|
||||
: "${version:?version is not set}"
|
||||
local uboot_name="linux-u-boot-${BRANCH}-${BOARD}_${REVISION}_${ARCH}"
|
||||
local uboot_name="linux-u-boot-${BRANCH}-${BOARD}"
|
||||
display_alert "Exporting u-boot.rom" "${uboot_name} - ${version}.u-boot.rom" "debug"
|
||||
run_host_command_logged cp -pv "${MOUNT}/usr/lib/${uboot_name}/u-boot.rom" "${DESTIMG}/${version}.u-boot.rom"
|
||||
}
|
||||
|
||||
@@ -13,5 +13,5 @@ ASOUND_STATE="asound.state.radxa-zero"
|
||||
BOOT_FDT_FILE="amlogic/meson-g12a-radxa-zero.dtb"
|
||||
|
||||
# Newer u-boot for the Zero
|
||||
BOOTBRANCH_BOARD="tag:v2022.10"
|
||||
BOOTPATCHDIR="v2022.10"
|
||||
BOOTBRANCH_BOARD="tag:v2023.07.02"
|
||||
BOOTPATCHDIR="v2023.07.02"
|
||||
|
||||
@@ -9,6 +9,8 @@ BOOT_LOGO="desktop"
|
||||
ASOUND_STATE="asound.state.radxa-zero2"
|
||||
BOOT_FDT_FILE="amlogic/meson-g12b-radxa-zero2.dtb"
|
||||
|
||||
# Newer u-boot for the Zero; Radxa's patches with new DT, Makefile and defconfig in v2022.10/board_radxa-zero2 dir
|
||||
BOOTBRANCH_BOARD="tag:v2022.10"
|
||||
BOOTPATCHDIR="v2022.10"
|
||||
# Newer u-boot for the Zero2
|
||||
# 2022.10: Radxa's patches with new DT, Makefile and defconfig in v2022.10/board_radxa-zero2 dir; common to 22.10's meson64 boot-usb-first
|
||||
# v2023.10: board-specific boot-usb-first patch; zero2 landed in upstream u-boot v2023.07-rc1
|
||||
BOOTBRANCH_BOARD="tag:v2023.10"
|
||||
BOOTPATCHDIR="v2023.10"
|
||||
|
||||
@@ -3,6 +3,6 @@ BOARD_NAME="Renegade"
|
||||
BOARDFAMILY="rockchip64"
|
||||
BOARD_MAINTAINER="Tonymac32"
|
||||
BOOTCONFIG="roc-cc-rk3328_defconfig"
|
||||
KERNEL_TARGET="legacy,current,edge"
|
||||
KERNEL_TARGET="current,edge"
|
||||
FULL_DESKTOP="yes"
|
||||
BOOT_LOGO="desktop"
|
||||
|
||||
@@ -4,7 +4,7 @@ BOARDFAMILY="rockchip64"
|
||||
BOARD_MAINTAINER=""
|
||||
BOOTCONFIG="rk3318-box_defconfig"
|
||||
BOOT_FDT_FILE="rockchip/rk3318-box.dtb"
|
||||
KERNEL_TARGET="legacy,current,edge"
|
||||
KERNEL_TARGET="current,edge"
|
||||
MODULES_BLACKLIST="analogix_dp bcmdhd"
|
||||
BOOT_SCENARIO="tpl-blob-atf-mainline"
|
||||
DDR_BLOB="rk33/rk3318_ddr_333Mhz_v1.16.bin"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Rockchip RK3568 quad core 1-8GB SoC GBe eMMC USB3
|
||||
BOARD_NAME="Rock 3A"
|
||||
BOARDFAMILY="rk35xx"
|
||||
BOARD_MAINTAINER="ZazaBR amazingfate vamzii catalinii"
|
||||
BOARD_MAINTAINER="amazingfate ZazaBR vamzii catalinii"
|
||||
BOOTCONFIG="rock-3a-rk3568_defconfig"
|
||||
KERNEL_TARGET="legacy,current,edge"
|
||||
FULL_DESKTOP="yes"
|
||||
|
||||
@@ -2,18 +2,25 @@
|
||||
BOARD_NAME="Radxa CM5"
|
||||
BOARDFAMILY="rockchip-rk3588"
|
||||
BOARD_MAINTAINER=""
|
||||
BOOTCONFIG="orangepi_5_defconfig" # vendor name, not standard, see hook below, set BOOT_SOC below to compensate
|
||||
BOOTCONFIG="radxa-cm5-io-rk3588s_defconfig"
|
||||
BOOT_SOC="rk3588"
|
||||
KERNEL_TARGET="legacy"
|
||||
FULL_DESKTOP="yes"
|
||||
BOOT_LOGO="desktop"
|
||||
BOOT_FDT_FILE="rockchip/rk3588s-radxa-cm5-io.dtb"
|
||||
BOOT_SCENARIO="spl-blobs"
|
||||
BOOT_SUPPORT_SPI="yes"
|
||||
BOOT_SPI_RKSPI_LOADER="yes"
|
||||
IMAGE_PARTITION_TABLE="gpt"
|
||||
SKIP_BOOTSPLASH="yes" # Skip boot splash patch, conflicts with CONFIG_VT=yes
|
||||
|
||||
# HACK HACK HACK, using the opi5 uboot for now
|
||||
function post_family_config__cm5_use_orangepi5_uboot() {
|
||||
BOOTSOURCE='https://github.com/orangepi-xunlong/u-boot-orangepi.git'
|
||||
BOOTBRANCH='branch:v2017.09-rk3588'
|
||||
BOOTPATCHDIR="legacy"
|
||||
function post_family_tweaks__rock5cmio_naming_audios() {
|
||||
display_alert "$BOARD" "Renaming Rock CM5 audios" "info"
|
||||
|
||||
mkdir -p $SDCARD/etc/udev/rules.d/
|
||||
echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-hdmi0-sound", ENV{SOUND_DESCRIPTION}="HDMI0 Audio"' > $SDCARD/etc/udev/rules.d/90-naming-audios.rules
|
||||
echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-dp0-sound", ENV{SOUND_DESCRIPTION}="DP0 Audio"' >> $SDCARD/etc/udev/rules.d/90-naming-audios.rules
|
||||
echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-es8316-sound", ENV{SOUND_DESCRIPTION}="ES8316 Audio"' >> $SDCARD/etc/udev/rules.d/90-naming-audios.rules
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ BOARD_NAME="Rock 5A"
|
||||
BOARDFAMILY="rockchip-rk3588"
|
||||
BOARD_MAINTAINER="amazingfate"
|
||||
BOOTCONFIG="rock-5a-rk3588s_defconfig"
|
||||
KERNEL_TARGET="legacy,edge"
|
||||
KERNEL_TARGET="legacy,edge,collabora"
|
||||
FULL_DESKTOP="yes"
|
||||
BOOT_LOGO="desktop"
|
||||
BOOT_FDT_FILE="rockchip/rk3588s-rock-5a.dtb"
|
||||
@@ -12,7 +12,8 @@ BOOT_SOC="rk3588"
|
||||
BOOT_SUPPORT_SPI="yes"
|
||||
BOOT_SPI_RKSPI_LOADER="yes"
|
||||
IMAGE_PARTITION_TABLE="gpt"
|
||||
SKIP_BOOTSPLASH="yes" # Skip boot splash patch, conflicts with CONFIG_VT=yes
|
||||
SKIP_BOOTSPLASH="yes" # Skip boot splash patch, conflicts with CONFIG_VT=yes
|
||||
declare -g UEFI_EDK2_BOARD_ID="rock-5a" # This _only_ used for uefi-edk2-rk3588 extension
|
||||
|
||||
function post_family_tweaks__rock5a_naming_audios() {
|
||||
display_alert "$BOARD" "Renaming rock5a audios" "info"
|
||||
|
||||
@@ -3,7 +3,7 @@ BOARD_NAME="Rock 5B"
|
||||
BOARDFAMILY="rockchip-rk3588"
|
||||
BOARD_MAINTAINER="amazingfate linhz0hz"
|
||||
BOOTCONFIG="rock-5b-rk3588_defconfig"
|
||||
KERNEL_TARGET="legacy,edge,midstream,collabora"
|
||||
KERNEL_TARGET="legacy,edge,collabora"
|
||||
KERNEL_TEST_TARGET="legacy,collabora" # in case different then kernel target
|
||||
FULL_DESKTOP="yes"
|
||||
BOOT_LOGO="desktop"
|
||||
@@ -14,6 +14,7 @@ BOOT_SPI_RKSPI_LOADER="yes"
|
||||
IMAGE_PARTITION_TABLE="gpt"
|
||||
SKIP_BOOTSPLASH="yes" # Skip boot splash patch, conflicts with CONFIG_VT=yes
|
||||
BOOTFS_TYPE="ext4"
|
||||
declare -g UEFI_EDK2_BOARD_ID="rock-5b" # This _only_ used for uefi-edk2-rk3588 extension
|
||||
|
||||
function post_family_tweaks__rock5b_naming_audios() {
|
||||
display_alert "$BOARD" "Renaming rock5b audios" "info"
|
||||
|
||||
@@ -3,6 +3,6 @@ BOARD_NAME="Rock 64"
|
||||
BOARDFAMILY="rockchip64"
|
||||
BOARD_MAINTAINER="clee"
|
||||
BOOTCONFIG="rock64-rk3328_defconfig"
|
||||
KERNEL_TARGET="legacy,current,edge"
|
||||
KERNEL_TARGET="current,edge"
|
||||
FULL_DESKTOP="yes"
|
||||
BOOT_SCENARIO="blobless"
|
||||
|
||||
@@ -3,7 +3,7 @@ BOARD_NAME="Rockpi 4A"
|
||||
BOARDFAMILY="rockchip64"
|
||||
BOARD_MAINTAINER="clee"
|
||||
BOOTCONFIG="rock-pi-4-rk3399_defconfig"
|
||||
KERNEL_TARGET="legacy,current,edge"
|
||||
KERNEL_TARGET="current,edge"
|
||||
FULL_DESKTOP="yes"
|
||||
BOOT_LOGO="desktop"
|
||||
BOOT_FDT_FILE="rockchip/rk3399-rock-pi-4a.dtb"
|
||||
|
||||
@@ -3,7 +3,7 @@ BOARD_NAME="Rockpi 4B"
|
||||
BOARDFAMILY="rockchip64"
|
||||
BOARD_MAINTAINER=""
|
||||
BOOTCONFIG="rock-pi-4-rk3399_defconfig"
|
||||
KERNEL_TARGET="legacy,current,edge"
|
||||
KERNEL_TARGET="current,edge"
|
||||
KERNEL_TEST_TARGET="current,edge"
|
||||
FULL_DESKTOP="yes"
|
||||
BOOT_LOGO="desktop"
|
||||
|
||||
@@ -3,7 +3,7 @@ BOARD_NAME="Rockpi 4C"
|
||||
BOARDFAMILY="rockchip64"
|
||||
BOARD_MAINTAINER=""
|
||||
BOOTCONFIG="rock-pi-4c-rk3399_defconfig"
|
||||
KERNEL_TARGET="legacy,current,edge"
|
||||
KERNEL_TARGET="current,edge"
|
||||
FULL_DESKTOP="yes"
|
||||
BOOT_LOGO="desktop"
|
||||
BOOT_FDT_FILE="rockchip/rk3399-rock-pi-4c.dtb"
|
||||
|
||||
@@ -3,7 +3,7 @@ BOARD_NAME="Rockpi E"
|
||||
BOARDFAMILY="rockchip64"
|
||||
BOARD_MAINTAINER="krachlatte"
|
||||
BOOTCONFIG="rock-pi-e-rk3328_defconfig"
|
||||
KERNEL_TARGET="legacy,current,edge"
|
||||
KERNEL_TARGET="current,edge"
|
||||
KERNEL_TEST_TARGET="current,edge"
|
||||
DEFAULT_CONSOLE="serial"
|
||||
MODULES_BLACKLIST="rockchipdrm analogix_dp dw_mipi_dsi dw_hdmi gpu_sched lima"
|
||||
|
||||
@@ -3,7 +3,7 @@ BOARD_NAME="RockPro 64"
|
||||
BOARDFAMILY="rockchip64"
|
||||
BOARD_MAINTAINER="joekhoobyar"
|
||||
BOOTCONFIG="rockpro64-rk3399_defconfig"
|
||||
KERNEL_TARGET="legacy,current,edge"
|
||||
KERNEL_TARGET="current,edge"
|
||||
KERNEL_TEST_TARGET="current,edge"
|
||||
FULL_DESKTOP="yes"
|
||||
BOOT_LOGO="desktop"
|
||||
@@ -21,7 +21,7 @@ function add_host_dependencies__new_uboot_wants_python3_rockpro64() {
|
||||
function post_family_config__hacks_for_new_uboot_rockpro64() {
|
||||
display_alert "$BOARD" "using ATF (blobless) for 2023.01 u-boot" "info"
|
||||
# Use latest lts 2.8 ATF
|
||||
ATFBRANCH='tag:lts-v2.8.6'
|
||||
ATFBRANCH='tag:lts-v2.8.8'
|
||||
ATFPATCHDIR="atf-rockchip64" # patches for logging etc
|
||||
# With recent-enough u-boot and ATF.
|
||||
# bl31.elf is copied directly from ATF build dir to uboot dir anyway.
|
||||
|
||||
@@ -6,12 +6,10 @@ BOARD_MAINTAINER="glneo"
|
||||
BOOTCONFIG="am62x_evm_a53_defconfig"
|
||||
BOOTFS_TYPE="fat"
|
||||
BOOT_FDT_FILE="ti/k3-am625-sk.dts"
|
||||
BOOT_DM_FIRMWARE="${SRC}/cache/sources/ti-linux-firmware/ti-dm/am62xx/ipc_echo_testb_mcu1_0_release_strip.xer5f"
|
||||
BOOTBRANCH_BOARD="tag:v2023.04"
|
||||
BOOTSCRIPT="boot-sk-am62b.cmd:uEnv.txt"
|
||||
TIBOOT3_BOOTCONFIG="am62x_evm_r5_defconfig"
|
||||
TIBOOT3_FILE="tiboot3-am62x-hs-fs-evm.bin"
|
||||
DEFAULT_CONSOLE="serial"
|
||||
HAS_VIDEO_OUTPUT="no"
|
||||
KERNEL_TARGET="edge"
|
||||
SERIALCON="ttyS2"
|
||||
ATF_BOARD="lite"
|
||||
|
||||
@@ -6,10 +6,10 @@ BOARD_MAINTAINER="glneo"
|
||||
BOOTCONFIG="am64x_evm_a53_defconfig"
|
||||
BOOTFS_TYPE="fat"
|
||||
BOOT_FDT_FILE="ti/k3-am642-sk.dts"
|
||||
BOOTSCRIPT="boot-sk-am64b.cmd:uEnv.txt"
|
||||
TIBOOT3_BOOTCONFIG="am64x_evm_r5_defconfig"
|
||||
TIBOOT3_FILE="tiboot3-am64x_sr2-hs-fs-evm.bin"
|
||||
DEFAULT_CONSOLE="serial"
|
||||
HAS_VIDEO_OUTPUT="no"
|
||||
KERNEL_TARGET="current,edge"
|
||||
SERIALCON="ttyS2"
|
||||
ATF_BOARD="lite"
|
||||
|
||||
15
config/boards/sk-tda4vm.conf
Normal file
15
config/boards/sk-tda4vm.conf
Normal file
@@ -0,0 +1,15 @@
|
||||
# TI TDA4VM dual core 4GB GBE USB3 OSPI DisplayPort HDMI
|
||||
|
||||
BOARD_NAME="SK-TDA4VM"
|
||||
BOARDFAMILY="k3"
|
||||
BOARD_MAINTAINER="glneo"
|
||||
BOOTCONFIG="j721e_evm_a72_defconfig"
|
||||
BOOTFS_TYPE="fat"
|
||||
BOOT_FDT_FILE="ti/k3-j721e-sk.dts"
|
||||
TIBOOT3_BOOTCONFIG="j721e_evm_r5_defconfig"
|
||||
TIBOOT3_FILE="tiboot3-j721e-gp-evm.bin"
|
||||
SYSFW_FILE="sysfw-j721e-gp-evm.itb"
|
||||
DEFAULT_CONSOLE="serial"
|
||||
KERNEL_TARGET="current,edge"
|
||||
SERIALCON="ttyS2"
|
||||
ATF_BOARD="generic"
|
||||
8
config/boards/tanix-tx6.tvb
Normal file
8
config/boards/tanix-tx6.tvb
Normal file
@@ -0,0 +1,8 @@
|
||||
# Allwinner H6 quad core 2/4GB SoC WiFi eMMC
|
||||
BOARD_NAME="Tanix TX6"
|
||||
BOARDFAMILY="sun50iw6"
|
||||
BOARD_MAINTAINER=""
|
||||
BOOTCONFIG="tanix_tx6_defconfig"
|
||||
KERNEL_TARGET="current,edge"
|
||||
KERNEL_TEST_TARGET="current,edge"
|
||||
CRUSTCONFIG="tanix_tx6_defconfig"
|
||||
@@ -6,24 +6,129 @@ declare -g KERNEL_TARGET="sc8280xp"
|
||||
|
||||
declare -g BOOT_LOGO=desktop
|
||||
|
||||
# This board boots via EFI/Grub, but requires a DTB to be passed, from Grub, to the Kernel.
|
||||
declare -g GRUB_CMDLINE_LINUX_DEFAULT="efi=noruntime clk_ignore_unused pd_ignore_unused"
|
||||
declare -g BOOT_FDT_FILE="qcom/sc8280xp-lenovo-thinkpad-x13s.dtb"
|
||||
enable_extension "grub-with-dtb" # important, puts the whole DTB handling in place.
|
||||
###########################################################################################################
|
||||
# Absolutely watch this video https://www.youtube.com/watch?v=qffWt4o334Y - jhovold explains it all there.
|
||||
# @TODO list
|
||||
# - cleanup the .config using jhovold's defconfig.
|
||||
# - consider dropping steev's kernel in favor of jhovold's.
|
||||
# - rework the initramfs firmware/modules required, according to jhovold's defconfig-commit-msg instructions
|
||||
###########################################################################################################
|
||||
# Userspace TO-DO:
|
||||
# - (mantic/others?) hangs waiting for the EFI partition via UUID, why? [yeah WHY?!]
|
||||
# - deploy fprintd/libpam-fprintd (sic) for fingerprint authentication [done]
|
||||
# - (ubuntu, mantic for sure): protection-domain-mapper's pd-mapper.service has a condition on "-laptop" kernel, use override to get rid of it [done]
|
||||
|
||||
# The 6.4 branch is incompatible with x13s Concept's alsa-ucm-conf package, so keep it at 6.3.y for now.
|
||||
function post_family_config_branch_sc8280xp__steevs_63y_kernel() {
|
||||
display_alert "Setting up steev's kernel for" "${BOARD}" "warn"
|
||||
declare -g KERNEL_MAJOR_MINOR="6.3" # Major and minor versions of this kernel.
|
||||
declare -g KERNELBRANCH='branch:lenovo-x13s-linux-6.3.y'
|
||||
# This board boots via EFI/Grub, but requires a DTB to be passed, from Grub, to the Kernel.
|
||||
declare -g GRUB_CMDLINE_LINUX_DEFAULT="efi=noruntime clk_ignore_unused pd_ignore_unused arm64.nopauth iommu.passthrough=0 iommu.strict=0 pcie_aspm.policy=powersupersave"
|
||||
declare -g BOOT_FDT_FILE="qcom/sc8280xp-lenovo-thinkpad-x13s.dtb"
|
||||
declare -g UEFI_MOUNT_POINT_SKIP_FSTAB="yes" # If we leave the /boot/efi in fstab, systemd hangs waiting for it. @TODO why?
|
||||
enable_extension "grub-with-dtb" # important, puts the whole DTB handling in place.
|
||||
|
||||
# Use the full firmware, complete linux-firmware plus Armbian's
|
||||
declare -g BOARD_FIRMWARE_INSTALL="-full"
|
||||
|
||||
# The 6.4 branch is incompatible with x13s Concept's alsa-ucm-conf package, so keep it at 6.3.y for now. @TODO what about 6.6
|
||||
function post_family_config_branch_sc8280xp__steevs_66y_kernel() {
|
||||
declare -g KERNEL_MAJOR_MINOR="6.6" # Major and minor versions of this kernel.
|
||||
declare -g KERNELBRANCH='branch:lenovo-x13s-linux-6.6.y'
|
||||
declare -g KERNELSOURCE='https://github.com/steev/linux.git'
|
||||
display_alert "Set up steev's kernel ${KERNELBRANCH} for" "${BOARD}" "info"
|
||||
}
|
||||
|
||||
function pre_customize_image__add_x13s_firmware_and_modules_to_initrd() {
|
||||
display_alert "Adding x13s" "firmware in initrd" "warn"
|
||||
mkdir -p "${SDCARD}/etc/initramfs-tools/hooks"
|
||||
local script_file_dst="${SDCARD}/etc/initramfs-tools/hooks/x13s-firmware"
|
||||
cat <<- 'FIRMWARE_HOOK' > "${script_file_dst}"
|
||||
function x13s_is_userspace_supported() {
|
||||
[[ "${RELEASE}" == "trixie" || "${RELEASE}" == "sid" || "${RELEASE}" == "mantic" ]] && return 0
|
||||
return 1
|
||||
}
|
||||
|
||||
# https://wiki.debian.org/InstallingDebianOn/Thinkpad/X13s
|
||||
function post_family_config__debian_now_has_userspace_for_the_x13s() {
|
||||
if ! x13s_is_userspace_supported; then
|
||||
if [[ "${RELEASE}" != "" ]]; then
|
||||
display_alert "Missing userspace for ${BOARD}" "${RELEASE} does not have the userspace necessary to support the ${BOARD}" "warn"
|
||||
fi
|
||||
return 0
|
||||
fi
|
||||
|
||||
display_alert "Setting up extra Debian packages for ${BOARD}" "${RELEASE}///${BOARD}" "info"
|
||||
add_packages_to_image "bluez" "bluetooth" # for bluetooth stuff
|
||||
add_packages_to_image "protection-domain-mapper" # for charging; see https://packages.ubuntu.com/protection-domain-mapper and https://packages.debian.org/protection-domain-mapper
|
||||
add_packages_to_image "qrtr-tools" # for charging; see https://packages.ubuntu.com/qrtr-tools and https://packages.debian.org/qrtr-tools
|
||||
add_packages_to_image "alsa-ucm-conf" # for audio; see https://packages.ubuntu.com/alsa-ucm-conf and https://packages.debian.org/alsa-ucm-conf - we need 1.2.10 + patches, see below
|
||||
add_packages_to_image "acpi" # general ACPI support
|
||||
add_packages_to_image "zstd" # for zstd compression of initrd
|
||||
|
||||
# Trixie, as of 2023-10-13, is missing fprintd and libpam-fprintd; see https://tracker.debian.org/pkg/fprintd and https://tracker.debian.org/pkg/libpam-fprintd
|
||||
# @TODO: check again later, and remove this if it's there
|
||||
if [[ "${RELEASE}" != "trixie" ]]; then
|
||||
add_packages_to_image "fprintd" # for fingerprint reader; see https://packages.ubuntu.com/fprintd and https://packages.debian.org/fprintd
|
||||
add_packages_to_image "libpam-fprintd" # for fingerprint reader PAM support; see https://packages.ubuntu.com/libpam-fprintd and https://packages.debian.org/libpam-fprintd
|
||||
fi
|
||||
|
||||
# Also needed, not listed here:
|
||||
# - mesa > 23.1.5; see https://packages.ubuntu.com/mesa-vulkan-drivers and https://packages.debian.org/mesa-vulkan-drivers
|
||||
}
|
||||
|
||||
# Distros don't carry the necessary alsa-ucm-conf files.
|
||||
# We need https://github.com/alsa-project/alsa-ucm-conf/pull/335
|
||||
# Specifically https://github.com/Srinivas-Kandagatla/alsa-ucm-conf.git branch x13s-volume-fixes
|
||||
# And specifically SHA1 e8c3e7792336e9f68aa560db8ad19ba06ba786bb -- it has been force pushed a few times
|
||||
# As quick-n-dirty solution, we dump the whole contents of that branch on top of the distro's alsa-ucm-conf.
|
||||
# This means the fixes will be lost if package is updated, so we apt-mark it to hold.
|
||||
# Also means that this will break when ucm package is actually updated, so we can remove this when it is upstreamed.
|
||||
function pre_customize_image__x13s_debian_ucm_hack_via_patch() {
|
||||
if ! x13s_is_userspace_supported; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
display_alert "Fixing alsa-ucm-conf for ${BOARD}" "${RELEASE}///${BOARD}" "info"
|
||||
(
|
||||
cd "${SDCARD}/usr/share/alsa"
|
||||
curl -L "https://github.com/Srinivas-Kandagatla/alsa-ucm-conf/archive/refs/heads/x13s-volume-fixes.tar.gz" | tar xzf - --strip-components=1
|
||||
)
|
||||
|
||||
chroot_sdcard "apt-mark hold alsa-ucm-conf"
|
||||
}
|
||||
|
||||
function post_family_tweaks_bsp__thinkpad_x13s_bsp_bluetooth_addr() {
|
||||
### The bluetooth does not have a public MAC address set in DT, and BT won't start without one.
|
||||
### Use a systemd override to hook up setting a public-addr before starting bluetoothd
|
||||
declare random_mac_address="" # would be much better to rnd mac on board-side though
|
||||
random_mac_address=$(printf '02:%02X:%02X:%02X:%02X:%02X' $((RANDOM % 256)) $((RANDOM % 256)) $((RANDOM % 256)) $((RANDOM % 256)) $((RANDOM % 256)))
|
||||
display_alert "Adding systemd override for bluetooth public address init" "${BOARD} :: bt mac ${random_mac_address}" "info"
|
||||
|
||||
add_file_from_stdin_to_bsp_destination "/etc/systemd/system/bluetooth.service.d/override.conf" <<- EOD
|
||||
[Service]
|
||||
ExecStartPre=/bin/bash -c 'sleep 5 && yes | btmgmt public-addr ${random_mac_address}'
|
||||
EOD
|
||||
}
|
||||
|
||||
function post_family_tweaks_bsp__thinkpad_x13s_bsp_always_start_pdmapper() {
|
||||
### (At least) Ubuntu's version of protection-domain-mapper's pd-mapper.service has a kernel condition.
|
||||
### On Debian, this does not hurt.
|
||||
### Remove it using a systemd override.
|
||||
add_file_from_stdin_to_bsp_destination "/etc/systemd/system/pd-mapper.service.d/override.conf" <<- EOD
|
||||
[Unit]
|
||||
Description=Qualcomm PD mapper service (always starts)
|
||||
ConditionKernelVersion=
|
||||
EOD
|
||||
}
|
||||
|
||||
function post_family_tweaks_bsp__thinkpad_x13s_bsp_touchscreen_udev_unbind_i2c_hid_hack() {
|
||||
## Hack in udev so touchscreen can work - from https://github.com/ironrobin/x13s-alarm/tree/trunk/x13s-touchscreen-udev
|
||||
display_alert "Adding to bsp-cli" "${BOARD}: udev for touchscreen bind" "info"
|
||||
add_file_from_stdin_to_bsp_destination "/usr/lib/udev/rules.d/72-x13s-touchscreen.rules" <<- 'EOD'
|
||||
ACTION=="add" \
|
||||
, RUN+="/bin/bash -c 'echo 4-0010 > /sys/bus/i2c/drivers/i2c_hid_of/bind'"
|
||||
EOD
|
||||
}
|
||||
|
||||
##
|
||||
## Include certain firmware in the initrd
|
||||
##
|
||||
function post_family_tweaks_bsp__thinkpad_x13s_bsp_firmware_in_initrd() {
|
||||
display_alert "Adding to bsp-cli" "${BOARD}: firmware in initrd" "info"
|
||||
declare file_added_to_bsp_destination # will be filled in by add_file_from_stdin_to_bsp_destination
|
||||
add_file_from_stdin_to_bsp_destination "/etc/initramfs-tools/hooks/x13s-firmware" <<- 'FIRMWARE_HOOK'
|
||||
#!/bin/bash
|
||||
[[ "$1" == "prereqs" ]] && exit 0
|
||||
. /usr/share/initramfs-tools/hook-functions
|
||||
@@ -31,13 +136,17 @@ function pre_customize_image__add_x13s_firmware_and_modules_to_initrd() {
|
||||
add_firmware "${f#/lib/firmware/}"
|
||||
done
|
||||
add_firmware "qcom/a660_sqe.fw" # extra one for dpu
|
||||
add_firmware "qcom/a690_gmu.bin" # extra one for gpu
|
||||
add_firmware "qcom/a660_gmu.bin" # extra one for gpu
|
||||
add_firmware "qcom/a690_gmu.bin" # extra one for gpu (is a symlink)
|
||||
FIRMWARE_HOOK
|
||||
run_host_command_logged chmod -v +x "${file_added_to_bsp_destination}"
|
||||
}
|
||||
|
||||
run_host_command_logged chmod -v +x "${script_file_dst}"
|
||||
|
||||
# Modules, required to boot, add them to initrd
|
||||
cat <<- EXTRA_MODULES >> "${SDCARD}"/etc/initramfs-tools/modules
|
||||
## Modules, required to boot, add them to initrd; might need to be done in '.d/x13s-modules' instead
|
||||
function post_family_tweaks_bsp__thinkpad_x13s_bsp_modules_in_initrd() {
|
||||
display_alert "Adding to bsp-cli" "${BOARD}: modules in initrd" "info"
|
||||
add_file_from_stdin_to_bsp_destination "/etc/initramfs-tools/modules" <<- 'EXTRA_MODULES'
|
||||
# @TODO this list is outdated, much has changed; check jhovold's defconfig commit msg
|
||||
pwm_bl
|
||||
phy_qcom_qmp_pcie
|
||||
pcie_qcom
|
||||
@@ -52,7 +161,6 @@ function pre_customize_image__add_x13s_firmware_and_modules_to_initrd() {
|
||||
pmic_glink_altmode
|
||||
leds_qcom_lpg
|
||||
qcom_q6v5_pas # This module loads a lot of FW blobs
|
||||
panel_edp
|
||||
panel-edp
|
||||
msm
|
||||
nvme
|
||||
@@ -60,68 +168,30 @@ function pre_customize_image__add_x13s_firmware_and_modules_to_initrd() {
|
||||
uas
|
||||
EXTRA_MODULES
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
# armbian-firstrun waits for systemd to be ready, but snapd.seeded might cause it to hang due to wrong clock.
|
||||
# if the battery runs out, the clock is reset to 1970. This causes snapd.seeded to hang, and armbian-firstrun to hang.
|
||||
function pre_customize_image__disable_snapd_seeded() {
|
||||
[[ "${DISTRIBUTION}" != "Ubuntu" ]] && return 0 # only needed for Ubuntu
|
||||
display_alert "Disabling snapd.seeded" "${BOARD}" "info"
|
||||
chroot_sdcard systemctl disable snapd.seeded.service "||" true
|
||||
}
|
||||
|
||||
# The bluetooth does not have a public MAC address set in DT, and BT won't start without one.
|
||||
# Create a systemd service to set it at boot, and enable it; use the same address used by Ubuntu's x13s Concept project.
|
||||
function pre_customize_image__initialize_bluetooth_address() {
|
||||
cat <<- 'EOD' > "${SDCARD}/etc/systemd/system/set-bluetooth-address.service"
|
||||
[Unit]
|
||||
Description=Set Bluetooth Address
|
||||
After=bluetooth.target
|
||||
# Utility to get firmware needed; this is used to populate armbian/firmware, and is here for reference only.
|
||||
function x13s_obtain_firmware() {
|
||||
display_alert "Getting extra firmware for ${BOARD}" "${RELEASE}///${BOARD}" "info"
|
||||
declare fw_target="${SDCARD}/lib/firmware"
|
||||
mkdir -p "${fw_target}/qcom/sc8280xp/LENOVO/21BX"
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/bin/btmgmt public-addr AD:5A:00:F0:FD:8C
|
||||
# interconnect stuff; get it from ironrobin's repo;
|
||||
wget --output-document "${fw_target}/qcom/sc8280xp/LENOVO/21BX/qcvss8280.mbn" "https://raw.githubusercontent.com/ironrobin/x13s-alarm/trunk/x13s-firmware/qcvss8280.mbn"
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOD
|
||||
chroot_sdcard systemctl enable set-bluetooth-address.service
|
||||
}
|
||||
# add a link to audio fw
|
||||
(cd "${fw_target}/qcom/sc8280xp" && ln -s "LENOVO/21BX/audioreach-tplg.bin" "SC8280XP-LENOVO-X13S-tplg.bin")
|
||||
|
||||
function pre_customize_image__add_ubuntu_concept_x13s_packages_if_ubuntu_lunar() {
|
||||
# Ubuntu has a "x13s Concept" PPA, with needed userspace packages for Lunar (only).
|
||||
# https://launchpad.net/~ubuntu-concept/+archive/ubuntu/x13s
|
||||
# These will enable:
|
||||
# - battery charging/control
|
||||
# - audio via ALSA
|
||||
# It is only available for Lunar, though, so skip it if we're building for anything else.
|
||||
# We add the PPA & pin it in apt conf, so regular Ubuntu updates don't get rid of them.
|
||||
|
||||
if [[ "${RELEASE}" != "lunar" ]]; then
|
||||
display_alert "Skipping Ubuntu Concept PPA for ${BOARD}" "for ${RELEASE} :: only available for lunar" "info"
|
||||
return 0
|
||||
fi
|
||||
|
||||
display_alert "Adding Ubuntu Concept x13s PPA" "${BOARD}" "info"
|
||||
do_with_retries 3 chroot_sdcard add-apt-repository ppa:ubuntu-concept/x13s --yes --no-update
|
||||
|
||||
# Pin all packages from the PPA to a high priority, so they don't get overwritten by Ubuntu updates.
|
||||
# This is important for alsa-ucm-conf and the mesa packages, which are lagging in x13s but already updated in regular Lunar.
|
||||
display_alert "Pinning Ubuntu Concept x132 PPA" "${BOARD}" "info"
|
||||
cat <<- 'EOF' > "${SDCARD}/etc/apt/preferences.d/ubuntu-concept-x13s"
|
||||
Package: *
|
||||
Pin: release o=LP-PPA-ubuntu-concept-x13s
|
||||
Pin-Priority: 1337
|
||||
EOF
|
||||
|
||||
display_alert "Updating sources list, after Ubuntu Concept x13s PPAs" "${BOARD}" "info"
|
||||
do_with_retries 3 chroot_sdcard_apt_get_update
|
||||
|
||||
display_alert "Upgrading/downgrading packages, after Ubuntu Concept x13s PPAs" "${BOARD}" "info"
|
||||
do_with_retries 3 chroot_sdcard_apt_get full-upgrade --allow-downgrades # allow downgrades, to get the pinned Ubuntu Concept x13s packages
|
||||
|
||||
display_alert "Installing new Ubuntu Concept x13s packages" "${BOARD}" "info"
|
||||
do_with_retries 3 chroot_sdcard_apt_get_install alsa-ucm-conf protection-domain-mapper qrtr-tools
|
||||
# gpu, link 690 to 660 gmu
|
||||
(cd "${fw_target}/qcom/" && ln -s a660_gmu.bin a690_gmu.bin)
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ BOARDFAMILY="rockchip64"
|
||||
BOARD_MAINTAINER=""
|
||||
BOOTCONFIG="tinker-2-rk3399_defconfig"
|
||||
KERNEL_TARGET="current,edge"
|
||||
KERNEL_TEST_TARGET="current"
|
||||
FULL_DESKTOP="yes"
|
||||
BOOT_LOGO="desktop"
|
||||
BOOT_FDT_FILE="rockchip/rk3399-tinker-2.dtb"
|
||||
|
||||
@@ -6,4 +6,5 @@ BOOTCONFIG="tinker-rk3288_defconfig"
|
||||
MODULES_LEGACY="hci_uart rfcomm hidp 8723bs"
|
||||
DEFAULT_OVERLAYS="i2c1 i2c4 spi2 spidev2 uart1 uart2"
|
||||
KERNEL_TARGET="current,edge"
|
||||
KERNEL_TEST_TARGET="current"
|
||||
FULL_DESKTOP="yes"
|
||||
|
||||
@@ -9,3 +9,9 @@ SERIALCON="ttyS0,ttyGS0"
|
||||
KERNEL_TARGET="legacy,current,edge"
|
||||
FULL_DESKTOP="yes"
|
||||
CRUSTCONFIG="h5_defconfig"
|
||||
|
||||
function post_config_uboot_target__lower_DRAM_freq_for_Tritium_H5() {
|
||||
display_alert "$BOARD" "The defconfig file of Tritium H5 explicitly defines DRAM_CLK as 672." "info"
|
||||
display_alert "$BOARD" "Change to match default value used for H5 SoC in Armbian" "info"
|
||||
run_host_command_logged scripts/config --set-val CONFIG_DRAM_CLK "648"
|
||||
}
|
||||
|
||||
@@ -4,4 +4,5 @@ BOARDFAMILY="imx6"
|
||||
BOARD_MAINTAINER=""
|
||||
BOOTCONFIG="udoo_defconfig"
|
||||
KERNEL_TARGET="current,edge"
|
||||
KERNEL_TEST_TARGET="current"
|
||||
FULL_DESKTOP="yes"
|
||||
|
||||
91
config/boards/xiaomi-elish.conf
Normal file
91
config/boards/xiaomi-elish.conf
Normal file
@@ -0,0 +1,91 @@
|
||||
# Generate kernel and rootfs image for Qcom ABL booting
|
||||
declare -g BOARD_NAME="Xiaomi Elish"
|
||||
declare -g BOARD_MAINTAINER="amazingfate"
|
||||
declare -g BOARDFAMILY="qcom-abl"
|
||||
declare -g KERNEL_TARGET="sm8250"
|
||||
declare -g EXTRAWIFI="no"
|
||||
declare -g MODULES="spi-geni-qcom nt36523_ts"
|
||||
declare -g BOOTCONFIG="none"
|
||||
declare -g IMAGE_PARTITION_TABLE="gpt"
|
||||
declare -g -a ABL_DTB_LIST=("sm8250-xiaomi-elish-boe" "sm8250-xiaomi-elish-csot")
|
||||
|
||||
# Use the full firmware, complete linux-firmware plus Armbian's (for qcom/a650_sqe.fw)
|
||||
declare -g BOARD_FIRMWARE_INSTALL="-full"
|
||||
|
||||
function post_family_config_branch_sm8250__pmos_kernel() {
|
||||
display_alert "Setting up kernel for" "${BOARD}" "info"
|
||||
declare -g KERNEL_MAJOR_MINOR="6.6" # Major and minor versions of this kernel.
|
||||
declare -g KERNELBRANCH='branch:linux-6.6.y'
|
||||
}
|
||||
|
||||
function xiaomi-elish_is_userspace_supported() {
|
||||
[[ "${RELEASE}" == "jammy" ]] && return 0
|
||||
return 1
|
||||
}
|
||||
|
||||
function post_family_tweaks_bsp__xiaomi-elish_firmware() {
|
||||
display_alert "$BOARD" "Install firmwares for xiaomi elish" "info"
|
||||
|
||||
# alsa-ucm-conf profile for Xiaomi Elish
|
||||
mkdir -p $destination/usr/share/alsa/ucm2/conf.d/sm8250
|
||||
install -Dm644 $SRC/packages/bsp/xiaomi-elish/elish.conf $destination/usr/share/alsa/ucm2/Xiaomi/elish/elish.conf
|
||||
install -Dm644 $SRC/packages/bsp/xiaomi-elish/elish_HiFi.conf $destination/usr/share/alsa/ucm2/Xiaomi/elish/HiFi.conf
|
||||
ln -sfv ../../Xiaomi/elish/elish.conf \
|
||||
"$destination/usr/share/alsa/ucm2/conf.d/sm8250/Xiaomi Mi Pad 5 Pro.conf"
|
||||
|
||||
# USB Gadget Network service
|
||||
mkdir -p $destination/usr/local/bin/
|
||||
mkdir -p $destination/usr/lib/systemd/system/
|
||||
install -Dm655 $SRC/packages/bsp/xiaomi-elish/setup-usbgadget-network.sh $destination/usr/local/bin/
|
||||
install -Dm644 $SRC/packages/bsp/xiaomi-elish/usbgadget-rndis.service $destination/usr/lib/systemd/system/
|
||||
|
||||
# Kernel postinst script to update abl boot partition
|
||||
install -Dm655 $SRC/packages/bsp/xiaomi-elish/zz-update-abl-kernel $destination/etc/kernel/postinst.d/
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
function post_family_tweaks__xiaomi-elish_enable_services() {
|
||||
if ! xiaomi-elish_is_userspace_supported; then
|
||||
if [[ "${RELEASE}" != "" ]]; then
|
||||
display_alert "Missing userspace for ${BOARD}" "${RELEASE} does not have the userspace necessary to support the ${BOARD}" "warn"
|
||||
fi
|
||||
return 0
|
||||
fi
|
||||
|
||||
display_alert "Adding qcom-mainline PPA" "${BOARD}" "info"
|
||||
do_with_retries 3 chroot_sdcard add-apt-repository ppa:liujianfeng1994/qcom-mainline --yes --no-update
|
||||
do_with_retries 3 chroot_sdcard_apt_get_update
|
||||
display_alert "$BOARD" "Installing board tweaks" "info"
|
||||
do_with_retries 3 chroot_sdcard_apt_get_install alsa-ucm-conf qbootctl qrtr-tools pd-mapper tqftpserv unudhcpd mkbootimg
|
||||
chroot_sdcard systemctl enable qbootctl.service
|
||||
chroot_sdcard systemctl enable usbgadget-rndis.service
|
||||
chroot_sdcard systemctl enable pd-mapper.service
|
||||
chroot_sdcard systemctl enable tqftpserv.service
|
||||
return 0
|
||||
}
|
||||
|
||||
function post_family_tweaks_bsp__xiaomi-elish_bsp_firmware_in_initrd() {
|
||||
display_alert "Adding to bsp-cli" "${BOARD}: firmware in initrd" "info"
|
||||
declare file_added_to_bsp_destination # will be filled in by add_file_from_stdin_to_bsp_destination
|
||||
add_file_from_stdin_to_bsp_destination "/etc/initramfs-tools/hooks/xiaomi-elish-firmware" <<- 'FIRMWARE_HOOK'
|
||||
#!/bin/bash
|
||||
[[ "$1" == "prereqs" ]] && exit 0
|
||||
. /usr/share/initramfs-tools/hook-functions
|
||||
for f in /lib/firmware/qcom/sm8250/xiaomi/elish/* ; do
|
||||
add_firmware "${f#/lib/firmware/}"
|
||||
done
|
||||
add_firmware "qcom/a650_sqe.fw" # extra one for dpu
|
||||
add_firmware "qcom/a650_gmu.bin" # extra one for gpu
|
||||
FIRMWARE_HOOK
|
||||
run_host_command_logged chmod -v +x "${file_added_to_bsp_destination}"
|
||||
}
|
||||
|
||||
## Modules, required to boot, add them to initrd
|
||||
function post_family_tweaks_bsp__xiaomi-elish_bsp_modules_in_initrd() {
|
||||
display_alert "Adding to bsp-cli" "${BOARD}: modules in initrd" "info"
|
||||
add_file_from_stdin_to_bsp_destination "/etc/initramfs-tools/modules" <<- 'EXTRA_MODULES'
|
||||
spi-geni-qcom
|
||||
nt36523_ts
|
||||
EXTRA_MODULES
|
||||
}
|
||||
@@ -9,3 +9,4 @@ DEFAULT_CONSOLE="serial"
|
||||
SERIALCON="ttyS0"
|
||||
HAS_VIDEO_OUTPUT="no"
|
||||
KERNEL_TARGET="legacy,current,edge"
|
||||
KERNEL_TEST_TARGET="legacy"
|
||||
|
||||
1
config/bootenv/qcom-abl.txt
Normal file
1
config/bootenv/qcom-abl.txt
Normal file
@@ -0,0 +1 @@
|
||||
abl_boot_partition_label=boot_b
|
||||
7
config/bootscripts/boot-k3.cmd
Normal file
7
config/bootscripts/boot-k3.cmd
Normal file
@@ -0,0 +1,7 @@
|
||||
bootpart=1:1
|
||||
bootdir=
|
||||
finduuid=part uuid \${boot} 1:2 uuid
|
||||
name_rd=uInitrd
|
||||
get_rd_mmc=load mmc ${bootpart} ${rdaddr} ${bootdir}/${name_rd}
|
||||
|
||||
uenvcmd=run get_rd_${boot}; env set rd_spec ${rdaddr}:${filesize}
|
||||
@@ -9,6 +9,8 @@ setenv verbosity "1"
|
||||
setenv earlycon "off"
|
||||
setenv bootlogo "false"
|
||||
setenv earlyconuart "0xfe078000"
|
||||
setenv displaymode "1080p60hz"
|
||||
setenv force_16x9_display "false"
|
||||
|
||||
if test "${board_name}" = "kvim1s"; then setenv earlyconuart "0xfe07a000"; fi
|
||||
|
||||
@@ -35,7 +37,23 @@ else
|
||||
setenv consoleargs "splash=verbose ${consoleargs}"
|
||||
fi
|
||||
|
||||
setenv bootargs "root=${rootdev} rootwait rootfstype=${rootfstype} ${consoleargs} no_console_suspend loglevel=${verbosity} mac=${eth_mac} khadas.serial=${usid} partition_type=generic ${extraargs} ${extraboardargs}"
|
||||
if test -n "${hdmimode}" ; then
|
||||
if test ${display_height} -ge 2160 ; then
|
||||
setenv displaymode "2160p60hz"
|
||||
elif test ${display_height} -ge 1080 ; then
|
||||
setenv displaymode "1080p60hz"
|
||||
else
|
||||
setenv displaymode "720p60hz"
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "${force_16x9_display}" = "true"; then
|
||||
setenv hdmimode ${displaymode}
|
||||
fi
|
||||
|
||||
setenv displayargs "logo=${display_layer},loaded,${fb_addr} vout=${hdmimode},${vout_init} panel_type=${panel_type} hdmitx=${cecconfig},${colorattribute} hdmimode=${hdmimode} hdmichecksum=${hdmichecksum} dolby_vision_on=${dolby_vision_on} hdr_policy=${hdr_policy} hdr_priority=${hdr_priority} frac_rate_policy=${frac_rate_policy} hdmi_read_edid=${hdmi_read_edid} cvbsmode=${cvbsmode} osd_reverse=${osd_reverse} video_reverse=${video_reverse}"
|
||||
|
||||
setenv bootargs "root=${rootdev} rootwait rootfstype=${rootfstype} ${consoleargs} no_console_suspend ${displayargs} loglevel=${verbosity} mac=${eth_mac} khadas.serial=${usid} partition_type=generic ${extraargs} ${extraboardargs}"
|
||||
|
||||
load ${devtype} ${devnum} ${fdt_addr_r} ${prefix}dtb/${fdtfile}
|
||||
fdt addr ${fdt_addr_r}
|
||||
@@ -70,8 +88,15 @@ else
|
||||
fi
|
||||
fi
|
||||
|
||||
load ${devtype} ${devnum} ${kernel_addr_r} /vmlinuz
|
||||
load ${devtype} ${devnum} ${ramdisk_addr_r} /initrd.img
|
||||
# The symlinks for kernel and initrd.img are at different locations in debian and ubuntu
|
||||
# Check and load from a location that exists
|
||||
if test -e ${devtype} ${devnum} /vmlinuz; then
|
||||
load ${devtype} ${devnum} ${kernel_addr_r} /vmlinuz
|
||||
load ${devtype} ${devnum} ${ramdisk_addr_r} /initrd.img
|
||||
else
|
||||
load ${devtype} ${devnum} ${kernel_addr_r} ${prefix}vmlinuz
|
||||
load ${devtype} ${devnum} ${ramdisk_addr_r} ${prefix}initrd.img
|
||||
fi
|
||||
booti ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r}
|
||||
|
||||
# Recompile with:
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
bootpart=1:1
|
||||
bootdir=
|
||||
finduuid=part uuid \${boot} 1:2 uuid
|
||||
name_rd=uInitrd
|
||||
get_rd_mmc=load mmc ${bootpart} ${rdaddr} ${bootdir}/${name_rd}
|
||||
name_fdt=dtb/ti/k3-am625-sk.dtb
|
||||
|
||||
uenvcmd=run init_${boot}; run get_kern_${boot}; run get_rd_${boot}; env set rd_spec ${rdaddr}:${filesize}; run get_fdt_${boot}; run run_kern
|
||||
@@ -1,8 +0,0 @@
|
||||
bootpart=1:1
|
||||
bootdir=
|
||||
finduuid=part uuid \${boot} 1:2 uuid
|
||||
name_rd=uInitrd
|
||||
get_rd_mmc=load mmc ${bootpart} ${rdaddr} ${bootdir}/${name_rd}
|
||||
fdtfile=dtb/ti/k3-am642-sk.dtb
|
||||
|
||||
uenvcmd=run init_${boot}; run get_kern_${boot}; run get_rd_${boot}; env set rd_spec ${rdaddr}:${filesize}; run get_fdt_${boot}; run run_kern
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user