Skip to content

Commit c62f7a2

Browse files
Yury-MonZonalchark
authored andcommitted
flipper-profiles: profile list and menu band order
One line per profile; the line order is the menu band order (90/80/70/60). Read at build (fan-out) and at runtime (plugin) for each entry's title, overlays, rootflags.
1 parent 2b21aad commit c62f7a2

1 file changed

Lines changed: 23 additions & 14 deletions

File tree

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,19 @@
11
# Flipper One boot profiles -> one BLS entry per profile per kernel.
22
#
3-
# Each profile is derived from the base ("[DESKTOP]") entry that
4-
# 90-loaderentry.install generates: it reuses the same linux/initrd/devicetreedir
5-
# and only adds a title suffix, extra kernel cmdline, and/or DTB overlays.
3+
# Every bootable session, including the default desktop, is a line below; there is no
4+
# separate base entry. Each lives in its own btrfs root subvolume (@Desktop, @Minimal,
5+
# @TV-Media-Box, @Router) selected by its OWN `rootflags=subvol=@<name>` (the cmdline no
6+
# longer carries one). The session (KDE/kodi/router) is baked into each root's
7+
# default.target; no systemd.unit= needed.
68
#
7-
# Each bootable session lives in its own btrfs root subvolume (@Desktop, @Minimal,
8-
# @TV-Media-Box, @Router). A profile selects its root by appending
9-
# `rootflags=subvol=@<name>` to the cmdline -- this overrides the base
10-
# `rootflags=subvol=@Desktop` because the LAST rootflags= on the line wins. So [DESKTOP]
11-
# boots @Desktop (the desktop) and the entries below switch to the other roots. The session
12-
# (KDE/kodi/router) is baked into each root's default.target; no systemd.unit= needed.
9+
# This list is read two ways:
10+
# - build: img.yaml sources flipper-bls.sh and emits one entry per line (the fan-out).
11+
# - runtime (apt install): 90-loaderentry.install emits ONLY the booted root's entry, matching
12+
# this list by rootflags=subvol= for the title/overlays.
1313
#
1414
# Columns (pipe-separated; '#' starts a comment line):
15-
# 1 token short id, used in the entry filename + sort ordering
15+
# 1 token short id used in the entry filename. The generator also prepends a
16+
# position-derived "NN-" prefix so this list's order becomes the menu order.
1617
# 2 suffix appended to the menu title, e.g. "[ROUTER]"
1718
# 3 cmdline extra kernel command-line fragment: root selection
1819
# (rootflags=subvol=@<name>) and/or tweaks (may be empty)
@@ -26,12 +27,20 @@
2627
# them (else the entry is still produced without overlays).
2728
# 6 legend short description shown in the menu header (may be empty)
2829
#
29-
# Order here = order in the generated menu (after the [DESKTOP] = @Desktop entry).
30+
# Order here = order of the menu BANDS, top to bottom. Each line's position sets a base slot
31+
# (line #1 -> 900, #2 -> 800, ... step 100) that starts the entry-token (<NN>-flipperos-<subvol>),
32+
# which leads the .conf filename. U-Boot's bls bootmeth sorts by filename and lists them
33+
# descending, so line #1 (@Desktop) is the top band and the default. Within a band the factory
34+
# entry and any in-profile install share the profile's base slot (newest kernel first); a clone
35+
# gets base+clone-depth (a direct clone 901, a clone of a clone 902, ... origin profile + depth via
36+
# the btrfs snapshot parent chain), so clones sit just above. Reorder these lines to reorder the
37+
# menu. (See flipper-bls.sh's emit_entry header for the full scheme.)
3038

31-
minimal|[MINIMAL] |rootflags=subvol=@Minimal | | |No desktop (cog kiosk only)
39+
desktop|[DESKTOP] |rootflags=subvol=@Desktop | | |Default desktop (KDE/sddm)
3240
tvbox |[TV MEDIA BOX]|rootflags=subvol=@TV-Media-Box | |hdmi-cec |Kodi media-box session
3341
router |[ROUTER] |rootflags=subvol=@Router | | |Wi-Fi router mode
42+
minimal|[MINIMAL] |rootflags=subvol=@Minimal | | |No desktop (cog kiosk only)
3443
#hdmi4k|[HDMI-4K] |dyndbg="file drivers/gpu/drm/rockchip/dw-dp.c +p"|ROCKCHIP_DW_DP|!rk3576-evb1-v10-typec-base rk3576-evb1-v10-typec-hdmi-dp|HDMI 4k (on @Desktop)
35-
dp4k |[DP-4K] |dyndbg="file drivers/gpu/drm/rockchip/dw-dp.c +p"|ROCKCHIP_DW_DP|!rk3576-evb1-v10-typec-base rk3576-evb1-v10-typec-dp-hdmi|DisplayPort 4k (on @Desktop)
36-
#fan |[FAN] | | |!rk3576-evb1-v10-fan-pwm|PWM fan control
44+
#dp4k |[DP-4K] |dyndbg="file drivers/gpu/drm/rockchip/dw-dp.c +p"|ROCKCHIP_DW_DP|!rk3576-evb1-v10-typec-base rk3576-evb1-v10-typec-dp-hdmi|DisplayPort 4k (on @Desktop)
45+
#fan |[FAN] | | |!rk3576-evb1-v10-fan-pwm|PWM fan control
3746
#ncm |[USB NCM] |systemd.wants=usb-ncm-gadget.service|USB_CONFIGFS_NCM USB_F_NCM|usb-ncm|USB NCM Ethernet gadget

0 commit comments

Comments
 (0)