arm-sdk

os build toolkit for various embedded devices
git clone https://git.parazyd.org/arm-sdk
Log | Files | Refs | Submodules | README | LICENSE

commit 1377c494fe06765f58368a66e179de3e1d9852e8
parent 8ee145f1b5afdde9cc7d23e4803c96c799c2fe11
Author: parazyd <parazyd@dyne.org>
Date:   Mon, 25 Apr 2016 02:58:19 +0200

touchups, respect devuan naming scheme

Diffstat:
MREADME.md | 49+++++++++++++++++++++++++++++++++++--------------
Marm/init-arm | 24+++++++++++-------------
Marm/profiles/common-devuan | 28++++++++++++++--------------
Marm/qemu-wrapper.c | 22++++++++++------------
Marm/scripts/bananapi.sh | 26++++++++++++--------------
Marm/scripts/bananapro.sh | 26++++++++++++--------------
Marm/scripts/chromebook-acer.sh | 26++++++++++++--------------
Marm/scripts/cubieboard2.sh | 26++++++++++++--------------
Marm/scripts/cubietruck.sh | 26++++++++++++--------------
Marm/scripts/odroid-xu.sh | 30+++++++++++++++---------------
Marm/scripts/raspberry-pi-2.sh | 26++++++++++++--------------
Msdk | 24+++++++++++-------------
12 files changed, 168 insertions(+), 165 deletions(-)

diff --git a/README.md b/README.md @@ -23,11 +23,13 @@ On any other, find the equivalents of the aforementioned packages. ## Quick start -First clone the SDK repository: - ``` ; git clone https://github.com/dyne/arm-sdk.git +# OR +; git clone https://git.devuan.org/devuan/arm-sdk.git ``` +If you have cloned the repository before, please to a `git pull` in order +to update to the latest versions. Your experience will be better. Edit the `config` file to match your crosscompile toolchain. Consult `arm/README.md` if you're in a need of a precompiled one, then @@ -67,11 +69,32 @@ Once initialized, you will get further instructions. For more info, please consult the `README` included in the `arm` subdirectory. +After the image is built, you will find it compressed, along with its sha256 sum +in the `arm/finished/` directory. The default root password is `toor` and SSH +with permitted root login is enabled on startup, along with DHCP to get you up +and running headless if you require it. + ## Configuration Edit the `config` file included in the root directory of arm-sdk to your liking. If you are using a custom toolchain, add it to the PATH as described. +## Notes and quirks for specific devices + +### ODROID XU +* The kernel refuses to build with Devuan's default toolchain `arm-none-eabi`. + Use `arm-linux-gnueabi-4.7` that I provide on https://pub.parazyd.cf/mirror + instead. + +### Raspberry Pi 2 +* This build script will create an image that also works on the Raspberry Pi 3. + It also includes the required firmware for getting onboard Wifi/Bluetooth + working. + +### Acer Chromebook +* The Chromebook I tested this image on names the wireless interface `mlan0`, so + please keep note of it when you try connecting to an access point. + ## Acknowledgments The Devuan SDK was conceived during a period of residency at the @@ -79,21 +102,19 @@ Schumacher college in Dartington UK, greatly inspired by the laborious and mindful atmosphere of its wonderful premises. ARM SDK is Copyright (c) 2016 by the Dyne.org Foundation - ARM SDK is designed, written and maintained by parazyd <parazyd@dyne.org> -Inspiration taken from Devuan SDK and Kali Linux ARM buildscripts. +The ARM SDK also uses code from Devuan SDK and Kali Linux ARM buildscripts. -This source code is free software; you can redistribute it and/or -modify it under the terms of the GNU Public License as published by -the Free Software Foundation; either version 3 of the License, or (at -your option) any later version. +This source code is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. -This source code is distributed in the hope that it will be useful, +This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Please refer to -the GNU Public License for more details. +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. -You should have received a copy of the GNU Public License along with -this source code; if not, write to: Free Software Foundation, Inc., -675 Mass Ave, Cambridge, MA 02139, USA. +You should have received a copy of the GNU General Public License +along with this source code. If not, see <http://www.gnu.org/licenses/>. diff --git a/arm/init-arm b/arm/init-arm @@ -1,24 +1,22 @@ #!/usr/bin/env zsh # -# ARM SDK +# Copyright (c) 2016 Dyne.org Foundation +# ARM SDK is written and maintained by parazyd <parazyd@dyne.org> # -# Copyright (C) 2016 Dyne.org Foundation +# This file is part of ARM SDK # -# ARM SDK is designed, written and maintained by parazyd <parazyd@dyne.org> -# -# This source code is free software; you can redistribute it and/or -# modify it under the terms of the GNU Public License as published by -# the Free Software Foundation; either version 3 of the License, or +# This source code is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # -# This source code is distributed in the hope that it will be useful, +# This software is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Please refer -# to the GNU Public License for more details. +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. # -# You should have received a copy of the GNU Public License along with -# this source code; if not, write to: Free Software Foundation, Inc., -# 675 Mass Ave, Cambridge, MA 02139, USA. +# You should have received a copy of the GNU General Public License +# along with this source code. If not, see <http://www.gnu.org/licenses/>. init() { fn init $* diff --git a/arm/profiles/common-devuan b/arm/profiles/common-devuan @@ -1,31 +1,29 @@ #!/usr/bin/env zsh # -# ARM SDK +# Copyright (c) 2016 Dyne.org Foundation +# ARM SDK is written and maintained by parazyd <parazyd@dyne.org> # -# Copyright (C) 2016 Dyne.org Foundation +# This file is part of ARM SDK # -# ARM SDK is designed, written and maintained by parazyd <parazyd@dyne.org> -# -# This source code is free software; you can redistribute it and/or -# modify it under the terms of the GNU Public License as published by -# the Free Software Foundation; either version 3 of the License, or +# This source code is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # -# This source code is distributed in the hope that it will be useful, +# This software is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Please refer -# to the GNU Public License for more details. +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. # -# You should have received a copy of the GNU Public License along with -# this source code; if not, write to: Free Software Foundation, Inc., -# 675 Mass Ave, Cambridge, MA 02139, USA. +# You should have received a copy of the GNU General Public License +# along with this source code. If not, see <http://www.gnu.org/licenses/>. # # Common functions for builds # -- settings -- release=jessie section=main -version=beta +version=1.0.0-beta mirror=http://packages.devuan.org/merged core_packages=(debian-keyring devuan-keyring) @@ -360,6 +358,8 @@ ${device_name}-pack-image() { sudo e2fsck -f ${mappdevice}p2 sudo resize2fs ${mappdevice}p2 + sleep 4 + sudo kpartx -dv $loopdevice [[ $? = 0 ]] || error "kpartx failed to remove $loopdevice" sudo losetup -d $loopdevice diff --git a/arm/qemu-wrapper.c b/arm/qemu-wrapper.c @@ -1,23 +1,21 @@ /* - * ARM SDK - * * Copyright (c) 2016 Dyne.org Foundation - * * ARM SDK is written and maintained by parazyd <parazyd@dyne.org> * - * This source code is free software; you can redistribute it and/or - * modify it under the terms of the GNU Public License as published by - * the Free Software Foundation; either version 3 of the License, or + * This file is part of ARM SDK + * + * This source code is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * - * This source code is distributed in the hope that it will be useful, + * This software is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Please refer - * to the GNU Public License for more details. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. * - * You should have received a copy of the GNU Public License along with - * this source code; if not, write to: Free Software Foundation, Inc., - * 675 Mass Ave, Cambridge, MA 02139, USA. + * You should have received a copy of the GNU General Public License + * along with this source code. If not, see <http://www.gnu.org/licenses/>. */ #include <string.h> diff --git a/arm/scripts/bananapi.sh b/arm/scripts/bananapi.sh @@ -1,24 +1,22 @@ #!/usr/bin/env zsh # -# ARM SDK +# Copyright (c) 2016 Dyne.org Foundation +# ARM SDK is written and maintained by parazyd <parazyd@dyne.org> # -# Copyright (C) 2016 Dyne.org Foundation +# This file is part of ARM SDK # -# ARM SDK is designed, written and maintained by parazyd <parazyd@dyne.org> -# -# This source code is free software; you can redistribute it and/or -# modify it under the terms of the GNU Public License as published by -# the Free Software Foundation; either version 3 of the License, or +# This source code is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # -# This source code is distributed in the hope that it will be useful, +# This software is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Please refer -# to the GNU Public License for more details. +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. # -# You should have received a copy of the GNU Public License along with -# this source code; if not, write to: Free Software Foundation, Inc., -# 675 Mass Ave, Cambridge, MA 02139, USA. +# You should have received a copy of the GNU General Public License +# along with this source code. If not, see <http://www.gnu.org/licenses/>. # # ARM SDK build script for BananaPi devices (armhf) @@ -36,7 +34,7 @@ custmodules=(sunxi_emac) workdir="$R/arm/${device_name}-build" strapdir="${workdir}/${os}-${arch}" source $common -image_name="${os}-${release}-${version}-${arch}-${device_name}" +image_name="${os}_${release}_${version}_${arch}_${device_name}" # -- end settings -- diff --git a/arm/scripts/bananapro.sh b/arm/scripts/bananapro.sh @@ -1,24 +1,22 @@ #!/usr/bin/env zsh # -# ARM SDK +# Copyright (c) 2016 Dyne.org Foundation +# ARM SDK is written and maintained by parazyd <parazyd@dyne.org> # -# Copyright (C) 2016 Dyne.org Foundation +# This file is part of ARM SDK # -# ARM SDK is designed, written and maintained by parazyd <parazyd@dyne.org> -# -# This source code is free software; you can redistribute it and/or -# modify it under the terms of the GNU Public License as published by -# the Free Software Foundation; either version 3 of the License, or +# This source code is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # -# This source code is distributed in the hope that it will be useful, +# This software is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Please refer -# to the GNU Public License for more details. +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. # -# You should have received a copy of the GNU Public License along with -# this source code; if not, write to: Free Software Foundation, Inc., -# 675 Mass Ave, Cambridge, MA 02139, USA. +# You should have received a copy of the GNU General Public License +# along with this source code. If not, see <http://www.gnu.org/licenses/>. # # ARM SDK build script for BananaPro devices (armhf) @@ -36,7 +34,7 @@ custmodules=(sunxi_emac) workdir="$R/arm/${device_name}-build" strapdir="${workdir}/${os}-${arch}" source $common -image_name="${os}-${release}-${version}-${arch}-${device_name}" +image_name="${os}_${release}_${version}_${arch}_${device_name}" # -- end settings -- diff --git a/arm/scripts/chromebook-acer.sh b/arm/scripts/chromebook-acer.sh @@ -1,24 +1,22 @@ #!/usr/bin/env zsh # -# ARM SDK +# Copyright (c) 2016 Dyne.org Foundation +# ARM SDK is written and maintained by parazyd <parazyd@dyne.org> # -# Copyright (C) 2016 Dyne.org Foundation +# This file is part of ARM SDK # -# ARM SDK is designed, written and maintained by parazyd <parazyd@dyne.org> -# -# This source code is free software; you can redistribute it and/or -# modify it under the terms of the GNU Public License as published by -# the Free Software Foundation; either version 3 of the License, or +# This source code is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # -# This source code is distributed in the hope that it will be useful, +# This software is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Please refer -# to the GNU Public License for more details. +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. # -# You should have received a copy of the GNU Public License along with -# this source code; if not, write to: Free Software Foundation, Inc., -# 675 Mass Ave, Cambridge, MA 02139, USA. +# You should have received a copy of the GNU General Public License +# along with this source code. If not, see <http://www.gnu.org/licenses/>. # # ARM SDK build script for Acer Chromebook devices (armhf) @@ -39,7 +37,7 @@ custmodules=() workdir="$R/arm/${device_name}-build" strapdir="${workdir}/${os}-${arch}" source $common -image_name="${os}-${release}-${version}-${arch}-${device_name}" +image_name="${os}_${release}_${version}_${arch}_${device_name}" # -- end settings -- ${device_name}-build-kernel() { diff --git a/arm/scripts/cubieboard2.sh b/arm/scripts/cubieboard2.sh @@ -1,24 +1,22 @@ #!/usr/bin/env zsh # -# ARM SDK +# Copyright (c) 2016 Dyne.org Foundation +# ARM SDK is written and maintained by parazyd <parazyd@dyne.org> # -# Copyright (C) 2016 Dyne.org Foundation +# This file is part of ARM SDK # -# ARM SDK is designed, written and maintained by parazyd <parazyd@dyne.org> -# -# This source code is free software; you can redistribute it and/or -# modify it under the terms of the GNU Public License as published by -# the Free Software Foundation; either version 3 of the License, or +# This source code is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # -# This source code is distributed in the hope that it will be useful, +# This software is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Please refer -# to the GNU Public License for more details. +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. # -# You should have received a copy of the GNU Public License along with -# this source code; if not, write to: Free Software Foundation, Inc., -# 675 Mass Ave, Cambridge, MA 02139, USA. +# You should have received a copy of the GNU General Public License +# along with this source code. If not, see <http://www.gnu.org/licenses/>. # # ARM SDK build script for Cubieboard 2 devices (armhf) @@ -36,7 +34,7 @@ custmodules=(sunxi_emac) workdir="$R/arm/${device_name}-build" strapdir="${workdir}/${os}-${arch}" source $common -image_name="${os}-${release}-${version}-${arch}-${device_name}" +image_name="${os}_${release}_${version}_${arch}_${device_name}" # -- end settings -- diff --git a/arm/scripts/cubietruck.sh b/arm/scripts/cubietruck.sh @@ -1,24 +1,22 @@ #!/usr/bin/env zsh # -# ARM SDK +# Copyright (c) 2016 Dyne.org Foundation +# ARM SDK is written and maintained by parazyd <parazyd@dyne.org> # -# Copyright (C) 2016 Dyne.org Foundation +# This file is part of ARM SDK # -# ARM SDK is designed, written and maintained by parazyd <parazyd@dyne.org> -# -# This source code is free software; you can redistribute it and/or -# modify it under the terms of the GNU Public License as published by -# the Free Software Foundation; either version 3 of the License, or +# This source code is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # -# This source code is distributed in the hope that it will be useful, +# This software is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Please refer -# to the GNU Public License for more details. +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. # -# You should have received a copy of the GNU Public License along with -# this source code; if not, write to: Free Software Foundation, Inc., -# 675 Mass Ave, Cambridge, MA 02139, USA. +# You should have received a copy of the GNU General Public License +# along with this source code. If not, see <http://www.gnu.org/licenses/>. # # ARM SDK build script for Cubietruck devices (armhf) @@ -36,7 +34,7 @@ custmodules=(sunxi_gmac) workdir="$R/arm/${device_name}-build" strapdir="${workdir}/${os}-${arch}" source $common -image_name="${os}-${release}-${version}-${arch}-${device_name}" +image_name="${os}_${release}_${version}_${arch}_${device_name}" # -- end settings -- diff --git a/arm/scripts/odroid-xu.sh b/arm/scripts/odroid-xu.sh @@ -1,24 +1,22 @@ #!/usr/bin/env zsh # -# ARM SDK +# Copyright (c) 2016 Dyne.org Foundation +# ARM SDK is written and maintained by parazyd <parazyd@dyne.org> # -# Copyright (C) 2016 Dyne.org Foundation +# This file is part of ARM SDK # -# ARM SDK is designed, written and maintained by parazyd <parazyd@dyne.org> -# -# This source code is free software; you can redistribute it and/or -# modify it under the terms of the GNU Public License as published by -# the Free Software Foundation; either version 3 of the License, or +# This source code is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # -# This source code is distributed in the hope that it will be useful, +# This software is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Please refer -# to the GNU Public License for more details. +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. # -# You should have received a copy of the GNU Public License along with -# this source code; if not, write to: Free Software Foundation, Inc., -# 675 Mass Ave, Cambridge, MA 02139, USA. +# You should have received a copy of the GNU General Public License +# along with this source code. If not, see <http://www.gnu.org/licenses/>. # # ARM SDK build script for ODROID XU devices (armhf) @@ -40,7 +38,7 @@ custmodules=() workdir="$R/arm/${device_name}-build" strapdir="${workdir}/${os}-${arch}" source $common -image_name="${os}-${release}-${version}-${arch}-${device_name}" +image_name="${os}_${release}_${version}_${arch}_${device_name}" # -- end settings -- @@ -83,7 +81,9 @@ EOF ./configure --prefix=/usr --build x86_64-pc-linux-gnu --host ${hosttuple} make - sudo make DESTDIR=${strapdir} install + sudo chown $USER ${strapdir}/usr/{bin,lib} + make DESTDIR=${strapdir} install + sudo chown $USER ${strapdir}/usr/{bin,lib} sudo sed -i -e 's~^exit 0~exynos5-hwcomposer > /dev/null 2>\&1 \&\nexit 0~' ${strapdir}/etc/rc.local diff --git a/arm/scripts/raspberry-pi-2.sh b/arm/scripts/raspberry-pi-2.sh @@ -1,24 +1,22 @@ #!/usr/bin/env zsh # -# ARM SDK +# Copyright (c) 2016 Dyne.org Foundation +# ARM SDK is written and maintained by parazyd <parazyd@dyne.org> # -# Copyright (C) 2016 Dyne.org Foundation +# This file is part of ARM SDK # -# ARM SDK is designed, written and maintained by parazyd <parazyd@dyne.org> -# -# This source code is free software; you can redistribute it and/or -# modify it under the terms of the GNU Public License as published by -# the Free Software Foundation; either version 3 of the License, or +# This source code is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # -# This source code is distributed in the hope that it will be useful, +# This software is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Please refer -# to the GNU Public License for more details. +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. # -# You should have received a copy of the GNU Public License along with -# this source code; if not, write to: Free Software Foundation, Inc., -# 675 Mass Ave, Cambridge, MA 02139, USA. +# You should have received a copy of the GNU General Public License +# along with this source code. If not, see <http://www.gnu.org/licenses/>. # # ARM SDK build script for Raspberry Pi 2 and 3 devices (armhf) @@ -37,7 +35,7 @@ custmodules=() workdir="$R/arm/${armdev}-build" strapdir="${workdir}/${os}-${arch}" source $common -image_name="${os}-${release}-${version}-${arch}-${device_name}" +image_name="${os}_${release}_${version}_${arch}_${device_name}" # -- end settings -- ${device_name}-build-kernel() { diff --git a/sdk b/sdk @@ -1,24 +1,22 @@ #!/usr/bin/env zsh # -# ARM SDK -# # Copyright (c) 2016 Dyne.org Foundation -# # ARM SDK is written and maintained by parazyd <parazyd@dyne.org> # -# This source code is free software; you can redistribute it and/or -# modify it under the terms of the GNU Public License as published by -# the Free Software Foundation; either version 3 of the License, or +# This file is part of ARM SDK +# +# This source code is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # -# This source code is distributed in the hope that it will be useful, +# This software is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Please refer -# to the GNU Public License for more details. +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. # -# You should have received a copy of the GNU Public License along with -# this source code; if not, write to: Free Software Foundation, Inc., -# 675 Mass Ave, Cambridge, MA 02139, USA. +# You should have received a copy of the GNU General Public License +# along with this source code. If not, see <http://www.gnu.org/licenses/>. # setup zsh options setopt pushdsilent @@ -72,5 +70,5 @@ else notice "ARM SDK loaded" typeset -h sdk_loaded sdk_loaded=1 - export RPROMPT=ARM SDK + export RPROMPT="ARM SDK" fi