Differences

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

Link to this comparison view

Both sides previous revision Previous revision
fat_installer [2013/01/04 14:58]
marvin24
fat_installer [2013/01/04 16:33] (current)
marvin24
Line 1: Line 1:
-====== Fat Installer ​======+====== Migration to u-boot ====== 
 + 
 + 
 +===== Fat Installer =====
  
 During discussions on IRC about the future boot process using u-boot, we came to the conclusion that we need to repartition the device first. By default, the AC100 using a proprietary partitioning scheme which cannot (or shouldn'​t?​) be supported by mainline kernels. So before introducing a new bootloader, we need to install a new partition table (preferable gpt format) without (also preferable) loosing any data. Older kernels (pre 3.1) will not be able to detect this anymore, so all Android versions with old kernel will fail here. They would fail anyway, because of u-boot, so this is no loss. During discussions on IRC about the future boot process using u-boot, we came to the conclusion that we need to repartition the device first. By default, the AC100 using a proprietary partitioning scheme which cannot (or shouldn'​t?​) be supported by mainline kernels. So before introducing a new bootloader, we need to install a new partition table (preferable gpt format) without (also preferable) loosing any data. Older kernels (pre 3.1) will not be able to detect this anymore, so all Android versions with old kernel will fail here. They would fail anyway, because of u-boot, so this is no loss.
  
-====== Storage Layout ​======+===== Storage Layout =====
  
 A few words to the EMMC (internal storage) layout. There are two different EMMCs build into the various AC100 models. One from SanDisk and one from Toshiba. I mention this because they use different size of secure partitions. These partitions cannot be access by uboot at the time of writing this (may be possible in the future though). On the other hand, the kernel can do. Because we plan to put our bootloader into these partitions, we need to boot a kernel with an initramfs filesystem first to be able to flash the bootloader. Some program needs to detect the EMMC type and flash the bootloader to the "​right"​ place. This "​flashing"​ process is also decribed on [[swarren_brain_dump|this page]]. A few words to the EMMC (internal storage) layout. There are two different EMMCs build into the various AC100 models. One from SanDisk and one from Toshiba. I mention this because they use different size of secure partitions. These partitions cannot be access by uboot at the time of writing this (may be possible in the future though). On the other hand, the kernel can do. Because we plan to put our bootloader into these partitions, we need to boot a kernel with an initramfs filesystem first to be able to flash the bootloader. Some program needs to detect the EMMC type and flash the bootloader to the "​right"​ place. This "​flashing"​ process is also decribed on [[swarren_brain_dump|this page]].
Line 9: Line 12:
 The partition table is then put right a the first sector of the first "​normal"​ partition, so the kernel can find it easily. The partition table is then put right a the first sector of the first "​normal"​ partition, so the kernel can find it easily.
  
-====== What we need? ======+===== What we need? =====
  
 So we have a plan - what else is needed? So we have a plan - what else is needed?
Line 20: Line 23:
   - flash (or copy to /boot) the new kernel   - flash (or copy to /boot) the new kernel
  
-Additionally,​ the ramdisk could contain a minimal system with network (wifi/usb ethernet/​usb gadget) support to present a bootloader menu (e.g. [[http://​www.kernel.org/​pub/​linux/​kernel/​people/​geoff/​petitboot/​petitboot.html|petitboot]]),​ to either boot some kernels from some attached storage or via tftp, scp, or similar.+Additionally,​ the ramdisk could contain a minimal system with network (wifi/usb ethernet/​usb gadget) support to present a bootloader menu (e.g. [[http://​www.kernel.org/​pub/​linux/​kernel/​people/​geoff/​petitboot/​petitboot.html|petitboot]]),​ to either boot some kernels from some attached storage or via tftp, scp, or similar ​- all via kexec method.
  
Log In