Jump to content

[Armbian build PR] - armbian-install: further fixes plus MTD char driven flash support


Recommended Posts

Posted

Description of changes by commit

  1. Fix variable $root_partition_device to be a device path - as it is intended to be. Otherwise at least this line would fail: https://github.com/armbian/build/blob/8cc5b2664c8e49e252e5d383b983b8601440d8e7/packages/bsp/common/usr/sbin/armbian-install#L539 root_partition_device is all time equal to root_partition_device_name, since the lsblk does not list device path names rather than just the device (end-)name. Fixed to get e.g.:
 root_partition_device=/dev/mmcblk0
 root_partition_device_name=mmcblk0

commit: d7cf33ae3ce9850d4b9e0f9edb4ec7595fb2220a


  1. Fix determination and usage of variable $sduuid Issue: The last grep filter in the following line is useless, since blkid -o export provides a multiline output with the device name being on another line than UUID=... https://github.com/armbian/build/blob/8cc5b2664c8e49e252e5d383b983b8601440d8e7/packages/bsp/common/usr/sbin/armbian-install#L97 So it has been fixed as follows:
  • a) lookup mmc devices excluding the mmc device probably providing the current root partition

  • b) if there is no sduuid determined by this lookup, then lookup any mmc partition matching /dev/mmcblk*p1

  • c) move the sduuid calculation to the script header to enable usage for scenario selection filtering

  • d) hide installation scenario 1) selection, if $sduuid is empty, since $sduuid is essential for that scenario

    commit: 7e9ebe1861f6db6f30cd6fae5eff5594d6e5bdd9


  1. Hide current root partition device from destination selection
  • add new variable $root_partition_name

  • use this variable to filter current root partition from destination selection in check_partitions()

    commit: e791261c65152c504aa0a0ece5af72031e2af800


  1. Fix behavior in case of no available partition
  • The logic in check_partitions() in case of no available partition is improved not to fail for a hidden reason and UX for fresh disk devices is improved

  • Fix the calculation of $FREE_SPACE for devices without or with an empty partition table

  • Ask the user to proceed AFTER the minimum free capacity required is verified

  • Improve the logic for auto-creating initial partitions as follows: a) Check for a minimum free space of 4GB for a partition b) Ask user to proceed with auto-created partition(s) or not c) Distinguish between UEFI and non UEFI device d) Create a partition of full free size for non UEFI devices also

    commit: 6173bb24e4b0ec7b00c13ed2153ccbb7d7e4cda5


  1. Add support for MTD char driven flash
  • replace $spicheck by $mtdcheck

  • add probable MTD char device partitions to $mtdcheck

  • update comments and dialog content:

    • replace "SPI Flash" by "MTD Flash"
  • replace call of "create_armbian 'spi' ..." by "create_armbian 'mtd' ..."

  • update description for /dev/nand1 /dev/nand2 as "legacy SUNXI NAND"

  • additional parameters passed to import function "write_uboot_platform_mtd": $3 - Log file name $4 - SPACE separated list of all MTD device partition(s)

    commit: 660e181beadb11a2176ee6c5b42147a3534b9a99


How Has This Been Tested?

  • [x] Tested on a Cubietruck board:
    • booted from SD card
    • Select "MTD Flash boot | USB/SATA/NVMe root install"
    • installing to a SATA SSD without any partition table initialized
    • MTD char driven partitions mtd0-mtd3 matching SPL and U-Boot partition labels / names.

Would be good, if somebody else could run a test on:

  • EFI board
  • Board with mtdblock driven SPI flash

Checklist:

  • [x] My code follows the style guidelines of this project
  • [x] I have performed a self-review of my own code
  • [x] I have commented my code, particularly in hard-to-understand areas
  • [ ] I have made corresponding changes to the documentation
  • [x] My changes generate no new warnings
  • [n/a] Any dependent changes have been merged and published in downstream modules

View the full article

×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines