samsung-i9100
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
samsung-i9100 [2021/10/31 10:42] – external edit 127.0.0.1 | samsung-i9100 [2022/03/11 00:21] (current) – old revision restored (2021/11/03 13:14) 2a01:4f8:192:214e::2 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | <code bash> | + | <code bash> |
pacman -S arm-none-eabi-gcc uboot-tools | pacman -S arm-none-eabi-gcc uboot-tools | ||
git clone https:// | git clone https:// | ||
Line 10: | Line 10: | ||
sh mod.sh | sh mod.sh | ||
# heimdall flash --KERNEL boot.img | # heimdall flash --KERNEL boot.img | ||
- | </code> | + | </code> |
* xda method flashing kernel: https:// | * xda method flashing kernel: https:// | ||
* postmarketos aports https:// | * postmarketos aports https:// | ||
* http:// | * http:// | ||
- | <code bash> | + | <code bash> |
git clone git:// | git clone git:// | ||
cd linux-stable | cd linux-stable | ||
git checkout tags/5.4.5 | git checkout tags/5.4.5 | ||
- | wget "https:// | + | wget 'https:// |
- | wget "https:// | + | wget 'https:// |
- | wget "https:// | + | wget 'https:// |
# patch file arch/ | # patch file arch/ | ||
export ARCH=arm | export ARCH=arm | ||
Line 28: | Line 28: | ||
make -j6 | make -j6 | ||
make dtbs | make dtbs | ||
- | cat arch/ | + | cat arch/ |
mkimage -A arm -O linux -T kernel -C none -a 0x40008000 -e 0x40008000 -n Linux-android-sucks -d zimage boot.img | mkimage -A arm -O linux -T kernel -C none -a 0x40008000 -e 0x40008000 -n Linux-android-sucks -d zimage boot.img | ||
make modules_install INSTALL_MOD_PATH=../ | make modules_install INSTALL_MOD_PATH=../ | ||
- | </code> | + | </code> |
* archlinuxarm https:// | * archlinuxarm https:// | ||
* https:// | * https:// | ||
postmarketos binaries chroot | postmarketos binaries chroot | ||
- | <code> | + | <code> |
gio: ELF 32-bit LSB pie executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter / | gio: ELF 32-bit LSB pie executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter / | ||
- | </code> | + | </code> |
archlinuxarm binary http:// | archlinuxarm binary http:// | ||
- | <code> | + | <code> |
gio: ELF 32-bit LSB pie executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter / | gio: ELF 32-bit LSB pie executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter / | ||
- | </code> | + | </code> |
* rootfs armv7? | * rootfs armv7? | ||
- | <code bash> | + | <code bash> |
pacman -U dtc-1.4.1-1-x86_64.pkg.tar.xz # downgrade to older version | pacman -U dtc-1.4.1-1-x86_64.pkg.tar.xz # downgrade to older version | ||
pacman -S gcc-arm-none-eabi-bin-49 | pacman -S gcc-arm-none-eabi-bin-49 | ||
Line 49: | Line 49: | ||
git clone https:// | git clone https:// | ||
cd i9100-uboot | cd i9100-uboot | ||
- | export PATH="/ | + | export PATH='/ |
# set -gx PATH / | # set -gx PATH / | ||
export ARCH=arm | export ARCH=arm | ||
Line 56: | Line 56: | ||
make galaxys2 | make galaxys2 | ||
# heimdall flash --kernel u-boot.bin | # heimdall flash --kernel u-boot.bin | ||
- | </code> | + | </code> |
* bug report using mainline kernel galaxy s2 https:// | * bug report using mainline kernel galaxy s2 https:// | ||
* xda post mainline kernel samsun s2 https:// | * xda post mainline kernel samsun s2 https:// | ||
Line 62: | Line 62: | ||
* https:// | * https:// | ||
* https:// | * https:// | ||
- | <code bash> | + | <code bash> |
heimdall flash --KERNEL u-boot.bin | heimdall flash --KERNEL u-boot.bin | ||
heimdall flash --RECOVERY uImage | heimdall flash --RECOVERY uImage | ||
- | </code> | + | </code> |
- | <code> | + | <code> |
- | Well, to boot the custom kernel, you need to put it to the "/ | + | Well, to boot the custom kernel, you need to put it to the '/ |
- | </code> | + | </code> |
convert zImage into uImage | convert zImage into uImage | ||
- | <code bash> | + | <code bash> |
mkimage -A arm -O linux -T kernel -C none -a 0x40008000 -e 0x40008000 -n Linux-android-sucks -d zImage uImage | mkimage -A arm -O linux -T kernel -C none -a 0x40008000 -e 0x40008000 -n Linux-android-sucks -d zImage uImage | ||
- | </code> | + | </code> |
u-boot trats https:// | u-boot trats https:// | ||
- | <code bash> | + | <code bash> |
git clone git:// | git clone git:// | ||
cd u-boot | cd u-boot | ||
Line 81: | Line 81: | ||
make trats_config | make trats_config | ||
make all | make all | ||
- | </code> | + | </code> |
===== legacy uboot (working) ===== <code bash> pacman -U dtc-1.4.1-1-x86_64.pkg.tar.xz # downgrade to older version pacman -S gcc-arm-none-eabi-bin-49 git clone https:// | ===== legacy uboot (working) ===== <code bash> pacman -U dtc-1.4.1-1-x86_64.pkg.tar.xz # downgrade to older version pacman -S gcc-arm-none-eabi-bin-49 git clone https:// | ||
===== legacy kernel 4.2 (partially working) ===== | ===== legacy kernel 4.2 (partially working) ===== | ||
- | <code bash> | + | <code bash> |
git clone https:// | git clone https:// | ||
cd i9100_kernel_mainline_port | cd i9100_kernel_mainline_port | ||
Line 91: | Line 91: | ||
make i9100_defconfig | make i9100_defconfig | ||
make -j6 | make -j6 | ||
- | cat arch/ | + | cat arch/ |
mkimage -A arm -O linux -T kernel -C none -a 0x40008000 -e 0x40008000 -n Linux-android-sucks -d zimage boot.img | mkimage -A arm -O linux -T kernel -C none -a 0x40008000 -e 0x40008000 -n Linux-android-sucks -d zimage boot.img | ||
make modules_install INSTALL_MOD_PATH=../ | make modules_install INSTALL_MOD_PATH=../ | ||
heimdall flash --RECOVERY boot.img | heimdall flash --RECOVERY boot.img | ||
- | </code> | + | </code> |
===== prepare rootfs ===== | ===== prepare rootfs ===== | ||
- | <code bash> | + | <code bash> |
heimdall flash --FACTORYFS ... | heimdall flash --FACTORYFS ... | ||
- | </code> | + | </code> |
* http:// | * http:// | ||
* http:// | * http:// | ||
try | try | ||
- | <code bash> | + | <code bash> |
- | "console=ttyS0, | + | 'console=ttyS0, |
- | </code> | + | </code> |
- | <code> | + | <code> |
setenv loadaddr 0x70800000 | setenv loadaddr 0x70800000 | ||
setenv bootargs_mmc ' | setenv bootargs_mmc ' | ||
Line 112: | Line 112: | ||
setenv bootcmd 'run bootcmd_mmc' | setenv bootcmd 'run bootcmd_mmc' | ||
saveenv | saveenv | ||
- | </code> | + | </code> |
- | <code> | + | <code> |
bootpart=1: | bootpart=1: | ||
devtype=mmc | devtype=mmc | ||
Line 121: | Line 121: | ||
set_bootargs=setenv bootargs console=ttyO0, | set_bootargs=setenv bootargs console=ttyO0, | ||
uenvcmd=run set_bootargs; | uenvcmd=run set_bootargs; | ||
- | </code> | + | </code> |
Next steps | Next steps | ||
* Move everything to local and make bash script flash.sh | * Move everything to local and make bash script flash.sh | ||
Line 129: | Line 129: | ||
* check archlinuxarm bootparams for uboot | * check archlinuxarm bootparams for uboot | ||
* make serial access | * make serial access | ||
- | <code> | + | <code> |
CONFIG_USB_ETH=y | CONFIG_USB_ETH=y | ||
CONFIG_USB_ETH_RNDIS=y | CONFIG_USB_ETH_RNDIS=y | ||
CONFIG_USB_ETH_EEM=y | CONFIG_USB_ETH_EEM=y | ||
- | </code> | + | </code> |
- | <file - / | + | <file - / |
[Match] | [Match] | ||
Name=usb0 | Name=usb0 | ||
Line 147: | Line 147: | ||
[Route] | [Route] | ||
Gateway=192.168.7.17 | Gateway=192.168.7.17 | ||
- | </file> | + | </file> |
* https:// | * https:// | ||
* BCM4330 https:// | * BCM4330 https:// | ||
Line 157: | Line 157: | ||
* https:// | * https:// | ||
* https:// | * https:// | ||
- | <code bash> | + | <code bash> |
pacman-key --init | pacman-key --init | ||
pacman-key --populate archlinuxarm | pacman-key --populate archlinuxarm | ||
- | </code> | + | </code> |
* create package linux-firmware-samsung-i9100 or something | * create package linux-firmware-samsung-i9100 or something | ||
* use mainline kernel supplied by archlinuxarm, | * use mainline kernel supplied by archlinuxarm, | ||
* document everything we have so far | * document everything we have so far | ||
- | * iwd & sshd | + | * iwd & sshd |
- | <code bash> | + | <code bash> |
systemctl enable --now iwd systemd-networkd systemd-resolved sshd | systemctl enable --now iwd systemd-networkd systemd-resolved sshd | ||
ln -sf / | ln -sf / | ||
- | </code> | + | </code> |
- | <file - / | + | <file - / |
[Match] | [Match] | ||
- | Name=& | + | Name=< name of your wifi interface or * for every interface |
[Network] | [Network] | ||
DHCP=yes | DHCP=yes | ||
IPv6PrivacyExtensions=true | IPv6PrivacyExtensions=true | ||
- | </file> | + | </file> |
- | <code> | + | <code> |
RFKILL=y | RFKILL=y | ||
CONFIG_KEY_DH_OPERATIONS=y | CONFIG_KEY_DH_OPERATIONS=y | ||
- | </code> | + | </code> |
- | <code bash> | + | <code bash> |
dd of=archlinuxarm.img bs=1 seek=10G count=0 | dd of=archlinuxarm.img bs=1 seek=10G count=0 | ||
mkfs.ext4 -F archlinuxarm.img | mkfs.ext4 -F archlinuxarm.img | ||
Line 187: | Line 187: | ||
pacman -S qemu-arm-static | pacman -S qemu-arm-static | ||
systemctl start systemd-binfmt | systemctl start systemd-binfmt | ||
- | wget "http:// | + | wget 'http:// |
bsdtar -xpf ArchLinuxARM-armv7-latest.tar.gz -C arm-chroot | bsdtar -xpf ArchLinuxARM-armv7-latest.tar.gz -C arm-chroot | ||
arch-chroot arm-chroot | arch-chroot arm-chroot | ||
Line 193: | Line 193: | ||
# pacman-key --populate archlinuxarm | # pacman-key --populate archlinuxarm | ||
# pacman -Syu base-devel | # pacman -Syu base-devel | ||
- | </code> | + | </code> |
- | <code bash> | + | <code bash> |
pacman -S phosh gnome-session gnome-shell | pacman -S phosh gnome-session gnome-shell | ||
- | </code> | + | </code> |
* check patched files by Sekilsgs2 | * check patched files by Sekilsgs2 | ||
* as i said before: start just phoc to get that running first: e.g. phoc -E ' | * as i said before: start just phoc to get that running first: e.g. phoc -E ' | ||
Line 205: | Line 205: | ||
* https:// | * https:// | ||
instructions for archlinux | instructions for archlinux | ||
- | <code bash> | + | <code bash> |
git clone https:// | git clone https:// | ||
pacman -U i9100-uboot/ | pacman -U i9100-uboot/ | ||
- | wget "https:// | + | wget 'https:// |
tar xvf v2012.04.tar.gz | tar xvf v2012.04.tar.gz | ||
cd u-boot-2012.04 | cd u-boot-2012.04 | ||
patch -p1 -i ../ | patch -p1 -i ../ | ||
patch -p1 -i ../ | patch -p1 -i ../ | ||
- | export PATH="/ | + | export PATH='/ |
export ARCH=arm | export ARCH=arm | ||
export CROSS_COMPILE=arm-none-eabi- | export CROSS_COMPILE=arm-none-eabi- | ||
make galaxys2 | make galaxys2 | ||
../ | ../ | ||
- | </code> | + | </code> |
* https:// | * https:// | ||
- | <code> | + | <code> |
boards.cfg | boards.cfg | ||
drivers/ | drivers/ | ||
drivers/ | drivers/ | ||
- | </code> | + | </code> |
interessante datei in uboot upstream: include/ | interessante datei in uboot upstream: include/ | ||
* modifiziert | * modifiziert | ||
Line 230: | Line 230: | ||
* galaxys2.h | * galaxys2.h | ||
https:// | https:// | ||
- | <code> | + | <code> |
git checkout 51bdad67cb6738c5d0e78084cf3e3baa216f4d2f | git checkout 51bdad67cb6738c5d0e78084cf3e3baa216f4d2f | ||
- | </code> | + | </code> |
samsung-i9100.1635676972.txt.gz · Last modified: 2021/10/31 10:42 by 127.0.0.1