Otis Chung

@otischung

Joined on Nov 16, 2020

  • Note of kvm-host The note is available in HackMD. Resolved Issues Misconfiguration of Setting Base Address Register (BAR) This is the original method in kvm-host (src/pci.c, commit: 93f1fee): void pci_set_bar(struct pci_dev *dev, uint8_t bar, uint32_t bar_size,
     Like  Bookmark
  • This is the note for the initialization and configuration process of the KVM-host. Overall Architecture In src/main.c: vm_init(&vm): Initialize the virtual machine. vm_load_image(&vm, kernel_file): Load the kernel image file. vm_load_initrd(&vm, initrd_file): Load the initial RAM filesystem. vm_load_diskimg(&vm, diskimg_file):diskimg_init(&v->diskimg, diskimg_file): Initialize the disk image. virtio_blk_init_pci(&v->virtio_blk_dev, &v->diskimg, &v->pci, &v->io_bus, &v->mmio_bus): Initialize the virtio block.
     Like  Bookmark
  • contributed by < otischung > 開發環境 ❯ uname -a Linux scream-Ubuntu-24 6.11.0-17-generic #17~24.04.2-Ubuntu SMP PREEMPT_DYNAMIC Mon Jan 20 22:48:29 UTC 2 x86_64 x86_64 x86_64 GNU/Linux ❯ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
     Like  Bookmark
  • === 2025q1 Homework1 (lab0) 2025q1 Homework2 (quiz1+2) 2025q1 Homework3 (kxo) 2025q1 Homework5 (assessment)
     Like  Bookmark
  • KVM Host Development Record KVM Host Initialization and Configuration Process
     Like  Bookmark
  • 使用 ROS2 和 Unity 數位孿生環境的多機器人協同控制 Development of coordination control for multiple FPV robots using ROS2 and Unity digital twin environment 學生 : 曾裕翔 本論文實作一套建構於 ROS 2 架構下的多機器人協作與數位孿生系統,目標是實現多台自主移動機器人間的協同作業與模擬驗證。系統整合四大模組:中央控制、車體導航控制、機械手臂控制與視覺辨識,並透過 ROS 2 平台進行即時資料傳輸與任務協調。 在開發過程中,本論文因只使用機械手臂上的單一深度相機做物件定位,也就是使用第一人稱視角(First-Person View, FPV)操控機器人。相較於傳統的第三人稱視角(third person View)系統,FPV 操作在導航與物體夾取任務上具更高複雜度。 本論文開發基於路徑導航與深度相機資訊的自動化流程如下:首先,機器人透過導航模組移動至目標物附近;當深度相機偵測到物體進入視野,系統便將控制權由導航模組移交給視覺模組。此階段,透過物件辨識技術判斷物體是否位於畫面中心,並依據物體與畫面中心的像素距離,持續微調機器人位置,以穩定接近目標。 當機器人進入指定距離內,開始調整機械手臂,使手臂上的深度相機對準物體中心,並執行向前伸出的夾取動作。夾取成功後,會將自身的座標資訊以 ROS topic 形式傳送給其他機器人。 第二台機器人收到座標後,依相同流程搜尋並微調定位目標,夾取第一台機器人手中的物體,達成多機器人間的協作傳遞任務。
     Like  Bookmark
  • contributed by < otischung > 因為自動飲料機而延畢的那一年 心得 這堂課給我的最大提醒是:要多想、多思考真實世界的問題。 我們經常會以消費者的心態去看待一項事物,總是覺得我們「花錢了」,就應該得到我們想要的東西,總覺得這些事物好像「本該如此」,但這所謂的「本該如此」,是前人花費多少心力完成的呢?為什麼手機可以上網?為什麼原子筆可以一直寫,寫到沒水為止?姑且先不提 10 年前的多核手機就已經有多複雜,就是請我自己開發一隻價值 10 元的原子筆,我都很難做到。 課程在 2025.05.06 問答簡記 中提到 long-tailed distribution 與 subexponential distribution,我真的沒有印象之前大學學機率統計的時候有學過,所以我特別搜尋了大學時期的教材 Fundamentals of Probability with Stochastic Processes,這裡只有在 Ch6.3 的習題中提到 Pareto random variable,並未正式介紹。 但是,難道大學沒有學過,就真的不用學嗎?
     Like  Bookmark
  • === 2025.04.17 2025.05.09
     Like  Bookmark
  • 作業系統相關 什麼是作業系統 執行在 kernel mode 的程式與執行在 user mode 的程式是一樣的嗎?Demystifying the Linux CPU scheduler Chapter 1 這兩者不同的點只有<s>權限</s> (應為特權) 高低不同嗎? Permission (file system) (被動選擇)在有選擇的情況下,有些人可以選擇多、有些人少,有些人的選擇會影響其他人的選擇 例如:你選擇做總經理,但是你是男生,不能進女廁,還有會計師查帳的時候,第三方在調查的時候,總經理不能進去,以免有嫌疑 打掃阿姨可以去男女廁、總經理辦公室
     Like  Bookmark
  • NV Grace Arm CPU / KVM (kernel-based virtual machine) Cache Coherence 什麼是 MESI / MOESI ?cache coherence protocol 讓多核處理器的 cache 一致 MESI protocol: Modified Exclusive
     Like  Bookmark
  • contributed by < otischung > Environment ❯ uname -a Linux scream-Ubuntu-24 6.11.0-24-generic #21~24.04.1-Ubuntu SMP PREEMPT_DYNAMIC Mon Feb 24 16:52:15 UTC 2 x86_64 x86_64 x86_64 GNU/Linux ❯ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
     Like  Bookmark
  • contributed by < otischung > Quiz 1 測驗 1-1 補完之程式碼如下所示 typedef struct list_item { int value; struct list_item *next; } list_item_t;
     Like  Bookmark
  • This note shows you how to enable and use the WOL. BIOS Preparation Take the ASUS Motherboard for example, go to "Advanced" -> "APM comfiguration", enable "Power On By PCI-E". Ubuntu Configuration Get the MAC address of your Ethernet network interface controller.​​​ip a https://ivonblog.com/posts/linux-enable-wake-on-lan/
     Like 1 Bookmark
  • contributed by < otischung >
     Like  Bookmark
  • This is my personal note for the Linux system configuration for Ubuntu. Change Root from Live USB First of all, mount your root partition and the EFI partition. sudo mount /dev/<root_part> /mnt sudo mount /dev/<EFI_part> /mnt/boot/efi Then, you have to mount all devices mentioned by the stackexchange. Here is the following command: for i in /dev /dev/pts /proc /sys /sys/firmware/efi/efivars /run; do
     Like  Bookmark
  • Plugin Manager - vim-plug https://github.com/junegunn/vim-plug Type the following command: curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim For Windows, type the following command: iwr -useb https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim | ni $HOME/vimfiles/autoload/plug.vim -Force Add/Create a vim-plug section to your ~/.vimrc.
     Like  Bookmark
  • First of all, welcome to be an Archer :) Then, let's start. Installation Medium Download the .iso file from the following link: https://archlinux.org/download/ Prepare an Installation Medium
     Like 1 Bookmark
  • Ref: Arch Linux ARM, theramiyer Make Bootable SD card Connect your SD card into your computer. You have to login as root to do the following step, not via sudo. sudo su Partition Start cfdisk to partition the SD card.
     Like  Bookmark
  • Change attribute to let a file or directory cannot be modified: it cannot be deleted or renamed, no link can be created to this file and no data can be written to the file. sudo chattr +i <file>
     Like  Bookmark
  • 後端理論 (以 Django 為例) MVC architecture MVC 是由三個字組成,分別為 Model View Controller 在後端裡面
     Like  Bookmark