Giter Site home page Giter Site logo

mobian's Introduction

mobian-recipes

A set of debos recipes for building a debian-based image for mobile phones, initially targetting Pine64's PinePhone.

Prebuilt images are available here.

The default user is mobian with password 1234.

Build

To build the image, you need to have debos and bmaptool. On a Debian-based system, install these dependencies by typing the following command in a terminal:

sudo apt install debos bmap-tools xz-utils

If you want to build an image for a Qualcomm-based device, additional packages are required, which you can install with the following command:

sudo apt install android-sdk-libsparse-utils yq

Do note that we recommend using Debian 12 (Bookworm) as previous versions didn't include the yq package.

Similarly, if you want to use F2FS for the root filesystem (which isn't such a good idea, as it has been known to cause corruption in the past), you'll need to install f2fs-tools as well.

The build system will cache and re-use it's output files. To create a fresh build remove *.tar.gz, *.sqfs and *.img before starting the build.

If your system isn't debian-based (or if you choose to install debos without using apt, which is a terrible idea), please make sure you also install the following required packages:

  • debootstrap
  • qemu-system-x86
  • qemu-user-static
  • binfmt-support
  • squashfs-tools-ng (only required for generating installer images)

Then simply browse to the mobian-recipes folder and execute ./build.sh.

You can use ./build.sh -d to use the docker version of debos.

Building QEMU image

You can build a QEMU x86_64 image by adding the -t amd64 flag to build.sh

The resulting files are raw images. You can start qemu like so:

qemu-system-x86_64 -drive format=raw,file=<imagefile.img> -enable-kvm \
    -cpu host -vga virtio -m 2048 -smp cores=4 \
    -drive if=pflash,format=raw,readonly=on,file=/usr/share/OVMF/OVMF_CODE.fd

UEFI firmware files are available in Debian thanks to the OVMF package. Comprehensive explanation about firmware files can be found at OVMF project's repository.

You may also want to convert the raw image to qcow2 format and resize it like this:

qemu-img convert -f raw -O qcow2 <raw_image.img> <qcow_image.qcow2>
qemu-img resize -f qcow2 <qcow_image.qcow2> +20G

Install

Insert a MicroSD card into your computer, and type the following command:

sudo bmaptool copy <image> /dev/<sdcard>

or:

sudo dd if=<image> of=/dev/<sdcard> bs=1M

Note: Make sure to use your actual SD card device, such as mmcblk0 instead of <sdcard>.

CAUTION: This will format the SD card and erase all its contents!!!

Contributing

If you want to help with this project, please have a look at the roadmap and open issues.

In case you need more information, feel free to get in touch with the developers on #mobian:matrix.org.

License

This software is licensed under the terms of the GNU General Public License, version 3.

mobian's People

Contributors

a-wai avatar fortysixandtwo avatar nmschulte avatar tiol11 avatar julianfairfax avatar baby-gnu avatar spaetz avatar kop316 avatar eugenr avatar koenvervloesem avatar anthonyjmartinez avatar erikinkinen avatar marvil07 avatar tomasz-oponowicz avatar mimi89999 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.