Changes between Version 13 and Version 14 of newport/firmware
- Timestamp:
- 04/25/2019 06:49:29 PM (6 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
newport/firmware
v13 v14 155 155 Updating just the kernel.itb (FIT Image) can be done with {{{tftpboot}}} and {{{fatwrite}}}: 156 156 {{{#!bash 157 # choose device (0 for boot device, 1 for alternate device) 158 setenv dev 0 157 159 # kernel 158 tftpboot $loadaddr kernel.itb && fatwrite mmc $dev:1 $loadaddrkernel.itb $filesize160 tftpboot $loadaddr kernel.itb && ext4write mmc $dev:2 $loadaddr /boot/kernel.itb $filesize 159 161 # bootscript 160 tftpboot $loadaddr newport.scr && fatwrite mmc $dev:1 $loadaddrnewport.scr $filesize162 tftpboot $loadaddr newport.scr && ext4write mmc $dev:1 $loadaddr /boot/newport.scr $filesize 161 163 }}} 162 164 … … 212 214 [=#serial-ethernet-linux] 213 215 === 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 216 If 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 218 cp kernel.itb /boot 219 cp newport.scr /boot 219 220 }}} 220 221 … … 309 310 310 311 312 = Updating Boot script 313 The U-Boot boot script exists in the root filesystem and is loaded by the U-Boot 'generic distro' config bootscripts. 314 311 315 312 316 = 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.317 The 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. 314 318 315 319