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.5k 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