Changes between Version 13 and Version 14 of newport/firmware


Ignore:
Timestamp:
04/25/2019 06:49:29 PM (5 years ago)
Author:
Tim Harvey
Comment:

updated for kernel.itb and newport.scr bootscript being moved to root partition /boot directory

Legend:

Unmodified
Added
Removed
Modified
  • newport/firmware

    v13 v14  
    155155Updating just the kernel.itb (FIT Image) can be done with {{{tftpboot}}} and {{{fatwrite}}}:
    156156{{{#!bash
     157# choose device (0 for boot device, 1 for alternate device)
     158setenv dev 0
    157159# kernel
    158 tftpboot $loadaddr kernel.itb && fatwrite mmc $dev:1 $loadaddr kernel.itb $filesize
     160tftpboot $loadaddr kernel.itb && ext4write mmc $dev:2 $loadaddr /boot/kernel.itb $filesize
    159161# bootscript
    160 tftpboot $loadaddr newport.scr && fatwrite mmc $dev:1 $loadaddr newport.scr $filesize
     162tftpboot $loadaddr newport.scr && ext4write mmc $dev:1 $loadaddr /boot/newport.scr $filesize
    161163}}}
    162164
     
    212214[=#serial-ethernet-linux]
    213215=== Update Firmware via Serial Console and Ethernet from Linux ===
    214 If booted to Linux on a board you can also update the kernel and bootscript fairly easily by mounting the FAT12 filesystem and copying the file(s):
    215 {{{#!bash
    216 mount /dev/mmcblk0p1 /mnt
    217 cp kernel.itb /mnt
    218 cp newport.scr /mnt
     216If booted to Linux on a board you can also update the kernel and bootscript by updating the files in the boot directory of the root filesystem:
     217{{{#!bash
     218cp kernel.itb /boot
     219cp newport.scr /boot
    219220}}}
    220221
     
    309310
    310311
     312= Updating Boot script
     313The U-Boot boot script exists in the root filesystem and is loaded by the U-Boot 'generic distro' config bootscripts.
     314
    311315
    312316= Updating Linux kernel
    313 The Linux kernel exists in the embedded FAT12 filesystem and is loaded by the bootloader boot scripts. It can be updated by mounting {{{/dev/mmcblk0p1}}} in Linux and replacing the file. How and from where the kernel is loaded can be changed to your liking in the U-Boot env however the Gateworks U-Boot env uses a bootscript which is scanned for by the U-Boot scripts (look over the U-Boot env to follow the 'distro config' bootscript setup). The Ubuntu bootscript in the Newport BSP (newport/ubuntu.scr) uses a compressed kernel in a FIT image (kernel.itb). If wanted your bootscripts can be altered to provide a redundant/alternate kernel based on some U-Boot env var flags and counters that could be modified in Linux with the fw_setenv/fw_printenv tools from the U-Boot package. These are packaged in the u-boot-tools Ubuntu package and you can see example usages in the Newport BSP newport/Makefile.
     317The Linux kernel exists in the root filesystem and is loaded by the bootloader boot scripts. It can be updated by mounting {{{/dev/mmcblk0p2}}} in Linux and replacing the file. How and from where the kernel is loaded can be changed to your liking in the U-Boot env however the Gateworks U-Boot env uses a bootscript which is scanned for by the U-Boot scripts (look over the U-Boot env to follow the 'distro config' bootscript setup). The Ubuntu bootscript in the Newport BSP (newport/ubuntu.scr) uses a compressed kernel in a FIT image (kernel.itb). If wanted your bootscripts can be altered to provide a redundant/alternate kernel based on some U-Boot env var flags and counters that could be modified in Linux with the fw_setenv/fw_printenv tools from the U-Boot package. These are packaged in the u-boot-tools Ubuntu package and you can see example usages in the Newport BSP newport/Makefile.
    314318
    315319