public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
From: Uladzimir Bely <ubely@ilbers.de>
To: isar-users@googlegroups.com
Subject: [PATCH 01/13] kas: Add initial Kconfig support
Date: Fri, 15 Sep 2023 08:44:14 +0200	[thread overview]
Message-ID: <20230915064426.27676-2-ubely@ilbers.de> (raw)
In-Reply-To: <20230915064426.27676-1-ubely@ilbers.de>

Create required Kconfig files and appropriate YAML configuration
fragments for supporting initial build configuragion via
`kas-container menu`.

Signed-off-by: Uladzimir Bely <ubely@ilbers.de>
---
 .gitignore                           |   1 +
 Kconfig                              |  12 ++++
 kas/distro/Kconfig                   |  40 +++++++++++
 kas/distro/debian-bookworm.yml       |   4 ++
 kas/distro/debian-bullseye.yml       |   4 ++
 kas/distro/debian-buster.yml         |   4 ++
 kas/distro/debian-sid-ports.yml      |   4 ++
 kas/distro/raspios-bullseye.yml      |   4 ++
 kas/distro/ubuntu-focal.yml          |   4 ++
 kas/distro/ubuntu-jammy.yml          |   4 ++
 kas/isar.yml                         |  18 +++++
 kas/machine/Kconfig                  | 104 +++++++++++++++++++++++++++
 kas/machine/bananapi.yml             |   4 ++
 kas/machine/container-amd64.yml      |   4 ++
 kas/machine/de0-nano-soc.yml         |   4 ++
 kas/machine/hikey.yml                |   4 ++
 kas/machine/imx6-sabrelite.yml       |   4 ++
 kas/machine/nanopi-neo.yml           |   4 ++
 kas/machine/phyboard-mira.yml        |   4 ++
 kas/machine/qemuamd64-sb.yml         |   4 ++
 kas/machine/qemuamd64.yml            |   4 ++
 kas/machine/qemuarm.yml              |   4 ++
 kas/machine/qemuarm64.yml            |   4 ++
 kas/machine/qemui386.yml             |   4 ++
 kas/machine/qemumipsel.yml           |   4 ++
 kas/machine/qemuriscv64.yml          |   4 ++
 kas/machine/rpi-arm-v7.yml           |   4 ++
 kas/machine/rpi-arm-v7l.yml          |   4 ++
 kas/machine/rpi-arm.yml              |   4 ++
 kas/machine/rpi-arm64-v8.yml         |   4 ++
 kas/machine/sifive-fu540.yml         |   4 ++
 kas/machine/starfive-visionfive2.yml |   4 ++
 kas/machine/stm32mp15x.yml           |   4 ++
 kas/machine/virtualbox.yml           |   4 ++
 kas/machine/vmware.yml               |   4 ++
 35 files changed, 295 insertions(+)
 create mode 100644 Kconfig
 create mode 100644 kas/distro/Kconfig
 create mode 100644 kas/distro/debian-bookworm.yml
 create mode 100644 kas/distro/debian-bullseye.yml
 create mode 100644 kas/distro/debian-buster.yml
 create mode 100644 kas/distro/debian-sid-ports.yml
 create mode 100644 kas/distro/raspios-bullseye.yml
 create mode 100644 kas/distro/ubuntu-focal.yml
 create mode 100644 kas/distro/ubuntu-jammy.yml
 create mode 100644 kas/isar.yml
 create mode 100644 kas/machine/Kconfig
 create mode 100644 kas/machine/bananapi.yml
 create mode 100644 kas/machine/container-amd64.yml
 create mode 100644 kas/machine/de0-nano-soc.yml
 create mode 100644 kas/machine/hikey.yml
 create mode 100644 kas/machine/imx6-sabrelite.yml
 create mode 100644 kas/machine/nanopi-neo.yml
 create mode 100644 kas/machine/phyboard-mira.yml
 create mode 100644 kas/machine/qemuamd64-sb.yml
 create mode 100644 kas/machine/qemuamd64.yml
 create mode 100644 kas/machine/qemuarm.yml
 create mode 100644 kas/machine/qemuarm64.yml
 create mode 100644 kas/machine/qemui386.yml
 create mode 100644 kas/machine/qemumipsel.yml
 create mode 100644 kas/machine/qemuriscv64.yml
 create mode 100644 kas/machine/rpi-arm-v7.yml
 create mode 100644 kas/machine/rpi-arm-v7l.yml
 create mode 100644 kas/machine/rpi-arm.yml
 create mode 100644 kas/machine/rpi-arm64-v8.yml
 create mode 100644 kas/machine/sifive-fu540.yml
 create mode 100644 kas/machine/starfive-visionfive2.yml
 create mode 100644 kas/machine/stm32mp15x.yml
 create mode 100644 kas/machine/virtualbox.yml
 create mode 100644 kas/machine/vmware.yml

diff --git a/.gitignore b/.gitignore
index 2525d41e..c12658eb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
 *~
 /*.patch
 __pycache__
+.config.yaml
diff --git a/Kconfig b/Kconfig
new file mode 100644
index 00000000..ac77fb81
--- /dev/null
+++ b/Kconfig
@@ -0,0 +1,12 @@
+mainmenu "Isar configuration"
+
+config KAS_INCLUDE_MAIN
+	string
+	default "kas/isar.yml"
+
+config KAS_BUILD_SYSTEM
+	string
+	default "isar"
+
+source "kas/machine/Kconfig"
+source "kas/distro/Kconfig"
diff --git a/kas/distro/Kconfig b/kas/distro/Kconfig
new file mode 100644
index 00000000..0bb58c87
--- /dev/null
+++ b/kas/distro/Kconfig
@@ -0,0 +1,40 @@
+menu "Distro selection"
+
+choice
+	prompt "Distro selection"
+	default DEBIAN_BOOKWORM
+
+config DEBIAN_BUSTER
+	bool "Debian Buster (10)"
+
+config DEBIAN_BULLSEYE
+	bool "Debian Bullseye (11)"
+
+config DEBIAN_BOOKWORM
+	bool "Debian Bookworm (12)"
+
+config DEBIAN_SID_PORTS
+	bool "Debian Sid (unstable) with unofficial ports"
+
+config RASPIOS_BULLSEYE
+  bool "Raspi OS Bullseye (11)"
+
+config UBUNTU_FOCAL
+	bool "Ubuntu Focal (20.04)"
+
+config UBUNTU_JAMMY
+	bool "Ubuntu Jammy (22.04)"
+
+endchoice
+
+config KAS_INCLUDE_DISTRO
+	string
+	default "kas/distro/debian-buster.yml" if DEBIAN_BUSTER
+	default "kas/distro/debian-bullseye.yml" if DEBIAN_BULLSEYE
+	default "kas/distro/debian-bookworm.yml" if DEBIAN_BOOKWORM
+	default "kas/distro/debian-sid-ports.yml" if DEBIAN_SID_PORTS
+	default "kas/distro/raspios-bullseye.yml" if RASPIOS_BULLSEYE
+	default "kas/distro/ubuntu-focal.yml" if UBUNTU_FOCAL
+	default "kas/distro/ubuntu-jammy.yml" if UBUNTU_JAMMY
+
+endmenu
diff --git a/kas/distro/debian-bookworm.yml b/kas/distro/debian-bookworm.yml
new file mode 100644
index 00000000..0f49e01a
--- /dev/null
+++ b/kas/distro/debian-bookworm.yml
@@ -0,0 +1,4 @@
+header:
+  version: 14
+
+distro: debian-bookworm
diff --git a/kas/distro/debian-bullseye.yml b/kas/distro/debian-bullseye.yml
new file mode 100644
index 00000000..f2e13dc4
--- /dev/null
+++ b/kas/distro/debian-bullseye.yml
@@ -0,0 +1,4 @@
+header:
+  version: 14
+
+distro: debian-bullseye
diff --git a/kas/distro/debian-buster.yml b/kas/distro/debian-buster.yml
new file mode 100644
index 00000000..35f6fd79
--- /dev/null
+++ b/kas/distro/debian-buster.yml
@@ -0,0 +1,4 @@
+header:
+  version: 14
+
+distro: debian-buster
diff --git a/kas/distro/debian-sid-ports.yml b/kas/distro/debian-sid-ports.yml
new file mode 100644
index 00000000..fafc438d
--- /dev/null
+++ b/kas/distro/debian-sid-ports.yml
@@ -0,0 +1,4 @@
+header:
+  version: 14
+
+distro: debian-sid-ports
diff --git a/kas/distro/raspios-bullseye.yml b/kas/distro/raspios-bullseye.yml
new file mode 100644
index 00000000..941fa8f4
--- /dev/null
+++ b/kas/distro/raspios-bullseye.yml
@@ -0,0 +1,4 @@
+header:
+  version: 14
+
+distro: raspios-bullseye
diff --git a/kas/distro/ubuntu-focal.yml b/kas/distro/ubuntu-focal.yml
new file mode 100644
index 00000000..facfd7a1
--- /dev/null
+++ b/kas/distro/ubuntu-focal.yml
@@ -0,0 +1,4 @@
+header:
+  version: 14
+
+distro: ubuntu-focal
diff --git a/kas/distro/ubuntu-jammy.yml b/kas/distro/ubuntu-jammy.yml
new file mode 100644
index 00000000..c82539a3
--- /dev/null
+++ b/kas/distro/ubuntu-jammy.yml
@@ -0,0 +1,4 @@
+header:
+  version: 14
+
+distro: ubuntu-jammy
diff --git a/kas/isar.yml b/kas/isar.yml
new file mode 100644
index 00000000..500bf1d4
--- /dev/null
+++ b/kas/isar.yml
@@ -0,0 +1,18 @@
+header:
+  version: 14
+
+build_system: isar
+
+target:
+- isar-image-base
+
+repos:
+  isar:
+    layers:
+      meta:
+      meta-isar:
+
+bblayers_conf_header:
+  standard: |
+    BBPATH = "${TOPDIR}"
+    BBFILES ?= ""
diff --git a/kas/machine/Kconfig b/kas/machine/Kconfig
new file mode 100644
index 00000000..7989a362
--- /dev/null
+++ b/kas/machine/Kconfig
@@ -0,0 +1,104 @@
+menu "Machine selection"
+
+choice
+	prompt "Machine selection"
+	default MACHINE_QEMU_AMD64
+
+config MACHINE_BANANAPI
+	bool "bananapi"
+
+config MACHINE_CONTAINER_AMD64
+	bool "container-amd64"
+
+config MACHINE_DE0_NANO_SOC
+	bool "de0-nano-soc"
+
+config MACHINE_HIKEY
+	bool "hikey"
+
+config MACHINE_IMX6_SABRELITE
+	bool "imx6-sabrelite"
+
+config MACHINE_IMX6_NANOPI_NEO
+	bool "nanopi-neo"
+
+config MACHINE_PHIBOARD_MIRA
+	bool "phyboard-mira"
+
+config MACHINE_QEMU_AMD64_SB
+	bool "qemuamd64-sb"
+
+config MACHINE_QEMU_AMD64
+	bool "qemuamd64"
+
+config MACHINE_QEMU_ARM
+	bool "qemuarm"
+
+config MACHINE_QEMU_ARM64
+	bool "qemuarm64"
+
+config MACHINE_QEMU_I386
+	bool "qemui386"
+
+config MACHINE_QEMU_MIPSEL
+	bool "qemumipsel"
+
+config MACHINE_QEMU_RISCV64
+	bool "qemuriscv64"
+
+config MACHINE_RPI_ARM_V7
+	bool "rpi-arm-v7"
+
+config MACHINE_RPI_ARM_V7L
+	bool "rpi-arm-v7l"
+
+config MACHINE_RPI_ARM
+	bool "rpi-arm"
+
+config MACHINE_RPI_ARM64_V8
+	bool "rpi-arm64-v8"
+
+config MACHINE_SIFIVE_FU540
+	bool "sifive-fu540"
+
+config MACHINE_STARFIVE_VISIONFIVE2
+	bool "starfive-visionfive2"
+
+config MACHINE_STM32MP15X
+	bool "stm32mp15x"
+
+config MACHINE_VIRTUALBOX
+	bool "virtualbox"
+
+config MACHINE_VMWARE
+	bool "vmware"
+
+endchoice
+
+config KAS_INCLUDE_MACHINE
+	string
+	default "kas/machine/bananapi.yml" if MACHINE_BANANAPI
+	default "kas/machine/container-amd64.yml" if MACHINE_CONTAINER_AMD64
+	default "kas/machine/de0-nano-soc.yml" if MACHINE_DE0_NANO_SOC
+	default "kas/machine/hikey.yml" if MACHINE_HIKEY
+	default "kas/machine/imx6-sabrelite" if MACHINE_IMX6_SABRELITE
+	default "kas/machine/nanopi-neo" if MACHINE_IMX6_NANOPI_NEO
+	default "kas/machine/phyboard-mira" if MACHINE_PHIBOARD_MIRA
+	default "kas/machine/qemuamd64-sb.yml" if MACHINE_QEMU_AMD64_SB
+	default "kas/machine/qemuamd64.yml" if MACHINE_QEMU_AMD64
+	default "kas/machine/qemuarm.yml" if MACHINE_QEMU_ARM
+	default "kas/machine/qemuarm64.yml" if MACHINE_QEMU_ARM64
+	default "kas/machine/qemui386.yml" if MACHINE_QEMU_I386
+	default "kas/machine/qemumipsel.yml" if MACHINE_QEMU_MIPSEL
+	default "kas/machine/qemuriscv64.yml" if MACHINE_QEMU_RISCV64
+	default "kas/machine/rpi-arm-v7.yml" if MACHINE_RPI_ARM_V7
+	default "kas/machine/rpi-arm-v7l.yml" if MACHINE_RPI_ARM_V7L
+	default "kas/machine/rpi-arm.yml" if MACHINE_RPI_ARM
+	default "kas/machine/rpi-arm64-v8.yml" if MACHINE_RPI_ARM64_V8
+	default "kas/machine/sifive-fu540.yml" if MACHINE_SIFIVE_FU540
+	default "kas/machine/starfive-visionfive2.yml" if MACHINE_STARFIVE_VISIONFIVE2
+	default "kas/machine/stm32mp15x.yml" if MACHINE_STM32MP15X
+	default "kas/machine/virtualbox.yml" if MACHINE_VIRTUALBOX
+	default "kas/machine/vmware.yml" if MACHINE_VMWARE
+
+endmenu
diff --git a/kas/machine/bananapi.yml b/kas/machine/bananapi.yml
new file mode 100644
index 00000000..e11caa87
--- /dev/null
+++ b/kas/machine/bananapi.yml
@@ -0,0 +1,4 @@
+header:
+  version: 14
+
+machine: bananapi
diff --git a/kas/machine/container-amd64.yml b/kas/machine/container-amd64.yml
new file mode 100644
index 00000000..93e47891
--- /dev/null
+++ b/kas/machine/container-amd64.yml
@@ -0,0 +1,4 @@
+header:
+  version: 14
+
+machine: container-amd64
diff --git a/kas/machine/de0-nano-soc.yml b/kas/machine/de0-nano-soc.yml
new file mode 100644
index 00000000..7a1a6bf1
--- /dev/null
+++ b/kas/machine/de0-nano-soc.yml
@@ -0,0 +1,4 @@
+header:
+  version: 14
+
+machine: de0-nano-soc
diff --git a/kas/machine/hikey.yml b/kas/machine/hikey.yml
new file mode 100644
index 00000000..05c362f0
--- /dev/null
+++ b/kas/machine/hikey.yml
@@ -0,0 +1,4 @@
+header:
+  version: 14
+
+machine: hikey
diff --git a/kas/machine/imx6-sabrelite.yml b/kas/machine/imx6-sabrelite.yml
new file mode 100644
index 00000000..4ee7b027
--- /dev/null
+++ b/kas/machine/imx6-sabrelite.yml
@@ -0,0 +1,4 @@
+header:
+  version: 14
+
+machine: imx6-sabrelite
diff --git a/kas/machine/nanopi-neo.yml b/kas/machine/nanopi-neo.yml
new file mode 100644
index 00000000..53c3aae6
--- /dev/null
+++ b/kas/machine/nanopi-neo.yml
@@ -0,0 +1,4 @@
+header:
+  version: 14
+
+machine: nanopi-neo
diff --git a/kas/machine/phyboard-mira.yml b/kas/machine/phyboard-mira.yml
new file mode 100644
index 00000000..9601593d
--- /dev/null
+++ b/kas/machine/phyboard-mira.yml
@@ -0,0 +1,4 @@
+header:
+  version: 14
+
+machine: phyboard-mira
diff --git a/kas/machine/qemuamd64-sb.yml b/kas/machine/qemuamd64-sb.yml
new file mode 100644
index 00000000..41297fab
--- /dev/null
+++ b/kas/machine/qemuamd64-sb.yml
@@ -0,0 +1,4 @@
+header:
+  version: 14
+
+machine: qemuamd64-sb
diff --git a/kas/machine/qemuamd64.yml b/kas/machine/qemuamd64.yml
new file mode 100644
index 00000000..ff686de4
--- /dev/null
+++ b/kas/machine/qemuamd64.yml
@@ -0,0 +1,4 @@
+header:
+  version: 14
+
+machine: qemuamd64
diff --git a/kas/machine/qemuarm.yml b/kas/machine/qemuarm.yml
new file mode 100644
index 00000000..64674c01
--- /dev/null
+++ b/kas/machine/qemuarm.yml
@@ -0,0 +1,4 @@
+header:
+  version: 14
+
+machine: qemuarm
diff --git a/kas/machine/qemuarm64.yml b/kas/machine/qemuarm64.yml
new file mode 100644
index 00000000..03d7aba4
--- /dev/null
+++ b/kas/machine/qemuarm64.yml
@@ -0,0 +1,4 @@
+header:
+  version: 14
+
+machine: qemuarm64
diff --git a/kas/machine/qemui386.yml b/kas/machine/qemui386.yml
new file mode 100644
index 00000000..1b68a809
--- /dev/null
+++ b/kas/machine/qemui386.yml
@@ -0,0 +1,4 @@
+header:
+  version: 14
+
+machine: qemui386
diff --git a/kas/machine/qemumipsel.yml b/kas/machine/qemumipsel.yml
new file mode 100644
index 00000000..a90c9fd4
--- /dev/null
+++ b/kas/machine/qemumipsel.yml
@@ -0,0 +1,4 @@
+header:
+  version: 14
+
+machine: qemumipsel
diff --git a/kas/machine/qemuriscv64.yml b/kas/machine/qemuriscv64.yml
new file mode 100644
index 00000000..f6d9c478
--- /dev/null
+++ b/kas/machine/qemuriscv64.yml
@@ -0,0 +1,4 @@
+header:
+  version: 14
+
+machine: qemuriscv64
diff --git a/kas/machine/rpi-arm-v7.yml b/kas/machine/rpi-arm-v7.yml
new file mode 100644
index 00000000..4a1b7999
--- /dev/null
+++ b/kas/machine/rpi-arm-v7.yml
@@ -0,0 +1,4 @@
+header:
+  version: 14
+
+machine: rpi-arm-v7
diff --git a/kas/machine/rpi-arm-v7l.yml b/kas/machine/rpi-arm-v7l.yml
new file mode 100644
index 00000000..ffa5e7b4
--- /dev/null
+++ b/kas/machine/rpi-arm-v7l.yml
@@ -0,0 +1,4 @@
+header:
+  version: 14
+
+machine: rpi-arm-v7l
diff --git a/kas/machine/rpi-arm.yml b/kas/machine/rpi-arm.yml
new file mode 100644
index 00000000..eb942be2
--- /dev/null
+++ b/kas/machine/rpi-arm.yml
@@ -0,0 +1,4 @@
+header:
+  version: 14
+
+machine: rpi-arm
diff --git a/kas/machine/rpi-arm64-v8.yml b/kas/machine/rpi-arm64-v8.yml
new file mode 100644
index 00000000..c64afe38
--- /dev/null
+++ b/kas/machine/rpi-arm64-v8.yml
@@ -0,0 +1,4 @@
+header:
+  version: 14
+
+machine: rpi-arm64-v8
diff --git a/kas/machine/sifive-fu540.yml b/kas/machine/sifive-fu540.yml
new file mode 100644
index 00000000..009a02cf
--- /dev/null
+++ b/kas/machine/sifive-fu540.yml
@@ -0,0 +1,4 @@
+header:
+  version: 14
+
+machine: sifive-fu540
diff --git a/kas/machine/starfive-visionfive2.yml b/kas/machine/starfive-visionfive2.yml
new file mode 100644
index 00000000..75f36974
--- /dev/null
+++ b/kas/machine/starfive-visionfive2.yml
@@ -0,0 +1,4 @@
+header:
+  version: 14
+
+machine: starfive-visionfive2
diff --git a/kas/machine/stm32mp15x.yml b/kas/machine/stm32mp15x.yml
new file mode 100644
index 00000000..9af101af
--- /dev/null
+++ b/kas/machine/stm32mp15x.yml
@@ -0,0 +1,4 @@
+header:
+  version: 14
+
+machine: stm32mp15x
diff --git a/kas/machine/virtualbox.yml b/kas/machine/virtualbox.yml
new file mode 100644
index 00000000..d5768a62
--- /dev/null
+++ b/kas/machine/virtualbox.yml
@@ -0,0 +1,4 @@
+header:
+  version: 14
+
+machine: virtualbox
diff --git a/kas/machine/vmware.yml b/kas/machine/vmware.yml
new file mode 100644
index 00000000..cec23b3b
--- /dev/null
+++ b/kas/machine/vmware.yml
@@ -0,0 +1,4 @@
+header:
+  version: 14
+
+machine: vmware
-- 
2.20.1


  reply	other threads:[~2023-09-15  6:44 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-15  6:44 [PATCH 00/13] Support building Isar using kas Uladzimir Bely
2023-09-15  6:44 ` Uladzimir Bely [this message]
2023-09-15  6:44 ` [PATCH 02/13] kas: Add a local copy of kas-container script Uladzimir Bely
2023-09-15  6:44 ` [PATCH 03/13] kas: Add dependencies between machine and distro configuration Uladzimir Bely
2023-09-16  9:34   ` Jan Kiszka
2023-09-19  6:30     ` Uladzimir Bely
2023-09-19  6:43       ` Jan Kiszka
2023-09-15  6:44 ` [PATCH 04/13] kas: Add mirror selection Uladzimir Bely
2023-09-16  9:34   ` Jan Kiszka
2023-09-19  6:31     ` Uladzimir Bely
2023-09-15  6:44 ` [PATCH 05/13] kas: Add packages selection Uladzimir Bely
2023-09-16  9:37   ` Jan Kiszka
2023-09-16 16:10     ` Jan Kiszka
2023-09-15  6:44 ` [PATCH 06/13] kas: Add COMPAT_ARCH support Uladzimir Bely
2023-09-15  6:44 ` [PATCH 07/13] kas: Add cross compilation mode selection support Uladzimir Bely
2023-09-15  6:44 ` [PATCH 08/13] kas: Add ccache option Uladzimir Bely
2023-09-15  6:44 ` [PATCH 09/13] kas: Add image type selection Uladzimir Bely
2023-09-16  9:57   ` Jan Kiszka
2023-09-19  6:32     ` Uladzimir Bely
2023-09-15  6:44 ` [PATCH 10/13] kas: Add IMAGE_FSTYPES selection Uladzimir Bely
2023-09-15  6:44 ` [PATCH 11/13] kas: Support CACHE_DEB_SRC option in menu Uladzimir Bely
2023-09-15  6:44 ` [PATCH 12/13] kas: Add options to activate predefined users Uladzimir Bely
2023-09-16  9:39   ` Jan Kiszka
2023-09-15  6:44 ` [PATCH 13/13] kas: Add Readme.md Uladzimir Bely
2023-09-16  9:40 ` [PATCH 00/13] Support building Isar using kas Jan Kiszka
2023-09-16 10:02   ` Jan Kiszka

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230915064426.27676-2-ubely@ilbers.de \
    --to=ubely@ilbers.de \
    --cc=isar-users@googlegroups.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox