Difference between revisions of "SD Boot (firmware + rfs +bootpartition)"

From ESS-WIKI
Jump to: navigation, search
(Created page with "<syntaxhighlight lang="bash"> #at Linux host #download flex-installer wget https://www.nxp.com/lgfiles/sdk/lsdk2012/flex-installer && chmod +x flex-installer && sudo mv flex-...")
 
 
Line 1: Line 1:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
#at Linux host
 
 
 
#download flex-installer
 
#download flex-installer
 
wget https://www.nxp.com/lgfiles/sdk/lsdk2012/flex-installer && chmod +x flex-installer && sudo mv flex-installer /usr/bin
 
wget https://www.nxp.com/lgfiles/sdk/lsdk2012/flex-installer && chmod +x flex-installer && sudo mv flex-installer /usr/bin
Line 13: Line 11:
  
 
#create docker container
 
#create docker container
docker run -it --name qspi_emmc_boot --privileged -v $(pwd):/home/adv/flexbuild_lsdk2012:rw fbubuntu:18.04 /bin/bash
+
docker run -it --name sd_boot --privileged -v $(pwd):/home/adv/flexbuild_lsdk2012:rw fbubuntu:18.04 /bin/bash
  
 
# -----below command are in docker container----------
 
# -----below command are in docker container----------
Line 21: Line 19:
 
source setup.env
 
source setup.env
  
#先build一次拉code
+
# generate composite firmware for SD boot on ls1046ardb  
flex-builder -i mkfw -m ls1046ardb -b qspi
+
flex-builder -i mkfw -m ls1046ardb -b sd
 
 
# clean
 
flex-builder clean
 
 
 
# 修改rcw_1800_qspiboot.rcw內容(才認得到eMMC)
 
cd /home/adv/flexbuild_lsdk2012/packages/firmware/rcw/ls1046ardb/RR_FFSSPPPH_1133_5559
 
vim rcw_1800_qspiboot.rcw
 
IIC2_EXT=0
 
EVDD_VSEL=0
 
 
 
# 重新build firmware image
 
flex-builder -i mkfw -m ls1046ardb -b qspi
 
 
ls -hl build/images/
 
ls -hl build/images/
  
Line 40: Line 26:
 
flex-builder -i mkrfs -a arm64
 
flex-builder -i mkrfs -a arm64
 
ls -hl build/images/
 
ls -hl build/images/
 
  
 
# kernel image , dtb, distro boot script, flex_linux_<arch>.itb, small ramdiskrfs,etc.
 
# kernel image , dtb, distro boot script, flex_linux_<arch>.itb, small ramdiskrfs,etc.
Line 47: Line 32:
 
ls -hl build/images/
 
ls -hl build/images/
  
exit
+
#check sd device
cd build/images/
+
ls /dev/sd*
cp firmware_ls1046ardb_uboot_qspiboot.img /tftpboot/
 
cp rootfs_lsdk2012_ubuntu_main_arm64.tgz /tftpboot/
 
cp bootpartition_LS_arm64_lts_5.4_202109030747.tgz /tftpboot/
 
 
 
 
 
#at ls1046ardb Device COM
 
#firmware_ls1046ardb_uboot_qspiboot.img 燒入qspi bank1
 
 
 
=> cpld reset
 
=> setenv serverip 172.22.31.153
 
=> dhcp
 
=> ping 172.22.31.153
 
=> tftp $load_addr firmware_ls1046ardb_uboot_qspiboot.img
 
=> sf probe 0:1
 
=> sf erase 0 +$filesize && sf write $load_addr 0 $filesize
 
=> cpld reset altbank
 
 
 
#uboot check emmc
 
=> mmcinfo
 
=> mmc list
 
 
 
#reboot from qspi bank4 and boot to tiny rfs
 
=> cpld reset altbank
 
</syntaxhighlight>
 
 
 
 
 
 
 
<syntaxhighlight lang="bash">
 
# download bootpartition and rfs to mytftp folder
 
cd /media/
 
mkdir mytftp
 
cd mytftp
 
 
 
ifconfig fm1-mac9 up
 
udhcpc -i fm1-mac9
 
ping 172.22.31.153
 
  
tftp -g -r bootpartition_LS_arm64_lts_5.4_202109030747.tgz 172.22.31.153
 
tftp -g -r rootfs_lsdk2012_ubuntu_main_arm64.tgz 172.22.31.153
 
  
# format emmc
+
#format sd
flex-installer -i pf -d /dev/mmcblk0
+
flex-installer -i pf -d /dev/sdm
 
sync
 
sync
  
# install bootpartition and rfs
+
# install image to SD
flex-installer -i install -b bootpartition_LS_arm64_lts_5.4_202109030747.tgz -r rootfs_lsdk2012_ubuntu_main_arm64.tgz -d /dev/mmcblk0
+
ls -hl
 +
flex-installer -f firmware_ls1046ardb_uboot_sdboot.img -b bootpartition_LS_arm64_lts_5.4_202108161103.tgz -r rootfs_lsdk2012_ubuntu_main_arm64.tgz -d /dev/sdm
  
# emmc just 3G, It's not enough to store boot partition and rfs
 
 
</syntaxhighlight>
 
</syntaxhighlight>

Latest revision as of 02:54, 15 September 2021

#download flex-installer
wget https://www.nxp.com/lgfiles/sdk/lsdk2012/flex-installer && chmod +x flex-installer && sudo mv flex-installer /usr/bin
flex-installer -h

#download flex-builder
tar xvzf flexbuild_lsdk2012.tgz
cd flexbuild_lsdk2012/
source setup.env
flex-builder -h

#create docker container
docker run -it --name sd_boot --privileged -v $(pwd):/home/adv/flexbuild_lsdk2012:rw fbubuntu:18.04 /bin/bash

# -----below command are in docker container----------
cd /home/adv/flexbuild_lsdk2012

#source environment variable
source setup.env

# generate composite firmware for SD boot on ls1046ardb 
flex-builder -i mkfw -m ls1046ardb -b sd
ls -hl build/images/

# generate Ubuntu-base arm64 LSDK
flex-builder -i mkrfs -a arm64
ls -hl build/images/

# kernel image , dtb, distro boot script, flex_linux_<arch>.itb, small ramdiskrfs,etc.
# Flex-builder automatically builds the dependent images if the are not present.
flex-builder -i mkbootpartition -a arm64
ls -hl build/images/

#check sd device
ls /dev/sd*


#format sd
flex-installer -i pf -d /dev/sdm
sync

# install image to SD 
ls -hl
flex-installer -f firmware_ls1046ardb_uboot_sdboot.img -b bootpartition_LS_arm64_lts_5.4_202108161103.tgz -r rootfs_lsdk2012_ubuntu_main_arm64.tgz -d /dev/sdm