- Phone Flash Tool (GUI) or flashall.bat/flashall.sh (CUI)
- reboot ota command or run do_ota at Boot prompt.
But it cannot use "reboot ota" method on out-of-box Edison. In my case, oob Edison's version is
root@edison:~# cat /etc/version
edison-weekly_build_56_2014-08-20_15-54-05
And if you run reboot ota, it fails. The reason is in ota_abort_reason U-boot environment variable.
root@edison:~# fw_printenv ota_abort_reason
ota_abort_reason=Partition rootfs too small for edison-image-edison.ext4
Oob Edison's partition layout looks like this.
Number Start End Size File system Name Flags
1 1049kB 3146kB 2097kB u-boot0
2 3146kB 4194kB 1049kB u-boot-env0
3 4194kB 6291kB 2097kB u-boot1
4 6291kB 7340kB 1049kB u-boot-env1
5 7340kB 8389kB 1049kB ext2 factory
6 8389kB 33.6MB 25.2MB panic
7 33.6MB 67.1MB 33.6MB fat16 boot
8 67.1MB 604MB 537MB ext4 rootfs
9 604MB 1409MB 805MB update
10 1409MB 3909MB 2500MB ext4 home
To compare, this is a partition layout after flashing to the latest firmware (weekly-159).
Number Start End Size File system Name Flags
1 1049kB 3146kB 2097kB u-boot0
2 3146kB 4194kB 1049kB u-boot-env0
3 4194kB 6291kB 2097kB u-boot1
4 6291kB 7340kB 1049kB u-boot-env1
5 7340kB 8389kB 1049kB ext2 factory
6 8389kB 33.6MB 25.2MB panic
7 33.6MB 67.1MB 33.6MB fat16 boot
8 67.1MB 1678MB 1611MB ext4 rootfs
9 1678MB 2483MB 805MB update
10 2483MB 3909MB 1426MB ext4 home
reboot ota command cannot change a partition layout, because the command refers files in update partition and rootfs partition is followed by update partition. If extend rootfs partition size, it destroys update partition.
On the other hand, flashall command does the following steps.
- Flash u-boot0/1 and u-boot-env0/1 partitions.
- Reboot.
- Flash rootfs partition.
At the second reboot step, U-boot overwrites a partition table using updated partitions variable at the first step.
root@edison:~# fw_printenv partition
partitions=uuid_disk=${uuid_disk};name=u-boot0,start=1MiB,size=2MiB,uuid=${uuid_uboot0};name=u-boot-env0,size=1MiB,uuid=${uuid_uboot_env0};name=u-boot1,size=2MiB,uuid=${uuid_uboot1};name=u-boot-env1,size=1MiB,uuid=${uuid_uboot_env1};name=factory,size=1MiB,uuid=${uuid_factory};name=panic,size=24MiB,uuid=${uuid_panic};name=boot,size=32MiB,uuid=${uuid_boot};name=rootfs,size=1536MiB,uuid=${uuid_rootfs};name=update,size=768MiB,uuid=${uuid_update};name=home,size=-,uuid=${uuid_home};
Just for reference, oob Edison's partition variable:
partitions=uuid_disk=${uuid_disk};name=u-boot0,start=1MiB,size=2MiB,uuid=${uuid_uboot0};name=u-boot-env0,size=1MiB,uuid=${uuid_uboot_env0};name=u-boot1,size=2MiB,uuid=${uuid_uboot1};name=u-boot-env1,size=1MiB,uuid=${uuid_uboot_env1};name=factory,size=1MiB,uuid=${uuid_factory};name=panic,size=24MiB,uuid=${uuid_panic};name=boot,size=32MiB,uuid=${uuid_boot};name=rootfs,size=512MiB,uuid=${uuid_rootfs};name=update,size=768MiB,uuid=${uuid_update};name=home,size=-,uuid=${uuid_home};
0 件のコメント:
コメントを投稿