The Mer Wiki now uses your Mer user account and password (create account on https://bugs.merproject.org/)


Sailfish/Backup Device

From Mer Wiki
< Sailfish(Difference between revisions)
Jump to: navigation, search
m (Using prebuilt image)
m (Build Kernel image)
Line 30: Line 30:
  
 
== Build Kernel image ==  
 
== Build Kernel image ==  
* Download sources at: https://github.com/KonstaT/sailfishos_kernel_jolla_msm8930/
+
* Download sources at: https://github.com/KonstaT/sailfishos_kernel_jolla_msm8930/
* export ARCH=arm
+
* export ARCH=arm
* export CROSS_COMPILE=armv7hl-hardfloat-linux-gnueabi- (replace with your arm crosscompiler)
+
* export CROSS_COMPILE=armv7hl-hardfloat-linux-gnueabi- (replace with your arm crosscompiler)
* Make default config: <code>make sbj_defconfig</code>
+
* Make default config: <code>make sbj_defconfig</code>
* Change config with make menuconfig (see for e.x. https://github.com/djselbeck/jollarecovery/blob/master/kernelconfig)
+
* Change config with make menuconfig (see for e.x. https://github.com/djselbeck/jollarecovery/blob/master/kernelconfig)
* Set CONFIG_CMDLINE: root=/dev/ram0 rw init=/init androidboot.hardware=qcom user_debug=31 ehci-hcd.park=3 maxcpus=2
+
* Set CONFIG_CMDLINE: root=/dev/ram0 rw init=/init androidboot.hardware=qcom user_debug=31 ehci-hcd.park=3 maxcpus=2
* Set CONFIG_CMDLINE_FORCE
+
* Set CONFIG_CMDLINE_FORCE
* Set General Setup->Initramfs source file(s) to your path of initrd-root tree, example (/home/user/jollarecovery/root)
+
* Set General Setup->Initramfs source file(s) to your path of initrd-root tree, example (/home/user/jollarecovery/root)
* make -j8 zImage
+
* make -j8 zImage
* create bootable image:  
+
* create bootable image:  
** mkbootimg --cmdline '' --base 0x00000000 --pagesize 2048 --kernel_offset 0x80208000 --ramdisk_offset 0x82200000 --second_offset 0x81100000 --tags_offset 0x80200100 --board '' --ramdisk boot.img-ramdisk --kernel kernelsourcetreepath/arch/arm/boot/zImage --output "boot-telnet-initrd.img"
+
** mkbootimg --cmdline '' --base 0x00000000 --pagesize 2048 --kernel_offset 0x80208000 --ramdisk_offset 0x82200000 --second_offset 0x81100000 --tags_offset 0x80200100 --board '' --ramdisk boot.img-ramdisk --kernel kernelsourcetreepath/arch/arm/boot/zImage --output "boot-telnet-initrd.img"

Revision as of 14:39, 21 December 2013

DISCLAIMER: Be careful with all your actions. The author of this page will not take any responsibility for you if you brick your device. YOU ARE DOING ALL THE FOLLOWING STEPS ON YOUR OWN. Please make sure your device is fully charged

Prerequisites:

* fastboot (x64 Linux version in git of jollarecovery)
* mkbootimg (x64 Linux version in git of jollarecovery)
* arm crosscompile chain ( if you want to compile your own kernel )
* telnet client
* patience
* microsd card with minimum of 16GB capacity (formatted with fs capable of storing files with 15GB size (ext4,btrfs should be working))

Contents

Using prebuilt image

  • download image from here: https://github.com/djselbeck/jollarecovery/raw/master/boot-telnet-initrd.img
  • boot image with: fastboot -i 0x2931 boot boot-telnet-initrd.img
  • Check if LED turns blue, if yes wait for it to turn red after some time
  • if LED is red your network is up and running with ip 192.168.42.17 and probably running an dhcp server
  • telnet to 192.168.42.17
  • Mount your sd card with: mkdir /sd; mount /dev/mmcblk1p1 /sd
  • backup all you internal eMMC partitons with:
    • cd /dev
    • for i in mmcblk0p* ; do echo $i; dd if=$i of=/sd/$i; done; sync
    • wait a long time

Compile own kernel image

Create initrd tree

* Download source tree at: https://github.com/djselbeck/jollarecovery for example to /home/user/jollarecovery


Build Kernel image

  • Download sources at: https://github.com/KonstaT/sailfishos_kernel_jolla_msm8930/
  • export ARCH=arm
  • export CROSS_COMPILE=armv7hl-hardfloat-linux-gnueabi- (replace with your arm crosscompiler)
  • Make default config: make sbj_defconfig
  • Change config with make menuconfig (see for e.x. https://github.com/djselbeck/jollarecovery/blob/master/kernelconfig)
  • Set CONFIG_CMDLINE: root=/dev/ram0 rw init=/init androidboot.hardware=qcom user_debug=31 ehci-hcd.park=3 maxcpus=2
  • Set CONFIG_CMDLINE_FORCE
  • Set General Setup->Initramfs source file(s) to your path of initrd-root tree, example (/home/user/jollarecovery/root)
  • make -j8 zImage
  • create bootable image:
    • mkbootimg --cmdline --base 0x00000000 --pagesize 2048 --kernel_offset 0x80208000 --ramdisk_offset 0x82200000 --second_offset 0x81100000 --tags_offset 0x80200100 --board --ramdisk boot.img-ramdisk --kernel kernelsourcetreepath/arch/arm/boot/zImage --output "boot-telnet-initrd.img"
Personal tools