UBports Robot Logo UBports Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    Halium 12.0 + LineageOS 19.1 + Ubuntu Touch (Focal 20.04) for Samsung Galaxy S10 (beyond1lte) Build rootfs From Scratch

    Scheduled Pinned Locked Moved Porting
    4 Posts 2 Posters 3.6k Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • B Offline
      BaShMu
      last edited by

      I'm trying to build a root file system for the device;

      Device codename: beyond1lte
      Device model: Samsung Galaxy S10 (SM-G973F)
      Chipset: Exynos 9820
      Halium version: 12.0
      LineageOS version: 19.1
      Ubuntu Touch version: Focal 20.04

      The instructions I'm using come from ChatGPT which appears to be very outdated in this instance. It tells me to make the file system with UBports rootfs-builder from;

      https://github.com/ubports/rootfs-builder.git

      Which isn't available at that link.

      Can anyone please point me in the right direction to this tool or something similar for building file systems for Ubuntu Touch.

      F B 2 Replies Last reply Reply Quote 0
      • F Offline
        faveoled @BaShMu
        last edited by

        @BaShMu this tutorial includes kernel compilation and rootfs creation after it:
        https://docs.ubports.com/en/latest/porting/build_and_boot/standalone_kernel_build.html

        1 Reply Last reply Reply Quote 2
        • B Offline
          BaShMu @BaShMu
          last edited by

          The steps I am following are as follows;

          Here’s a streamlined step-by-step guide to build Halium 12.0 + LineageOS 19.x + Ubuntu Touch (Focal 20.04) for Samsung Galaxy S10 (beyond1lte) on Parrot Linux, using the exynos9820 kernel tree and vendor_samsung.


          🧰 Prerequisites

          βœ… System Setup (Parrot OS)

          1. Install required packages:

            sudo apt update
            sudo apt install git-core gnupg flex bison build-essential zip curl zlib1g-dev \
              gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev \
              libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip \
              fontconfig bc python-is-python3 python3-pip repo lzop
            
          2. Set up git credentials:

            git config --global user.name "Your Name"
            git config --global user.email "you@example.com"
            

          πŸ—‚οΈ Create Working Directories

          mkdir -p ~/halium-12.0-beyond1lte
          cd ~/halium-12.0-beyond1lte
          

          Make sure your build location is on an ext4 partition, not NTFS, or it will fail.


          πŸ” Initialize and Sync Halium + LineageOS Trees

          repo init -u https://github.com/Halium/android -b halium-12.0 --depth=1
          repo sync -c -j$(nproc --all) --force-sync --no-clone-bundle --no-tags
          

          πŸ“¦ Clone Required Device Trees

          git clone https://github.com/LineageOS/android_device_samsung_beyond1lte -b lineage-19.1 device/samsung/beyond1lte
          git clone https://github.com/LineageOS/android_device_samsung_exynos9820-common.git -b lineage-19.1 device/samsung/exynos9820-common
          git clone https://github.com/TheMuppets/proprietary_vendor_samsung -b lineage-19.1 vendor/samsung
          git clone https://github.com/LineageOS/android_kernel_samsung_exynos9820 -b lineage-19.1 kernel/samsung/exynos9820
          

          πŸ› οΈ Apply Halium Patches

          Use Halium’s helper script:

          bash halium/devices/setup-device device/samsung/beyond1lte
          

          Or apply relevant patches manually from:
          πŸ‘‰ https://github.com/Halium/halium-devices/

          Make sure to patch:

          • init
          • system/core
          • build
          • system/sepolicy

          βš™οΈ Prepare Ubuntu Touch Rootfs

          1. Install ubuntu-device-flash and pmbootstrap if needed.

          2. Download rootfs:

            mkdir -p ubuntu-touch
            cd ubuntu-touch
            wget https://cdimage.ubports.com/ubuntu-touch/edge/channel/halium/ubuntu-touch-android12-arm64-rootfs.tar.gz
            

          🧱 Build Halium System

          source build/envsetup.sh
          lunch lineage_beyond1lte-eng
          mka halium-boot
          mka systemimage
          

          Output images will be in out/target/product/beyond1lte/


          πŸ“€ Flash the Device (Example)

          fastboot flash boot out/target/product/beyond1lte/halium-boot.img
          fastboot flash system out/target/product/beyond1lte/system.img
          

          Then push the rootfs and resize:

          adb shell
          mkdir /data/rootfs
          exit
          
          adb push ubuntu-touch-android12-arm64-rootfs.tar.gz /data/
          adb shell
          cd /data
          tar -xzf ubuntu-touch-android12-arm64-rootfs.tar.gz
          

          βœ… Final Steps

          • Set up libhybris compatibility.
          • Adjust fstab, init.rc, and udev.
          • Test Halium Boot β†’ If it gets to root shell, you're almost there.
          • Deploy Ubuntu Touch via ubports-installer or halium-install.
          F 1 Reply Last reply Reply Quote -1
          • F Offline
            faveoled @BaShMu
            last edited by

            @BaShMu it's an old way of porting devices. Use the tutorial I linked

            1 Reply Last reply Reply Quote 1
            • A atarilinux referenced this topic on

            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

            With your input, this post could be even better πŸ’—

            Register Login
            • First post
              Last post