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

    Xiaomi Redmi 4X (santoni)

    Scheduled Pinned Locked Moved Xiaomi Redmi 4/4X
    xiaomiredmi
    111 Posts 41 Posters 50.0k Views 11 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.
      • M Offline
        maciekrz12
        last edited by

        Hi @Danct12
        I followed your steps but I cannot get it working (as contrary to LOS 16).
        Halium seems ok

        ❯ fastboot boot ../../fastboot/imgs/halium-boot.img
        downloading 'boot.img'...
        OKAY [  0.507s]
        booting...
        OKAY [  0.792s]
        finished. total time: 1.299s
        

        Using halium scirpt seems to work

        ❯./halium-install -p ut ../redmi_4/ubports-touch.rootfs-xenial-armhf.tar.gz ../redmi_4/system.img
        ...
        * daemon started successfully
        .halium-install-imgs.kdniI/rootfs.img: 1 file pushed. 29.4 MB/s (3221225472 bytes in 104.455s)
        I:    Pushing android image to /data via ADB
        .halium-install-imgs.kdniI/system.img: 1 file pushed. 29.2 MB/s (530046976 bytes in 17.321s)
        
        real	2m4,878s
        user	0m0,895s
        sys	0m4,792s
        I: Cleaning up
        umount: .halium-install-rootfs.YfPsB: not mounted.
        

        Reboot dmesg -w output

        [  580.375260] usb 1-10: USB disconnect, device number 8
        [  591.295694] usb 1-10: new high-speed USB device number 9 using xhci_hcd
        [  591.316082] usb 1-10: device descriptor read/8, error -32
        [  591.444080] usb 1-10: device descriptor read/8, error -32
        [  591.887680] usb 1-10: new high-speed USB device number 10 using xhci_hcd
        [  591.908635] usb 1-10: New USB device found, idVendor=18d1, idProduct=d001, bcdDevice= 3.18
        [  591.908640] usb 1-10: New USB device strings: Mfr=1, Product=2, SerialNumber=3
        [  591.908643] usb 1-10: Product: Failed to boot
        [  591.908646] usb 1-10: Manufacturer: Halium initrd
        [  591.908648] usb 1-10: SerialNumber: halium-initrd
        [  591.911580] rndis_host 1-10:1.0 usb0: register 'rndis_host' at usb-0000:00:14.0-10, RNDIS device, ce:bd:52:32:a7:cb
        [  591.929671] rndis_host 1-10:1.0 enp0s20f0u10: renamed from usb0
        

        SSH does not seem to work (either by using connect script or manual setup)

        ./connect.py -p ssh -u phablet                                                                  
        * The device seems to be connected as enp0s20f0u10
        * Connecting using ssh
        ssh: connect to host 10.15.19.82 port 22: No route to host
        

        Telnet is working though but:

        cat /var/lib/lxc/android/rootfs/ueventd*.rc|grep ^/dev|sed -e 's/^\/dev\///'|awk '{printf "ACTION==\"add\", KERNEL==\"%s\", OWNER=\"%s\", GROUP=\"%s\", MODE=\"%s\"\n",$1,$3,$4,$2}' | sed -e 's/\r//' >
        /usr/lib/lxc-android-config/70-[santoni].rules
        cat: can't open '/var/lib/lxc/android/rootfs/ueventd*.rc': No such file or directory
        /bin/sh: can't create /usr/lib/lxc-android-config/70-[santoni].rules: nonexistent directory
        

        Additionaly

        ls -la /var/
        total 0
        drwxr-xr-x    3 0        0               60 Jun  2 22:38 .
        drwxr-xr-x   22 0        0              460 Jun  2 22:39 ..
        drwxr-xr-x    2 0        0               40 Jun  2 22:38 lock
        
        
        ls -la /lib/
        total 144
        drwxr-xr-x    7 0        0              180 Mar  6  2020 .
        drwxr-xr-x   22 0        0              460 Jun  2 22:39 ..
        drwxr-xr-x    2 0        0              740 Mar  6  2020 aarch64-linux-gnu
        -rwxr-xr-x    1 0        0           144064 May  8  2016 klibc-l2KWxiQhsOhwWkxGl3jGkrDaJnQ.so
        lrwxrwxrwx    1 0        0               28 Mar  6  2020 ld-linux-aarch64.so.1 -> aarch64-linux-gnu/ld-2.24.so
        drwxr-xr-x    2 0        0               80 Mar  6  2020 modprobe.d
        drwxr-xr-x    3 0        0               60 Mar  6  2020 modules
        drwxr-xr-x    3 0        0               80 Mar  6  2020 systemd
        drwxr-xr-x    3 0        0              100 Mar  6  2020 udev
        

        Any ideas?

        M Danct12D 2 Replies Last reply Reply Quote 0
        • M Offline
          maciekrz12 @maciekrz12
          last edited by

          • sorry for mistake - the first one was
          fastboot flash boot ../../fastboot/imgs/halium-boot.img
          
          1 Reply Last reply Reply Quote 0
          • D Offline
            danqo6 @Danct12
            last edited by danqo6

            @Danct12 all LOS 14.1 roms I found works. ( ROMs before official LOS) I have twrp 3.3.1, I formatted data as ext4. I have 3GB version of redmi 4x, my LCD display was changed once. My logs seems ok, but I am unable to get even telnet working. Other my halium 14.1 devices are working fine using this method (hammerhead and kenzo). I am not sure what else to do.

            [dano@dano-80qd Downloads]$ ./halium-install/halium-install -p ut ubports-touch.rootfs-xenial-armhf.tar.gz system.img 
            [sudo] password for dano: 
            Debug: Chosen rootfs is ubports-touch.rootfs-xenial-armhf.tar.gz
            Debug: Chosen android image is system.img
            Debug: Chosen release is ut
            Debug: Compress images before pushing: false
            
            I: Writing rootfs into mountable image
            I: Writing android image into mountable image
            I: Running post installation tasks
            enabling Mir ... [done]
            enabling SSH ... [done]
            Please enter a new password for the user 'phablet':
            Enter new UNIX password: 
            Retype new UNIX password: 
            passwd: password updated successfully
            I: Shrinking images
            e2fsck 1.45.6 (20-Mar-2020)
            resize2fs 1.45.6 (20-Mar-2020)
            Resizing the filesystem on .halium-install-imgs.KFoU8/system.img to 129406 (4k) blocks.
            Begin pass 2 (max = 32743)
            Relocating blocks             XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
            Begin pass 3 (max = 24)
            Scanning inode table          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
            The filesystem on .halium-install-imgs.KFoU8/system.img is now 129406 (4k) blocks long.
            
            I: Unmounting images
            I: Pushing rootfs and android image to /data via ADB
            I:    Pushing rootfs to /data via ADB
            * daemon not running; starting now at tcp:5037
            * daemon started successfully
            .halium-install-imgs.KFoU8/rootfs.img: 1 file pushed, 0 skipped. 13.2 MB/s (3221225472 bytes in 233.033s)
            I:    Pushing android image to /data via ADB
            .halium-install-imgs.KFoU8/system.img: 1 file pushed, 0 skipped. 13.1 MB/s (530046976 bytes in 38.671s)
            
            real	4m32,192s
            user	0m0,484s
            sys	0m4,332s
            I: Cleaning up
            umount: .halium-install-rootfs.ttgv0: not mounted.
            [dano@dano-80qd Downloads]$ sudo fastboot  flash boot halium-boot.img 
            [sudo] password for dano: 
            Sending 'boot' (16084 KB)                          OKAY [  0.557s]
            Writing 'boot'                                     OKAY [  0.137s]
            Finished. Total time: 0.699s
            [dano@dano-80qd Downloads]$ sudo fastboot reboot
            Rebooting                                          OKAY [  0.000s]
            Finished. Total time: 0.050s
            [dano@dano-80qd halium-install]$ sudo dmesg -w
            ...
            [15392.651927] usb 1-3: new high-speed USB device number 19 using xhci_hcd
            [15392.669563] usb 1-3: New USB device found, idVendor=18d1, idProduct=d001, bcdDevice= 3.18
            [15392.669569] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
            [15392.669573] usb 1-3: Product: Redmi 4
            [15392.669576] usb 1-3: Manufacturer: Xiaomi
            [15392.669579] usb 1-3: SerialNumber: 225ac30a7d04
            [15400.207598] usb 1-3: USB disconnect, device number 19
            //reboot from recovery to fastboot
            [15400.531883] usb 1-3: new high-speed USB device number 20 using xhci_hcd
            [15400.549566] usb 1-3: New USB device found, idVendor=18d1, idProduct=4ee2, bcdDevice= 3.18
            [15400.549572] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
            [15400.549576] usb 1-3: Product: Redmi 4
            [15400.549579] usb 1-3: Manufacturer: Xiaomi
            [15400.549582] usb 1-3: SerialNumber: 225ac30a7d04
            [15438.269896] usb 1-3: USB disconnect, device number 20
            //reboot from fastboot to system(no other logs)
            [15440.886720] audit: type=1100 audit(1585657060.387:1823): pid=46212 uid=1000 auid=1000 ses=2 msg='op=PAM:unix_chkpwd acct="dano" exe="/usr/bin/unix_chkpwd" hostname=? addr=? terminal=? res=success'
            ^C
            
            
            
            Danct12D 1 Reply Last reply Reply Quote 0
            • S Offline
              suoko
              last edited by

              It would be nice to have an option to install ubports with
              Xiaomi tool v2, with dual boot option.
              Not sure it's an open project though.

              LakotaubpL 1 Reply Last reply Reply Quote 0
              • LakotaubpL Offline
                Lakotaubp @suoko
                last edited by

                @suoko UBports does not support duel boot I'm afraid, sorry.

                1 Reply Last reply Reply Quote 0
                • Danct12D Offline
                  Danct12 @maciekrz12
                  last edited by

                  @maciekrz12 said in Xiaomi Redmi 4X (santoni):

                  Failed to boot

                  If your device's userdata partition is encrypted then unfortunately you'll have to format it, meaning you'll lose all your data.

                  To do so, goto TWRP -> Wipe -> Format Data (the button is in red)

                  After that reinstall Ubuntu and hopefully it'll work. If not please telnet and give me dmesg (put it on pastebin or something).

                  M 1 Reply Last reply Reply Quote 0
                  • S Offline
                    sasa25
                    last edited by

                    Hi
                    Can i install this just from my phone using TWRP or i must connect to pc and install it from pc terminal using linux? Do you have instructions for dummies i dont get this.I use Ubuntu on pc so i would like to try it on the phone as well. Thanks

                    1 Reply Last reply Reply Quote 0
                    • S Offline
                      suoko @aceclan
                      last edited by suoko

                      @aceclan I'm trying to understand this dual boot since I don't see any resize of any partitions.
                      Can you explain how that works ?
                      I understand you flash the boot image according to the os you want to boot, but where are located the two images of android and ubuntu ?

                      One question then: my TWRP folder only contains a .twrps file, is that fine ?

                      A 1 Reply Last reply Reply Quote 0
                      • M Offline
                        maciekrz12 @Danct12
                        last edited by

                        @Danct12 THANK YOU!
                        I've been wiping all the time instead of formatting. Now it works just fine 🙂

                        1 Reply Last reply Reply Quote 0
                        • S Offline
                          suoko
                          last edited by suoko

                          I'm trying to flash ut but I got this error:

                          ./halium-install -p ut ./ubports-touch.rootfs-xenial-armhf.tar.gz ./system.img
                          basename: not valid option -- "p"
                          Try 'basename --help' for more information.

                          cleaning up
                          error: no devices/emulators found

                          Using files from:

                          • https://raw.githubusercontent.com/Halium/halium-scripts/master/halium-install
                          • https://github.com/ubports-santoni/ubports-ci/actions/runs/52390878
                          • https://ci.ubports.com/job/xenial-rootfs-armhf/lastSuccessfulBuild/artifact/out/ubports-touch.rootfs-xenial-armhf.tar.gz
                          Danct12D 1 Reply Last reply Reply Quote 0
                          • Danct12D Offline
                            Danct12 @danqo6
                            last edited by

                            @danqo6 Can you try to upgrade the firmware to the latest? I use this https://xiaomifirmwareupdater.com

                            D 1 Reply Last reply Reply Quote 0
                            • Danct12D Offline
                              Danct12 @suoko
                              last edited by

                              @suoko Distro?

                              You should try this one instead: https://github.com/JBBgameich/halium-install

                              S 2 Replies Last reply Reply Quote 0
                              • S Offline
                                suoko @Danct12
                                last edited by suoko

                                @Danct12
                                I successfully installed the version of ut found here : https://forum.xda-developers.com/xiaomi-redmi-4x/development/unofficial-ubuntu-touch-redmi-4x-santoni-t3982389
                                These are the steps:

                                • rooted and installed twrp with Xiaomitool v2
                                • in twrp I wiped the data partition and enabled write access to system
                                • installed the zip via twrp

                                Now, how can I create an update zip package with the latest image?

                                1 Reply Last reply Reply Quote 0
                                • S Offline
                                  suoko
                                  last edited by suoko

                                  @Danct12
                                  I found a way to create the zip, tell me what you think:

                                  • download the unofficial zip from xda (see post above)
                                  • remove img files inside
                                  • download system and boot image from https://github.com/ubports-santoni/ubports-ci/actions/runs/52390878
                                  • rename halium-boot to boot.img
                                  • run this script
                                  wget https://ci.ubports.com/job/xenial-rootfs-armhf/lastSuccessfulBuild/artifact/out/ubports-touch.rootfs-xenial-armhf.tar.gz
                                  mkdir rootfs-build
                                  dd if=/dev/zero of=rootfs-build/rootfs.img seek=500K bs=4096 count=0
                                  mkfs.ext2 -F rootfs-build/rootfs.img
                                  mkdir -p rootfs-build/cache/system
                                  mount -o loop rootfs-build/rootfs.img rootfs-build/cache/system/
                                  cd rootfs-build/cache/system && zcat ../../../ubports-touch.rootfs-xenial-armhf.tar.gz | tar xf -
                                  
                                  • put back the img files into the zip according to their original position: system and rootfs into data, and boot into the root position (the rootfs img is in the rootfs-build folder)
                                  1 Reply Last reply Reply Quote 0
                                  • S Offline
                                    suoko @Danct12
                                    last edited by suoko

                                    @Danct12
                                    Thanks, it worked, I used the standalone version.

                                    Recap:

                                    • https://github.com/JBBgameich/halium-install/releases

                                    • https://github.com/ubports-santoni/ubports-ci/actions/runs/52390878

                                    • https://ci.ubports.com/job/xenial-rootfs-armhf/lastSuccessfulBuild/artifact/out/ubports-touch.rootfs-xenial-armhf.tar.gz

                                    • fastboot flash boot halium-boot.img

                                    • halium-install-standalone.sh -p ut ./ubports-touch.rootfs-xenial-armhf.tar.gz ./system.img

                                    • ssh into it (ssh -l phablet x.x.x.x) and run:

                                    cat /var/lib/lxc/android/rootfs/ueventd*.rc|grep ^/dev|sed -e 's/^\/dev\///'|awk '{printf "ACTION==\"add\", KERNEL==\"%s\", OWNER=\"%s\", GROUP=\"%s\", MODE=\"%s\"\n",$1,$3,$4,$2}' | sed -e 's/\r//' >/usr/lib/lxc-android-config/70-santoni.rules
                                    

                                    Cons: neither system nor apps have sound. With the unofficial zipped port in xda at least apps had sound

                                    Can we try create a script automating the creation of the flashable update zip ?

                                    1 Reply Last reply Reply Quote 0
                                    • M Offline
                                      mahasenovic @Danct12
                                      last edited by

                                      @Danct12 i am on android 10 rom
                                      can i flash ub directly or i must flash Los 16 first?

                                      1 Reply Last reply Reply Quote 0
                                      • D Offline
                                        danqo6 @Danct12
                                        last edited by

                                        @Danct12 I tried, it didn't help. I will wait probably for ubports installer support, would love to see it soon

                                        1 Reply Last reply Reply Quote 0
                                        • A Offline
                                          aceclan @suoko
                                          last edited by

                                          Hi @suoko ,

                                          The switch is based on boot image flash (restore from TWRB th boot) and the Ubuntu is just two .img files : rootfs.img and system.img which will be mounted, during the boot. So the partitions won't be touched...
                                          The locations of img files (browse from TWRP) is on /data/ , while the location of Internal storage that You see in MIUI is /data/sdcard or /data/media/0 .

                                          Work like a charm...

                                          Best regards

                                          1 Reply Last reply Reply Quote 0
                                          • A Offline
                                            androxtar
                                            last edited by

                                            Capture.PNG

                                            it gets stuck here infinitely, no error is shown, its just stuck here
                                            what to do pls someone help me regarding this issue

                                            1 Reply Last reply Reply Quote 1
                                            • I Offline
                                              iaval
                                              last edited by

                                              Hi,
                                              just wanted to confirm - is anbox supported within this build?

                                              D 1 Reply Last reply Reply Quote 1
                                              • First post
                                                Last post