Category Archives: Hardware

Ubuntu 18.04 ARM64 DPDK in VM (QEMU)

DPDK is a very popular infrastructure in high speed packet process domain, some applications will used the same architecture to process packet, like EPC.

For Ubuntu 18.04, it used dpdk 17.11, it not good for some other application like dpdk pktgen, but enough for testpmd and l3fwd test. here is some personal note for setup whole environment.

DPDK in QEMU archeticture
Read more »

Gentoo ARM64 Docker Image

There is a long time no article about gentoo on my blog.

Today, I have a whim to do a gentoo ARM64 docker image, so, we have this article.

Please understand that ARM64 Gentoo is experimental, and might be different after a while.

Read more »

QEMU Run x86_64 on ARM64 Server command

This is a work note for run x86_64 on ARM64 server .
Because they are different archeticture, so, run x86_64 on ARM server would be very slow.

and some functions might be different when run on different platform

Read more »

Kdump in ubuntu 18.04 ARM64


kdump is very good tool to debug complex system like cloud data center, it can easy to save kernel status when crash.
Running kdump in ARM64 just like running in x86, but I met a strange problem on ARM64 platform.

The kernel version is HWE kernel, current version is 4.18.0-25, mihbt be encounter those problems

Read more »

ARM64 Kdump cannot allocate crashkernel

In ARM64 server and installed memory around 128G, ubuntu default /etc/default/grub.d/kdump-tools.cfg default configuration might cause kdump allocate memory failed. error message as below

[ 0.000000] cannot allocate crashkernel (size:0x80000000)
[ 0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.18.0-25-generic root=UUID=ee8be10d-d649-425d-a807-640751836186 ro console=tty0 crashkernel=2G-4G:320M,4G-32G:512M,32G-64G:1024M,64G-128G:2048M,128G-:4096M

Read more »

embedded system btrfs

這一篇是 btrfs 用在 embedded system 的開發測試上會用到的指令.
Read more »

ARM64 Ububtu GRUB Install

碰到一台 ARM64 機器沒有裝 GRUB . ARM64 是跑 UEFI

首先先安裝 grub

$ sudo apt install grub-efi-arm64 grub-efi-arm64-bin grub2-common

檢查 uefi partition 有沒有 mount 在 /boot/efi 下, 如果沒有可以 mount 上去, ex:

$ sudo mount /dev/sda1 /boot/efi

執行 grub-install 後就可以了

$ sudo grub-install /dev/sda

ref.
GRUB on ARM
GRUB (正體中文)

aarch64/ARM64 virt-install 啟動方法

雖然 ubuntu 有好用的 uvttool-libvirt 可以管理 cloud image , 但是似乎在 aarch64/ARM64 的平台上會有問題,
參數傳進去的時候似乎都會叫起來 VGA (cirrus), 但是 QEMU aarch64 上不支援 VGA (至少我用的不支援)
替代方案就是用 Virt Manager
Read more »

Cavium ThunderX Install Ubuntu CD

choice 3 shell

GPIO(0)-NODE(0): Vector:100 address :801000000050 irq:33
GPIO(0)-NODE(0): Vector:101 address :801000000058 irq:33
Using TWSI func = 0x48
UEFI Interactive Shell v2.1
choice 3 shell

ThunderX Cavium UEFI install ubuntu CD

enter shell mode and put usb cd-rom .

GPIO(0)-NODE(0): Vector:100 address :801000000050 irq:33
GPIO(0)-NODE(0): Vector:101 address :801000000058 irq:33
Using TWSI func = 0x48
UEFI Interactive Shell v2.1
EDK II
UEFI v2.40 (Cavium Thunder cn88xx EFI ThunderX-Firmware-Release-1.22.11-0-g06c3f37 Sep)
Mapping table
FS0: Alias(s):CD36a0b0a:;BLK1:
PciRoot(0x0)/Pci(0x11,0x0)/USB(0x0,0x0)/USB(0x1,0x0)/CDROM(0x0)
BLK2: Alias(s):      
VenHw(25E45362-4074-46DC-88A0-79D6A23F3C9D)
BLK0: Alias(s):                     
PciRoot(0x0)/Pci(0x11,0x0)/USB(0x0,0x0)/USB(0x1,0x0)
 
Press ESC in 3 seconds to skip startup.nsh or any other key to continue.
Shell> fs0:                                   
FS0:\> ls

run
/boot/grub/arm64-efi

Thinkpad X201i 換風扇

同時間還有處理另一台 Thinkpad x201i , 這一台網路上的文章就比較好了.
不過做都做了, 就再寫一篇吧
Read more »