Site Tools


Hotfix release available: 2024-02-06a "Kaos". upgrade now! [55.1] (what's this?)
New release available: 2024-02-06 "Kaos". upgrade now! [55] (what's this?)
samsung-i9100

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
samsung-i9100 [2022/03/05 00:43] – old revision restored (2021/10/31 10:42) 148.251.8.250samsung-i9100 [2022/03/11 00:21] (current) – old revision restored (2021/11/03 13:14) 2a01:4f8:192:214e::2
Line 1: Line 1:
-&lt;code bash&gt;+<code bash>
 pacman -S arm-none-eabi-gcc uboot-tools pacman -S arm-none-eabi-gcc uboot-tools
 git clone https://github.com/Sekilsgs2/i9100_kernel_mainline_port.git git clone https://github.com/Sekilsgs2/i9100_kernel_mainline_port.git
Line 10: Line 10:
 sh mod.sh sh mod.sh
 # heimdall flash --KERNEL boot.img # heimdall flash --KERNEL boot.img
-&lt;/code&gt;+</code>
   * xda method flashing kernel: https://forum.xda-developers.com/galaxy-s2/general/uboot-bootloader-true-multiboot-t1680898   * xda method flashing kernel: https://forum.xda-developers.com/galaxy-s2/general/uboot-bootloader-true-multiboot-t1680898
   * postmarketos aports https://gitlab.com/postmarketOS/pmaports/tree/master/device/linux-samsung-i9100   * postmarketos aports https://gitlab.com/postmarketOS/pmaports/tree/master/device/linux-samsung-i9100
   * http://postmarketos.brixit.nl/postmarketos/master/armhf/linux-samsung-i9100-3.0.101-r13.apk   * http://postmarketos.brixit.nl/postmarketos/master/armhf/linux-samsung-i9100-3.0.101-r13.apk
  
-&lt;code bash&gt;+<code bash>
 git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
 cd linux-stable cd linux-stable
 git checkout tags/5.4.5 git checkout tags/5.4.5
-wget &quot;https://raw.githubusercontent.com/Sekilsgs2/i9100_kernel_mainline_port/6c02dad36b8a76a6f50d26ff1b9abb0d30aacbc9/arch/arm/configs/i9100_defconfig&quot; -O arch/arm/configs/i9100_defconfig +wget 'https://raw.githubusercontent.com/Sekilsgs2/i9100_kernel_mainline_port/6c02dad36b8a76a6f50d26ff1b9abb0d30aacbc9/arch/arm/configs/i9100_defconfig-O arch/arm/configs/i9100_defconfig 
-wget &quot;https://raw.githubusercontent.com/Sekilsgs2/i9100_kernel_mainline_port/master/arch/arm/boot/dts/exynos4210-i9100.dts&quot; -O arch/arm/boot/dts/exynos4210-i9100.dts +wget 'https://raw.githubusercontent.com/Sekilsgs2/i9100_kernel_mainline_port/master/arch/arm/boot/dts/exynos4210-i9100.dts-O arch/arm/boot/dts/exynos4210-i9100.dts 
-wget &quot;https://raw.githubusercontent.com/Sekilsgs2/i9100_kernel_mainline_port/master/arch/arm/boot/dts/exynos4210.dtsi&quot; -O arch/arm/boot/dts/exynos4210.dtsi+wget 'https://raw.githubusercontent.com/Sekilsgs2/i9100_kernel_mainline_port/master/arch/arm/boot/dts/exynos4210.dtsi-O arch/arm/boot/dts/exynos4210.dtsi
 # patch file arch/arm/boot/dts/Makefile # patch file arch/arm/boot/dts/Makefile
 export ARCH=arm export ARCH=arm
Line 28: Line 28:
 make -j6 make -j6
 make dtbs make dtbs
-cat arch/arm/boot/zImage arch/arm/boot/dts/exynos4210-i9100.dtb &gt; zimage+cat arch/arm/boot/zImage arch/arm/boot/dts/exynos4210-i9100.dtb zimage
 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=../
-&lt;/code&gt;+</code>
   * archlinuxarm https://archlinuxarm.org/forum/viewtopic.php?f=27&amp;t=5284   * archlinuxarm https://archlinuxarm.org/forum/viewtopic.php?f=27&amp;t=5284
   * https://github.com/Sekilsgs2/i9100_kernel_mainline_port/issues/1   * https://github.com/Sekilsgs2/i9100_kernel_mainline_port/issues/1
 postmarketos binaries chroot postmarketos binaries chroot
-&lt;code&gt;+<code>
 gio: ELF 32-bit LSB pie executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-musl-armhf.so.1, stripped gio: ELF 32-bit LSB pie executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-musl-armhf.so.1, stripped
-&lt;/code&gt;+</code>
 archlinuxarm binary http://os.archlinuxarm.org/os/ArchLinuxARM-odroid-x-latest.tar.gz archlinuxarm binary http://os.archlinuxarm.org/os/ArchLinuxARM-odroid-x-latest.tar.gz
-&lt;code&gt;+<code>
 gio: ELF 32-bit LSB pie executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, BuildID[sha1]=6c5eae3cb78debe406df57f20e99c2462f764c85, for GNU/Linux 3.2.0, stripped gio: ELF 32-bit LSB pie executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, BuildID[sha1]=6c5eae3cb78debe406df57f20e99c2462f764c85, for GNU/Linux 3.2.0, stripped
-&lt;/code&gt;+</code>
   * rootfs armv7?   * rootfs armv7?
-&lt;code bash&gt;+<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://github.com/Sekilsgs2/toolchain_for_old_uboot.git git clone https://github.com/Sekilsgs2/toolchain_for_old_uboot.git
 cd i9100-uboot cd i9100-uboot
-export PATH=&quot;/usr/local/arm/gcc-arm-none-eabi-4_9-2015q3/bin:$PATH&quot;+export PATH='/usr/local/arm/gcc-arm-none-eabi-4_9-2015q3/bin:$PATH'
 # set -gx PATH /usr/local/arm/gcc-arm-none-eabi-4_9-2015q3/bin $PATH # set -gx PATH /usr/local/arm/gcc-arm-none-eabi-4_9-2015q3/bin $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
-&lt;/code&gt;+</code>
   * bug report using mainline kernel galaxy s2 https://github.com/Sekilsgs2/i9100_kernel_mainline_port/issues/1#issuecomment-565706956   * bug report using mainline kernel galaxy s2 https://github.com/Sekilsgs2/i9100_kernel_mainline_port/issues/1#issuecomment-565706956
   * xda post mainline kernel samsun s2 https://forum.xda-developers.com/galaxy-s2/general/port-run-mainline-linux-kernel-t3901190   * xda post mainline kernel samsun s2 https://forum.xda-developers.com/galaxy-s2/general/port-run-mainline-linux-kernel-t3901190
Line 62: Line 62:
     * https://github.com/Talustus/i9100-uboot     * https://github.com/Talustus/i9100-uboot
     * https://github.com/astarasikov     * https://github.com/astarasikov
-&lt;code bash&gt;+<code bash>
 heimdall flash --KERNEL u-boot.bin heimdall flash --KERNEL u-boot.bin
 heimdall flash --RECOVERY uImage heimdall flash --RECOVERY uImage
-&lt;/code&gt; +</code> 
-&lt;code&gt; +<code> 
- Well, to boot the custom kernel, you need to put it to the &quot;/sdcard/boot/vmlinux.uimg&quot;, not to the external sd card. The rootfs should be put to the second partition of the external microSD (mmcblk1p2), but you can recompile the kernel and put any cmline there. + Well, to boot the custom kernel, you need to put it to the '/sdcard/boot/vmlinux.uimg', not to the external sd card. The rootfs should be put to the second partition of the external microSD (mmcblk1p2), but you can recompile the kernel and put any cmline there. 
-&lt;/code&gt;+</code>
 convert zImage into uImage convert zImage into uImage
-&lt;code bash&gt;+<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
-&lt;/code&gt;+</code>
 u-boot trats https://forum.xda-developers.com/galaxy-s2/general/boot-sources-i9100-t1694523 u-boot trats https://forum.xda-developers.com/galaxy-s2/general/boot-sources-i9100-t1694523
-&lt;code bash&gt;+<code bash>
 git clone git://git.denx.de/u-boot.git git clone git://git.denx.de/u-boot.git
 cd u-boot cd u-boot
Line 81: Line 81:
 make trats_config make trats_config
 make all make all
-&lt;/code&gt;+</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://github.com/Sekilsgs2/i9100-uboot.git git clone https://github.com/Sekilsgs2/toolchain_for_old_uboot.git cd i9100-uboot export PATH="/usr/local/arm/gcc-arm-none-eabi-4_9-2015q3/bin:$PATH" # set -gx PATH /usr/local/arm/gcc-arm-none-eabi-4_9-2015q3/bin $PATH export ARCH=arm export CROSS_COMPILE=arm-none-eabi- make galaxys2_config make galaxys2 heimdall flash --KERNEL u-boot.bin </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://github.com/Sekilsgs2/i9100-uboot.git git clone https://github.com/Sekilsgs2/toolchain_for_old_uboot.git cd i9100-uboot export PATH="/usr/local/arm/gcc-arm-none-eabi-4_9-2015q3/bin:$PATH" # set -gx PATH /usr/local/arm/gcc-arm-none-eabi-4_9-2015q3/bin $PATH export ARCH=arm export CROSS_COMPILE=arm-none-eabi- make galaxys2_config make galaxys2 heimdall flash --KERNEL u-boot.bin </code>
 ===== legacy kernel 4.2 (partially working) ===== ===== legacy kernel 4.2 (partially working) =====
-&lt;code bash&gt;+<code bash>
 git clone https://github.com/Sekilsgs2/i9100_kernel_mainline_port.git git clone https://github.com/Sekilsgs2/i9100_kernel_mainline_port.git
 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/arm/boot/zImage arch/arm/boot/dts/exynos4210-i9100.dtb &gt; zimage+cat arch/arm/boot/zImage arch/arm/boot/dts/exynos4210-i9100.dtb zimage
 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
-&lt;/code&gt;+</code>
 ===== prepare rootfs ===== ===== prepare rootfs =====
-&lt;code bash&gt;+<code bash>
 heimdall flash --FACTORYFS ... heimdall flash --FACTORYFS ...
-&lt;/code&gt;+</code>
   * http://os.archlinuxarm.org/os/ArchLinuxARM-odroid-latest.tar.gz   * http://os.archlinuxarm.org/os/ArchLinuxARM-odroid-latest.tar.gz
   * http://de4.mirror.archlinuxarm.org/os/ArchLinuxARM-armv7-latest.tar.gz   * http://de4.mirror.archlinuxarm.org/os/ArchLinuxARM-armv7-latest.tar.gz
 try try
-&lt;code bash&gt; +<code bash> 
-&quot;console=ttyS0,115200n8 root=UUID=e139ce78-9841-40fe-8823-96a304a09859 rootwait ro no_console_suspend vdaccfg=0xa000 logo=osd&quot; +'console=ttyS0,115200n8 root=UUID=e139ce78-9841-40fe-8823-96a304a09859 rootwait ro no_console_suspend vdaccfg=0xa000 logo=osd' 
-&lt;/code&gt; +</code> 
-&lt;code&gt;+<code>
 setenv loadaddr 0x70800000  setenv loadaddr 0x70800000 
 setenv bootargs_mmc 'setenv bootargs ${bootargs} root=/dev/mmcblk0p1 ip=none rootfstype=ext4' setenv bootargs_mmc 'setenv bootargs ${bootargs} root=/dev/mmcblk0p1 ip=none rootfstype=ext4'
Line 112: Line 112:
 setenv bootcmd 'run bootcmd_mmc' setenv bootcmd 'run bootcmd_mmc'
 saveenv saveenv
-&lt;/code&gt; +</code> 
-&lt;code&gt;+<code>
 bootpart=1:1 bootpart=1:1
 devtype=mmc devtype=mmc
Line 121: Line 121:
 set_bootargs=setenv bootargs console=ttyO0,115200n8 root=/dev/${bootpartition} rw rootfstype=ext4 rootwait set_bootargs=setenv bootargs console=ttyO0,115200n8 root=/dev/${bootpartition} rw rootfstype=ext4 rootwait
 uenvcmd=run set_bootargs;run loadimage;run loadfdt;printenv bootargs;bootz ${loadaddr} - ${fdtaddr} uenvcmd=run set_bootargs;run loadimage;run loadfdt;printenv bootargs;bootz ${loadaddr} - ${fdtaddr}
-&lt;/code&gt;+</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
-&lt;code&gt;+<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
-&lt;/code&gt; +</code> 
-&lt;file - /etc/systemd/network/usb0.network&gt;+<file - /etc/systemd/network/usb0.network>
 [Match] [Match]
 Name=usb0 Name=usb0
Line 147: Line 147:
 [Route] [Route]
 Gateway=192.168.7.17 Gateway=192.168.7.17
-&lt;/file&gt;+</file>
   * https://wiki.postmarketos.org/wiki/Kernel_configuration#CONFIG_USB_ETH   * https://wiki.postmarketos.org/wiki/Kernel_configuration#CONFIG_USB_ETH
   * BCM4330 https://wiki.postmarketos.org/wiki/Samsung_Galaxy_SII_(samsung-i9100)#WiFi_.2F_Bluetooth_.2F_FM_radio   * BCM4330 https://wiki.postmarketos.org/wiki/Samsung_Galaxy_SII_(samsung-i9100)#WiFi_.2F_Bluetooth_.2F_FM_radio
Line 157: Line 157:
   * https://github.com/TheMuppets/proprietary_vendor_samsung/tree/lineage-17.0/i9100/proprietary/system/etc/wifi   * https://github.com/TheMuppets/proprietary_vendor_samsung/tree/lineage-17.0/i9100/proprietary/system/etc/wifi
   * https://github.com/TheMuppets/proprietary_vendor_samsung/raw/lineage-17.0/i9100/proprietary/system/etc/wifi/bcmdhd_sta.bin as brcmfmac4330-sdio.bin   * https://github.com/TheMuppets/proprietary_vendor_samsung/raw/lineage-17.0/i9100/proprietary/system/etc/wifi/bcmdhd_sta.bin as brcmfmac4330-sdio.bin
-&lt;code bash&gt;+<code bash>
 pacman-key --init pacman-key --init
 pacman-key --populate archlinuxarm pacman-key --populate archlinuxarm
-&lt;/code&gt;+</code>
   * create package linux-firmware-samsung-i9100 or something   * create package linux-firmware-samsung-i9100 or something
   * use mainline kernel supplied by archlinuxarm, using dtb kernel boot args   * use mainline kernel supplied by archlinuxarm, using dtb kernel boot args
   * document everything we have so far   * document everything we have so far
-  * iwd &amp; sshd +  * iwd & sshd 
-&lt;code bash&gt;+<code bash>
 systemctl enable --now iwd systemd-networkd systemd-resolved sshd systemctl enable --now iwd systemd-networkd systemd-resolved sshd
 ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
-&lt;/code&gt; +</code> 
-&lt;file - /etc/systemd/network/wlan0.network&gt;+<file - /etc/systemd/network/wlan0.network>
 [Match] [Match]
-Name=&lt; name of your wifi interface or * for every interface &gt;+Name=name of your wifi interface or * for every interface >
  
 [Network] [Network]
 DHCP=yes DHCP=yes
 IPv6PrivacyExtensions=true IPv6PrivacyExtensions=true
-&lt;/file&gt; +</file> 
-&lt;code&gt;+<code>
 RFKILL=y RFKILL=y
 CONFIG_KEY_DH_OPERATIONS=y CONFIG_KEY_DH_OPERATIONS=y
-&lt;/code&gt; +</code> 
-&lt;code bash&gt;+<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 &quot;http://de4.mirror.archlinuxarm.org/os/ArchLinuxARM-armv7-latest.tar.gz&quot;+wget 'http://de4.mirror.archlinuxarm.org/os/ArchLinuxARM-armv7-latest.tar.gz'
 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
-&lt;/code&gt; +</code> 
-&lt;code bash&gt;+<code bash>
 pacman -S phosh gnome-session gnome-shell pacman -S phosh gnome-session gnome-shell
-&lt;/code&gt;+</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 'weston-terminal' once that works you can then start phosh from that terminal and once that works bring gnome-session into the mix. that allows us to debug all parts independently.   * as i said before: start just phoc to get that running first: e.g. phoc -E 'weston-terminal' once that works you can then start phosh from that terminal and once that works bring gnome-session into the mix. that allows us to debug all parts independently.
Line 205: Line 205:
   * https://github.com/u-boot/u-boot/archive/v2012.04.tar.gz   * https://github.com/u-boot/u-boot/archive/v2012.04.tar.gz
 instructions for archlinux instructions for archlinux
-&lt;code bash&gt;+<code bash>
 git clone https://git.project-insanity.org/onny/i9100-uboot.git git clone https://git.project-insanity.org/onny/i9100-uboot.git
 pacman -U i9100-uboot/dtc-1.4.1-1-x86_64.pkg.tar.xz  i9100-uboot/gcc-arm-none-eabi-bin-49-4.9_2015_q3_update-3-x86_64.pkg.tar.xz pacman -U i9100-uboot/dtc-1.4.1-1-x86_64.pkg.tar.xz  i9100-uboot/gcc-arm-none-eabi-bin-49-4.9_2015_q3_update-3-x86_64.pkg.tar.xz
-wget &quot;https://github.com/u-boot/u-boot/archive/v2012.04.tar.gz&quot;+wget 'https://github.com/u-boot/u-boot/archive/v2012.04.tar.gz'
 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 ../i9100-uboot/i9100-uboot-2012.04.patch patch -p1 -i ../i9100-uboot/i9100-uboot-2012.04.patch
 patch -p1 -i ../i9100-uboot/i9100-uboot-2012.04-bootarchlinux.patch patch -p1 -i ../i9100-uboot/i9100-uboot-2012.04-bootarchlinux.patch
-export PATH=&quot;/usr/local/arm/gcc-arm-none-eabi-4_9-2015q3/bin:$PATH&quot;+export PATH='/usr/local/arm/gcc-arm-none-eabi-4_9-2015q3/bin:$PATH'
 export ARCH=arm export ARCH=arm
 export CROSS_COMPILE=arm-none-eabi- export CROSS_COMPILE=arm-none-eabi-
 make galaxys2 make galaxys2
 ../i9100-uboot/flash.sh ../i9100-uboot/flash.sh
-&lt;/code&gt;+</code>
   * https://github.com/u-boot/u-boot/archive/v2013.04.tar.gz   * https://github.com/u-boot/u-boot/archive/v2013.04.tar.gz
-&lt;code&gt;+<code>
 boards.cfg boards.cfg
 drivers/misc/Makefile drivers/misc/Makefile
 drivers/mmc/s5p_mmc.c (no file) drivers/mmc/s5p_mmc.c (no file)
-&lt;/code&gt;+</code>
 interessante datei in uboot upstream: include/configs/exynos5250-dt.h interessante datei in uboot upstream: include/configs/exynos5250-dt.h
   * modifiziert   * modifiziert
Line 230: Line 230:
     * galaxys2.h     * galaxys2.h
 https://github.com/u-boot/u-boot/commits/master?after=d16e18ca6c4d81ac142acd529b1acb55b0c96dfc+45035 https://github.com/u-boot/u-boot/commits/master?after=d16e18ca6c4d81ac142acd529b1acb55b0c96dfc+45035
-&lt;code&gt;+<code>
 git checkout 51bdad67cb6738c5d0e78084cf3e3baa216f4d2f git checkout 51bdad67cb6738c5d0e78084cf3e3baa216f4d2f
-&lt;/code&gt;+</code>
samsung-i9100.txt · Last modified: 2022/03/11 00:21 by 2a01:4f8:192:214e::2