原创 內核打印不分行

static void hex_dump_buffer(const char *s, int linenum, char *buf, int len) { int i = 0; char *tmpbu

原创 docker 常用的幾個命令

docker version docker info 因爲docker 需要sudo權限,爲了避免每次輸入sudo 可以把用戶加入docker用戶組 sudo usermod -aG docker $USER 啓動docker服務

原创 使用debugfs

在進行Linux驅動開發時經常見到使用pr_debug和dev_dbg打印驅動的log,如果在內核配置時選擇了CONFIG_DYNAMIC_DEBUG宏,那麼就可以利用類似下面的命令打開對應文件的log: echo -n “fil

原创 解決編譯時內存不足c++: internal compiler error: Killed (program cc1plus)

解決方案 創建分區文件, 大小 2G sudo dd if=/dev/zero of=/swapfile bs=1M count=2048 生成 swap 文件系統 sudo mkswap /swapfile 激活 sw

原创 LT_INIT: command not found

./configure: line 3843: LT_INIT: command not found造成操作系統不支持的錯誤 解決辦法:安裝libtool autoconf automake,然後在目錄上分別執行以下語句:aclo

原创 shell 命令使用記錄

find / -type f -name "test.c" -exec cat {} \; 解析: {} 代表find找到的內容,會被放置到{}位置 exec一直執行到;爲止,這中間的就是find指令內的額外動作,在本例中cat

原创 Makefile Debug 調試輸出變量值

$(warning $(XXX)) 打印變量的值 1,使用info/warning/error增加調試信息 方法1: $(info, “here add the debug info”) 但是此不能打印出.mk的行號 方法2

原创 內核風格代碼管理clang-format checkpatch.pl

一、代碼提交格式檢查: 1、tar zxvfp tool.tar.gz 2、把解壓的tool目錄放到你的工程目錄根目錄 3、把pre-commit這個文件cpcopy到repo的.git/hooks/目錄下. 4、執行git co

原创 sed 命令使用記錄

sed -i 's/$/& /g' test.txt 行尾添加空格 sed -i 's/ \+/;/2' test.txt 查找行中的n個連續空格,並將第二組替換成; sed -i 's/[ ]*$//g' test.txt

原创 tmux 使用記錄

tmux的安裝: sudo apt-get install tmux tmux啓動: $ tmux tmux退出: Ctrl+d 或者 exit tmux常用快捷鍵記錄: Ctrl+b 是快捷命令的前綴建; Ctrl+b ?是幫

原创 ssh連接慢解決

connect to ssh too slow never fullfill the speed, faster, stronger. show the verbose use -vvv option to show which

原创 armv8 start.S 函數簡析

/* SPDX-License-Identifier: GPL-2.0+ */ /* * (C) Copyright 2013 * David Feng <[email protected]> */ #inclu

原创 vscode 使用插件記錄

git 插件 GItLens C/C++插件 C/C++ 文本編輯插件:EDitorConfig(好像也可以不用) 代碼註釋插件:koroFileHeader

原创 NAS 項目記錄

開源 NAS 操作系統不完全彙總 市面上能見到的 NAS 操作系統很多,有如 FreeNAS 這樣意氣風發的開源免費版,也有完全商業的閉源版本,更有如黑羣暉之類的破解版本。NAS 系統的迭代是一個大浪淘沙的過程,活下來的系統在功能

原创 u-boot.lds解析

/* SPDX-License-Identifier: GPL-2.0+ */ /* * (C) Copyright 2013 * David Feng <[email protected]> * * (C) C