Skip to content

scotthowson/build_kernel_instantnoodle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ubuntu Touch for OnePlus 8 (instantnoodle)

Contents

Prerequisites and Warnings

Note

OnePlus 8 (instantnoodle).

[!IMPORTANT]s [!CAUTION] This guide involves procedures like unlocking the bootloader, flashing firmware, and modifying system components. These actions can potentially lead to negative outcomes, such as voiding your warranty, bricking your device, or compromising its security. Proceed with full understanding of the risks and ensure you follow the instructions carefully.

Setting up Your Build Environment

For amd64 architecture (commonly referred to as 64 bit):

Docker-Compose:

git clone https://github.com/scotthowson/Portable-Docker-Ubuntu
cd Portable-Docker-Ubuntu

Modify any Environment Variable that you need.

nano .env
docker-compose build --no-cache                                                                                                 ─╯
docker-compose up -d
docker exec -it Ubuntu-20.04 bash

How to Build

To build this project:

git clone https://github.com/scotthowson/halium_kernel_instantnoodle
cd halium_kernel_instantnoodle
chmod +x build.sh
./build.sh -b Instantnoodle
./build/prepare-fake-ota.sh out/device_instantnoodle_usrmerge.tar.xz ota
./build/system-image-from-ota.sh ota/ubuntu_command Images/instantnoodle-a10

To rebuild this project:

sudo rm -rf Instantnoodle/downloads/KERNEL_OBJ/ Instantnoodle/downloads/halium_instantnoodle_linux_kernel/ Instantnoodle/tmp/ overlay/

If built successfully, your system images will be in 'Images/instantnoodle-a10/'

How to Flash

Using System Partition

adb devices
adb reboot fastboot
fastboot delete-logical-partition product_a
fastboot flash boot boot.img
fastboot flash system system.img
fastboot flash vbmeta --disable-verity --disable-verification vbmeta.img

Getting Started with SSH & Telnet!

First we will be setting the device to be called OnePlus-8

ip route show
# The device name will most likely resemble 'enp0s29u1u1'.
sudo sh -c 'ip link set down dev <devicename> && ip link set dev <devicename> name OnePlus-8 && ip link set up dev OnePlus-8'
# Once done we will run this command to verify that we see '192.168.2.0/24 dev OnePlus-8 proto kernel ...'
ip route show

SSH Connection

sudo sh -c 'ip link set dev OnePlus-8 up && ip address add 10.15.19.82 dev OnePlus-8 && ip route add 10.15.19.100 dev OnePlus-8'

sudo ip address add 10.15.19.100/24 dev OnePlus-8
sudo ip link set OnePlus-8 up
ssh phablet@10.15.19.82

Telnet Connection

sudo sh -c 'ip link set dev OnePlus-8 up && ip address add 192.168.2.20 dev OnePlus-8 && ip route add 192.168.2.15 dev OnePlus-8'

ip link set OnePlus-8 address 02:11:22:33:44:55
ip address add 10.15.19.100/24 dev OnePlus-8
ip link set OnePlus-8 up

ip r

telnet 192.168.2.15

Tethering Internet Connection

Here’s how we can adjust the setup:

  1. Remove the Incorrect Default Route

Remove the existing default route to avoid conflicts.

sudo ip route del default
  1. Add the Correct Default Route

Add the correct default route pointing to the host machine.

sudo ip route add default via 10.15.19.100 dev usb0
  1. Update DNS Configuration

Ensure the DNS servers are correctly set in /etc/resolv.conf:

sudo sh -c 'echo "nameserver 8.8.8.8" > /etc/resolv.conf'
sudo sh -c 'echo "nameserver 8.8.4.4" >> /etc/resolv.conf'
cat /etc/resolv.conf
  1. Test Connectivity

Test connectivity to ensure routing and DNS are correctly set up:

ping -c 4 8.8.8.8
ping -c 4 google.com

Full Example:

Here are the full commands to run in sequence on the phone:

sudo ip route del default
sudo ip route add default via 10.15.19.100 dev usb0
sudo sh -c 'echo "nameserver 8.8.8.8" > /etc/resolv.conf'
sudo sh -c 'echo "nameserver 8.8.4.4" >> /etc/resolv.conf'
cat /etc/resolv.conf
ping -c 4 8.8.8.8
ping -c 4 google.com

Host Machine Configuration:

Ensure IP forwarding and correct IPTables settings on the host machine:

sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -t nat -A POSTROUTING -o eno2 -j MASQUERADE
sudo iptables -A FORWARD -i eno2 -o enp0s20f0u3 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i enp0s20f0u3 -o eno2 -j ACCEPT

Troubleshooting

Common issues and their solutions will be listed here. If you encounter any problems, refer to this section for guidance.

# you can try to chroot the into rootfs and perform:
systemctl mask usb-moded
systemctl add-wants sysinit.target usb-tethering
systemctl add-wants sysinit.target usb-moded-ssh
systemctl mask usb-moded
systemctl enable usb-tethering
systemctl enable ssh

OnePlus 8

Halium 10.0 instantnoodle Installer


Features & Usability

What works so far?

Progress

100% Ubuntu 20.04 Focal

  • Recovery
  • Boot
  • Bluetooth
  • Camera Photos
  • Video Recording
  • [?] GPS
  • Audio works
  • Bluetooth Audio
  • Waydroid
  • MTP
  • ADB
  • SSH
  • Online charge
  • Offline Charge
  • [?] Wifi
  • Calls
  • Mobile Data 2G/3G/4G (LTE)
  • Ofono
  • Wireless display
  • Fingerprint Reader
  • OTG Works
  • Camera Flash
  • Manual Brightness Works
  • Switching between cameras
  • Hardware video playback
  • Rotation
  • Proximity sensor
  • Virtualization
  • GPU
  • Lightsensor
  • Proximity sensor
  • [?] Automatic brightness
  • Torch
  • [?] Hotspot
  • Airplane Mode

Contributing

Contributions to this guide are welcome. If you have suggestions or corrections, please submit a pull request or open an issue on the GitHub repository.

References and Credits

Acknowledgments to individuals or sources that have contributed to this guide. OnePlus Kebab repository - DaniAsh551

Special Thanks

A heartfelt thank you to DaniAsh551 and their OnePlus Kebab repository for their invaluable assistance and patience throughout the development of this project. Their contributions and guidance have been instrumental in its success.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages