Packages
nerves_system_br
0.7.0
1.34.0
1.33.9
1.33.8
1.33.7
1.33.6
1.33.5
1.33.4
1.33.3
1.33.2
1.33.1
1.33.0
1.32.5
1.32.4
1.32.3
1.32.2
1.32.1
1.32.0
1.31.7
1.31.6
1.31.5
1.31.4
1.31.3
1.31.2
1.31.1
1.31.0
1.30.1
1.30.0
1.29.3
1.29.2
1.29.1
1.29.0
1.28.3
1.28.2
1.28.1
1.28.0
1.27.3
1.27.2
1.27.1
1.27.0
1.26.1
1.26.0
1.25.3
1.25.2
1.25.1
1.25.0
1.24.1
1.24.0
1.23.3
1.23.2
1.23.1
1.23.0
1.22.8
1.22.7
1.22.6
1.22.5
1.22.4
1.22.3
1.22.2
1.22.1
1.22.0
1.21.6
1.21.5
1.21.4
1.21.3
1.21.2
1.21.1
1.21.0
1.20.6
1.20.5
1.20.4
1.20.3
1.20.2
1.20.1
1.20.0
1.19.1
1.19.0
1.18.6
1.18.5
1.18.4
1.18.3
1.18.2
1.18.1
1.18.0
1.17.4
1.17.3
1.17.2
1.17.1
1.17.0
1.16.5
1.16.4
1.16.3
1.16.2
1.16.1
1.16.0
1.15.2
1.15.1
1.15.0
1.14.5
1.14.4
1.14.3
1.14.2
1.14.1
1.14.0
1.13.8
1.13.7
1.13.6
1.13.5
1.13.4
1.13.3
1.13.2
1.13.1
1.13.0
1.12.4
1.12.3
1.12.2
1.12.1
1.12.0
1.12.0-rc.0
1.11.4
1.11.3
1.11.2
1.11.1
1.11.0
1.10.3
1.10.2
1.10.1
1.10.0
1.9.5
1.9.4
1.9.3
1.9.2
1.9.1
1.9.0
1.8.6
1.8.5
1.8.4
1.8.3
1.8.2
1.8.1
1.8.0
1.7.3
1.7.2
1.7.1
1.7.0
1.6.8
1.6.7
1.6.6
1.6.5
1.6.4
1.6.3
1.6.2
1.6.1
1.6.0
1.5.6
1.5.5
1.5.4
1.5.3
1.5.2
1.5.1
1.5.0
1.4.5
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
1.3.2
1.3.1
1.3.0
1.2.2
1.2.1
1.2.0
1.1.0
1.0.1
1.0.0
1.0.0-rc.4
1.0.0-rc.3
1.0.0-rc.2
1.0.0-rc.1
1.0.0-rc.0
0.17.0
0.16.4
0.16.3
0.16.2
0.16.1-2017-11
0.16.0-2017-11
0.15.1
0.15.0
0.14.1
0.14.0
0.13.9
0.13.8
0.13.7
0.13.6
0.13.5
0.13.4
retired
0.13.3
0.13.2
0.13.0
0.12.1
0.12.0
0.11.1
0.11.0
0.10.1
0.10.0
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0
0.8.2
0.8.1
0.8.0
0.7.0
0.6.1
0.6.0
0.5.2
0.5.1
0.5.0
0.4.2
0.4.1
Nerves System BR - Buildroot based build platform for Nerves Systems
Current section
Files
Jump to
Current section
Files
board/ag150/fwup.conf
# Firmware configuration file for the AG150 (Atom N2800)# Default paths if not specified via the commandlinedefine(ROOTFS, "${NERVES_SYSTEM}/images/rootfs.squashfs")# This configuration file will create an image that# has an MBR and the following 3 partitions:## +----------------------------+# | MBR |# +----------------------------+# | Boot partition (FAT16) |# | syslinux.cfg |# | bzImage |# +----------------------------+# | p1*: Rootfs A (squashfs) |# +----------------------------+# | p1*: Rootfs B (squashfs) |# +----------------------------+# | p2: Application (FAT32) |# +----------------------------+## The p1 partition points to whichever of Rootfs A or B that# is active.# The boot partition contains syslinux, 2 Linux kernels,# and the bootloader configuration. 16 MB should be plenty.define(BOOT_PART_OFFSET, 63)define(BOOT_PART_COUNT, 31232)# Let the rootfs have room to grow up to 128 MiBdefine(ROOTFS_A_PART_OFFSET, 32768)define(ROOTFS_A_PART_COUNT, 262144)define(ROOTFS_B_PART_OFFSET, 294912)define(ROOTFS_B_PART_COUNT, 262144)# Application partition. This partition can occupy all of the# remaining space. Size it to fit the destination.define(APP_PART_OFFSET, 557056)define(APP_PART_COUNT, 2097152)# Firmware metadatameta-product = "Nerves Firmware"meta-description = ""meta-version = ${NERVES_SDK_VERSION}meta-platform = "ag150"meta-architecture = "x86_atom"meta-author = "Frank Hunleth"# File resources are listed in the order that they are included in the .fw file# This is important, since this is the order that they're written on a firmware# update due to the event driven nature of the update system.file-resource bootpart.bin { host-path = "${NERVES_SYSTEM}/images/bootpart.bin"}file-resource syslinux.cfg { host-path = "${NERVES_SYSTEM}/images/syslinux.cfg"}file-resource bzImage { host-path = "${NERVES_SYSTEM}/images/bzImage"}file-resource rootfs.img { host-path = ${ROOTFS}}mbr mbr-a { bootstrap-code-host-path = "${NERVES_SYSTEM}/images/syslinux/mbr.bin" partition 0 { block-offset = ${BOOT_PART_OFFSET} block-count = ${BOOT_PART_COUNT} type = 0x1 # FAT12 boot = true } partition 1 { block-offset = ${ROOTFS_A_PART_OFFSET} block-count = ${ROOTFS_A_PART_COUNT} type = 0x83 # Linux } partition 2 { block-offset = ${APP_PART_OFFSET} block-count = ${APP_PART_COUNT} type = 0xc # FAT32 } # partition 3 is unused}mbr mbr-b { bootstrap-code-host-path = "${NERVES_SYSTEM}/images/syslinux/mbr.bin" partition 0 { block-offset = ${BOOT_PART_OFFSET} block-count = ${BOOT_PART_COUNT} type = 0x1 # FAT12 boot = true } partition 1 { block-offset = ${ROOTFS_B_PART_OFFSET} block-count = ${ROOTFS_B_PART_COUNT} type = 0x83 # Linux } partition 2 { block-offset = ${APP_PART_OFFSET} block-count = ${APP_PART_COUNT} type = 0xc # FAT32 } # partition 3 is unused}# This firmware task writes everything to the destination mediatask complete { # Only match if not mounted require-unmounted-destination = true # Everything that gets written can be verified on the fly. # This speeds things up, since we don't care about detecting # errors before data gets written. verify-on-the-fly = true on-init { mbr_write(mbr-a) } on-resource bootpart.bin { raw_write(${BOOT_PART_OFFSET}) } on-resource syslinux.cfg { fat_write(${BOOT_PART_OFFSET}, "syslinux.cfg") } on-resource bzImage { fat_write(${BOOT_PART_OFFSET}, "bzImage") } on-resource rootfs.img { # write to the first rootfs partition raw_write(${ROOTFS_A_PART_OFFSET}) } on-finish { # Initialize the app partition last so that the boot # partition can be written in one go. fat_mkfs(${APP_PART_OFFSET}, ${APP_PART_COUNT}) fat_setlabel(${APP_PART_OFFSET}, "APPDATA") }}task upgrade.a { # This task upgrades the A partition require-partition1-offset = ${ROOTFS_B_PART_OFFSET} # Since the upgrade won't run until it has been finalized, it's ok # to write data as it is read. verify-on-the-fly = true on-init { # Erase any old saved files from previous upgrades fat_rm(${BOOT_PART_OFFSET}, "bzImage.pre") } on-resource bzImage { fat_write(${BOOT_PART_OFFSET}, "bzImage.new") } on-resource rootfs.img { # write to the first rootfs partition raw_write(${ROOTFS_A_PART_OFFSET}) } on-finish { # Switch over to boot the new firmware mbr_write(mbr-a) fat_mv(${BOOT_PART_OFFSET}, "bzImage", "bzImage.pre") fat_mv(${BOOT_PART_OFFSET}, "bzImage.new", "bzImage") } on-error { # Clean up in case something goes wrong fat_rm(${BOOT_PART_OFFSET}, "bzImage.new") }}task upgrade.b { # This task upgrades the B partition require-partition1-offset = ${ROOTFS_A_PART_OFFSET} # Since the upgrade won't run until it has been finalized, it's ok # to write data as it is read. verify-on-the-fly = true on-init { fat_rm(${BOOT_PART_OFFSET}, "bzImage.pre") } on-resource bzImage { fat_write(${BOOT_PART_OFFSET}, "bzImage.new") } on-resource rootfs.img { # write to the first rootfs partition raw_write(${ROOTFS_B_PART_OFFSET}) } on-finish { # Switch over to boot the new firmware mbr_write(mbr-b) fat_mv(${BOOT_PART_OFFSET}, "bzImage", "bzImage.pre") fat_mv(${BOOT_PART_OFFSET}, "bzImage.new", "bzImage") } on-error { # Clean up in case something goes wrong fat_rm(${BOOT_PART_OFFSET}, "bzImage.new") }}