VPP just won't work. God help

This commit is contained in:
2026-04-14 03:58:23 +08:00
parent 9027132a7d
commit 9225857db6
9 changed files with 402 additions and 110 deletions

View File

@@ -88,5 +88,51 @@ Done
Bye...
```
## VPP
Can't even build. The toolchain is messy. So many errors to plow through. I gave up.
## VPP (Very Painful Process)
### The fmc hurdle
`fmc -c /etc/fmc/config.xml -p /etc/fmc/policy.xml -a -l dbg1`
* [x] Kernel oops (fixed due to an incorrect build)
* [ ] Finalize config.xml
* [ ] Finalize policy.xml
Logs
```
DBG1: Invocation of FM_Open from fmc_exec_engine_start for fm0
DBG1: Invocation of FM_Open for fm0 succeeded
DBG1: Invocation of FM_PCD_Open from fmc_exec_engine_start for fm0/pcd
DBG1: Invocation of FM_PCD_Open for fm0/pcd succeeded
DBG1: Invocation of FM_PCD_Enable from fmc_exec_engine_start for fm0/pcd
DBG1: Invocation of FM_PCD_Enable for fm0/pcd succeeded
DBG1: fmc_exec_engine_start - execution ended
DBG1: Invocation of FM_PORT_Open from fmc_exec_port_start for fm0/port/MAC/9
DBG1: Invocation of FM_PORT_Open for fm0/port/MAC/9 succeeded
DBG1: Invocation of FM_PCD_NetEnvCharacteristicsSet from fmc_exec_port_start for fm0/port/MAC/9
DBG1: Invocation of FM_PCD_NetEnvCharacteristicsSet for fm0/port/MAC/9 succeeded
DBG1: Invocation of FM_PCD_KgSchemeSet from fmc_exec_scheme for fm0/port/MAC/9/dist/dist_dummy
DBG1: Invocation of FM_PCD_KgSchemeSet for fm0/port/MAC/9/dist/dist_dummy succeeded
DBG1: Invocation of FM_PORT_Disable from fmc_exec_port_end for fm0/port/MAC/9
DBG1: Invocation of FM_PORT_Disable for fm0/port/MAC/9 succeeded
DBG1: Invocation of FM_PORT_SetPCD from fmc_exec_port_end for fm0/port/MAC/9
DBG1: Invocation of FM_PORT_SetPCD for fm0/port/MAC/9 succeeded
DBG1: Invocation of FM_PORT_Enable from fmc_exec_port_end for fm0/port/MAC/9
DBG1: Invocation of FM_PORT_Enable for fm0/port/MAC/9 succeeded
DBG1: Invocation of FM_PORT_Open from fmc_exec_port_start for fm0/port/MAC/10
DBG1: Invocation of FM_PORT_Open for fm0/port/MAC/10 succeeded
DBG1: Invocation of FM_PCD_NetEnvCharacteristicsSet from fmc_exec_port_start for fm0/port/MAC/10
DBG1: Invocation of FM_PCD_NetEnvCharacteristicsSet for fm0/port/MAC/10 succeeded
DBG1: Invocation of FM_PCD_KgSchemeSet from fmc_exec_scheme for fm0/port/MAC/10/dist/dist_dummy
DBG1: Invocation of FM_PCD_KgSchemeSet for fm0/port/MAC/10/dist/dist_dummy succeeded
DBG1: Invocation of FM_PORT_Disable from fmc_exec_port_end for fm0/port/MAC/10
DBG1: Invocation of FM_PORT_Disable for fm0/port/MAC/10 succeeded
DBG1: Invocation of FM_PORT_SetPCD from fmc_exec_port_end for fm0/port/MAC/10
DBG1: Invocation of FM_PORT_SetPCD for fm0/port/MAC/10 succeeded
DBG1: Invocation of FM_PORT_Enable from fmc_exec_port_end for fm0/port/MAC/10
DBG1: Invocation of FM_PORT_Enable for fm0/port/MAC/10 succeeded
```
### vpp startup blocker
`vpp -c /etc/vpp/startup.conf`
* [ ] Main heap alloction error

View File

@@ -1,24 +1,25 @@
We have two type of flashing
1. Flash the image directly into USB. And boot using it.
2. Copy the files into the USB drive. Then boot into initramfs. Then flash the image into the eMMC.
1. (Production) Copy the files into the USB drive. Then boot into initramfs. Then flash the image into the eMMC.
2. Flash the image directly into USB. And boot using it.
## Flashing into eMMC
1. `make release`
2. Format the USB in vfat
3. Copy out/[RELEASE].img.gz and out/board.itb to your usb drive's root
4. Run
4. Run the following commands one step at a time
```
usb start
usb tree
fatls usb 0:1 # For fat
ext4ls usb 0:1 # For ext4 if you insist
fatload usb 0 0x80000000 board.itb
extload usb 0 0x80000000 board.itb
setenv bootargs "console=ttyS0,115200 earlycon=uart8250,mmio,0x21c0500 root=/dev/ram0 rootwait rw"
bootm 0x80000000
```
5. Inside initramfs, run
5. Once booted into initramfs, run
```
flash-emmc.sh
```
@@ -30,10 +31,13 @@ setenv bootargs "${bootargs_console} root=emmc:2 bootpart=A rw rootwait delayacc
ext4load mmc 0:2 ${kernel_addr_r} /boot/kernel.itb && bootm ${kernel_addr_r};
```
7. tail /var/log/monok8s/bootstrap.log
7. You'll soon be booted into the console. After that, you can tail /var/log/monok8s/bootstrap.log
to see the bootstrapping status
## Flashing into USB
## Flashing into USB drive
This will make your USB drive be the primary booting device.
On MacOS
1. ./macos/flashusb.sh
@@ -46,4 +50,3 @@ setenv kernel_addr_r 0xa0000000;
setenv bootargs "${bootargs_console} root=usb:2 bootpart=A rw rootwait delayacct rootfstype=ext4";
ext4load usb 0:2 ${kernel_addr_r} /boot/kernel.itb && bootm ${kernel_addr_r};
```