Writing /var/lib/dokuwiki/wiki.project-insanity.org/data/meta/samsung-i9100.meta failed
samsung-i9100
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
samsung-i9100 [2020/11/16 23:21] – old revision restored (2020/03/08 13:41) 192.99.37.116 | 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> | ||
+ | pacman -S arm-none-eabi-gcc uboot-tools | ||
+ | git clone https:// | ||
+ | cd i9100_kernel_mainline_port | ||
+ | export ARCH=arm | ||
+ | export CROSS_COMPILE=arm-none-eabi- | ||
+ | make i9100_defconfig | ||
+ | make -j6 | ||
+ | sh mk.sh | ||
+ | sh mod.sh | ||
+ | # heimdall flash --KERNEL boot.img | ||
+ | </ | ||
+ | * xda method flashing kernel: https:// | ||
+ | * postmarketos aports https:// | ||
+ | * http:// | ||
+ | <code bash> | ||
+ | git clone git:// | ||
+ | cd linux-stable | ||
+ | git checkout tags/5.4.5 | ||
+ | wget ' | ||
+ | wget ' | ||
+ | wget ' | ||
+ | # patch file arch/ | ||
+ | export ARCH=arm | ||
+ | export CROSS_COMPILE=arm-none-eabi- | ||
+ | make i9100_defconfig | ||
+ | make -j6 | ||
+ | make dtbs | ||
+ | cat arch/ | ||
+ | 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=../ | ||
+ | </ | ||
+ | * archlinuxarm https:// | ||
+ | * https:// | ||
+ | postmarketos binaries chroot | ||
+ | < | ||
+ | gio: ELF 32-bit LSB pie executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter / | ||
+ | </ | ||
+ | archlinuxarm binary http:// | ||
+ | < | ||
+ | gio: ELF 32-bit LSB pie executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter / | ||
+ | </ | ||
+ | * rootfs armv7? | ||
+ | <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:// | ||
+ | git clone https:// | ||
+ | cd i9100-uboot | ||
+ | export PATH='/ | ||
+ | # set -gx PATH / | ||
+ | export ARCH=arm | ||
+ | export CROSS_COMPILE=arm-none-eabi- | ||
+ | make galaxys2_config | ||
+ | make galaxys2 | ||
+ | # heimdall flash --kernel u-boot.bin | ||
+ | </ | ||
+ | * bug report using mainline kernel galaxy s2 https:// | ||
+ | * xda post mainline kernel samsun s2 https:// | ||
+ | * uboot 9100 sources | ||
+ | * https:// | ||
+ | * https:// | ||
+ | <code bash> | ||
+ | heimdall flash --KERNEL u-boot.bin | ||
+ | heimdall flash --RECOVERY uImage | ||
+ | </ | ||
+ | < | ||
+ | Well, to boot the custom kernel, you need to put it to the '/ | ||
+ | </ | ||
+ | convert zImage into uImage | ||
+ | <code bash> | ||
+ | mkimage -A arm -O linux -T kernel -C none -a 0x40008000 -e 0x40008000 -n Linux-android-sucks -d zImage uImage | ||
+ | </ | ||
+ | u-boot trats https:// | ||
+ | <code bash> | ||
+ | git clone git:// | ||
+ | cd u-boot | ||
+ | export ARCH=arm | ||
+ | export CROSS_COMPILE=arm-none-eabi- | ||
+ | make trats_config | ||
+ | make all | ||
+ | </ | ||
+ | ===== 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) ===== | ||
+ | <code bash> | ||
+ | git clone https:// | ||
+ | cd i9100_kernel_mainline_port | ||
+ | export ARCH=arm | ||
+ | export CROSS_COMPILE=arm-none-eabi- | ||
+ | make i9100_defconfig | ||
+ | make -j6 | ||
+ | cat arch/ | ||
+ | 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=../ | ||
+ | heimdall flash --RECOVERY boot.img | ||
+ | </ | ||
+ | ===== prepare rootfs ===== | ||
+ | <code bash> | ||
+ | heimdall flash --FACTORYFS ... | ||
+ | </ | ||
+ | * http:// | ||
+ | * http:// | ||
+ | try | ||
+ | <code bash> | ||
+ | ' | ||
+ | </ | ||
+ | < | ||
+ | setenv loadaddr 0x70800000 | ||
+ | setenv bootargs_mmc ' | ||
+ | setenv bootcmd_mmc 'run bootargs_base bootargs_mmc; | ||
+ | setenv bootcmd 'run bootcmd_mmc' | ||
+ | saveenv | ||
+ | </ | ||
+ | < | ||
+ | bootpart=1: | ||
+ | devtype=mmc | ||
+ | bootdir= | ||
+ | bootfile=zImage | ||
+ | bootpartition=mmcblk1p2 | ||
+ | set_bootargs=setenv bootargs console=ttyO0, | ||
+ | uenvcmd=run set_bootargs; | ||
+ | </ | ||
+ | Next steps | ||
+ | * Move everything to local and make bash script flash.sh | ||
+ | * https:// | ||
+ | * try with mmcblk0p11 https:// | ||
+ | * uboot debugging, if mmc rescan https:// | ||
+ | * check archlinuxarm bootparams for uboot | ||
+ | * make serial access | ||
+ | < | ||
+ | CONFIG_USB_ETH=y | ||
+ | CONFIG_USB_ETH_RNDIS=y | ||
+ | CONFIG_USB_ETH_EEM=y | ||
+ | </ | ||
+ | <file - / | ||
+ | [Match] | ||
+ | Name=usb0 | ||
+ | |||
+ | [Network] | ||
+ | DNS=192.168.2.1 | ||
+ | IPv6PrivacyExtensions=true | ||
+ | |||
+ | [Address] | ||
+ | Address=192.168.7.18/ | ||
+ | |||
+ | [Route] | ||
+ | Gateway=192.168.7.17 | ||
+ | </ | ||
+ | * https:// | ||
+ | * BCM4330 https:// | ||
+ | * https:// | ||
+ | * micro-usb-usb-dongle keyboard :D | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * http:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | <code bash> | ||
+ | pacman-key --init | ||
+ | pacman-key --populate archlinuxarm | ||
+ | </ | ||
+ | * create package linux-firmware-samsung-i9100 or something | ||
+ | * use mainline kernel supplied by archlinuxarm, | ||
+ | * document everything we have so far | ||
+ | * iwd & sshd | ||
+ | <code bash> | ||
+ | systemctl enable --now iwd systemd-networkd systemd-resolved sshd | ||
+ | ln -sf / | ||
+ | </ | ||
+ | <file - / | ||
+ | [Match] | ||
+ | Name=< name of your wifi interface or * for every interface > | ||
+ | |||
+ | [Network] | ||
+ | DHCP=yes | ||
+ | IPv6PrivacyExtensions=true | ||
+ | </ | ||
+ | < | ||
+ | RFKILL=y | ||
+ | CONFIG_KEY_DH_OPERATIONS=y | ||
+ | </ | ||
+ | <code bash> | ||
+ | dd of=archlinuxarm.img bs=1 seek=10G count=0 | ||
+ | mkfs.ext4 -F archlinuxarm.img | ||
+ | mount archlinuxarm.img arm-chroot | ||
+ | pacman -S qemu-arm-static | ||
+ | systemctl start systemd-binfmt | ||
+ | wget ' | ||
+ | bsdtar -xpf ArchLinuxARM-armv7-latest.tar.gz -C arm-chroot | ||
+ | arch-chroot arm-chroot | ||
+ | # pacman-key --init | ||
+ | # pacman-key --populate archlinuxarm | ||
+ | # pacman -Syu base-devel | ||
+ | </ | ||
+ | <code bash> | ||
+ | pacman -S phosh gnome-session gnome-shell | ||
+ | </ | ||
+ | * check patched files by Sekilsgs2 | ||
+ | * as i said before: start just phoc to get that running first: e.g. phoc -E ' | ||
+ | * @lcd dts: flip-horizontal;, | ||
+ | |||
+ | ===== u-boot porting ===== | ||
+ | * https:// | ||
+ | * https:// | ||
+ | instructions for archlinux | ||
+ | <code bash> | ||
+ | git clone https:// | ||
+ | pacman -U i9100-uboot/ | ||
+ | wget ' | ||
+ | tar xvf v2012.04.tar.gz | ||
+ | cd u-boot-2012.04 | ||
+ | patch -p1 -i ../ | ||
+ | patch -p1 -i ../ | ||
+ | export PATH='/ | ||
+ | export ARCH=arm | ||
+ | export CROSS_COMPILE=arm-none-eabi- | ||
+ | make galaxys2 | ||
+ | ../ | ||
+ | </ | ||
+ | * https:// | ||
+ | < | ||
+ | boards.cfg | ||
+ | drivers/ | ||
+ | drivers/ | ||
+ | </ | ||
+ | interessante datei in uboot upstream: include/ | ||
+ | * modifiziert | ||
+ | * galaxys2.c | ||
+ | * galaxys2.h | ||
+ | https:// | ||
+ | < | ||
+ | git checkout 51bdad67cb6738c5d0e78084cf3e3baa216f4d2f | ||
+ | </ |