Time of Update: 2018-07-30
6467T Vpif的V4L2 linux驅動程式架構 在linux中,使用V4L2架構來管理視頻採集裝置。V4L2架構主要包括兩層:V4L2Device和V4L2 Subdevice,其中V4L2 Device是虛擬裝置,用以管理V4L2 Subdevice,而Subdevice才是真正的物理裝置,例如各種視頻AD晶片和sensor等。
Time of Update: 2018-07-30
0.前言 本文總結如何使用echo命令向檔案中寫入內容,例如使用echo指令覆蓋檔案內容,使用echo指令向檔案追加內容,使用echo指令往檔案中追加定位字元。 echo向檔案中輸出內容的基本方法是使用IO重新導向指令——“>”,預設情況下echo輸出到標準輸出中,使用>指令可重新導向輸出到檔案中。
Time of Update: 2018-07-30
Linux V4L2驅動架構解析與開發導引
Time of Update: 2018-07-30
因為項目需要,需要在Linux userspace 讀寫訪問實際物理地址。 一)使用者空間可以直接通過開啟 /dev/mem 裝置檔案,然後mmap() 影射進行訪問 static int read_type(){void * map_base;FILE *f;int type,fd;#defineREAD_REG32(reg)( *((volatile int *) (reg)) )#defineALLOC_SIZE(1024)fd = open(&
Time of Update: 2018-07-30
pc : [<bf0000b8] 1.定位代碼崩潰在核心中還是xxx.ko cat /proc/kallsyms >1.txt c0034818 T __kmalloc ... c00082a8 t quiet_kernel /*最開始的是虛擬位址*/ ... bf000000 t $a [cdd] .. 由此可看代碼崩潰在xxx.ko 2.定位崩潰在xxx.ko中的哪個函數
Time of Update: 2018-07-30
1.查看檔案內容 cat [filename] //一次性把檔案的全部內容輸出到終端 more [filename] //通過敲斷行符號方式逐行查看檔案內容,q鍵結束查看 less [filename] //”上下左右”鍵方式查看檔案各部分內容(支援回看),q鍵結束查看 head -n [filename] //查看檔案的前n行內容 tail -n [filename] //查看檔案的最後n行內容 wc [filename] //查看檔案內容行數 2.建立檔案
Time of Update: 2018-07-30
一、查看是否安裝NFS(portmap是用於RPC傳輸的) # rpm -q nfs-utils portmap nfs-utils-1.0.9-47.el5_5 portmap-4.0-65.2.2.1 二、配置 1。設定檔 # vi /etc/exports 配置執行個體: 1)/nfs/public 192.168.16.0/24(rw,async) *(ro) 共用目錄 客戶機1
Time of Update: 2018-07-30
檔案描述符:一個非負整數,是核心開啟檔案表的索引。 每一個進程有自己的檔案描述符表,核心會維護一個開啟檔案表,不同的描述符指向核心的檔案開啟表,並指向I-node表上的檔案實際位置。 linux系統的檔案IO函數(具體使用詳情可以在linux shell中 man -a + 函數名查詢或者在man-online上查詢): fd=open(pathname,flags,mode);
Time of Update: 2018-07-30
動態將核心空間的物理地址和大小傳給使用者空間。本文也示範了核心空間和使用者空間進行通訊可以使用的兩種常用方法:proc檔案系統和mmap共用記憶體。整個核心模組,在模組插入時建立proc檔案,分配記憶體。卸載模組的時候將使用者空間寫入的內容列印出來。以下是核心模組的代碼和使用者空間的測試代碼。 /*This program is used to allocate memory in kerneland pass the physical address to
Time of Update: 2018-07-30
nohup 的使用是十分方便的,只需在要處理的命令前加上 nohup 即可,標準輸出和標準錯誤預設會被重新導向到 nohup.out 檔案中。一般我們可在結尾加上"&"來將命令同時放入後台運行,也可用">filename 2>&1"來更改預設的重新導向檔案名稱。 nohup 樣本 [root@pvcent107 ~]# nohup
Time of Update: 2018-07-30
下面為linux部分習題。這可能對大神來說,非常簡單的,還望不要吐槽嘞。 下面的習題,可能有錯, 還希望大家能多多指教哈~~ 一、選擇題 1、下列那個Linux的發行版本是由Red Hat Linux的原始碼編譯而來(C) A、ubuntu B、紅旗Linux C、CentOS D、Fedora 2、下列命令列操作從普通使用者切換至超級使用者,正確的是(C)
Time of Update: 2018-07-30
一、直接建立 1、建立一個使用者 useradd test2 2、設定使用者密碼 passwd test2 3、修改登入後檔案目錄和只允許訪問某一個目錄 修改/etc/ssh/sshd_config 檔案 #Subsystem sftp /usr/libexec/openssh/sftp-server #這行指定使用sftp服務使用系統內建的internal-sftpSubsystem sftp
Time of Update: 2018-07-30
一、什麼是檔案鎖定 對於鎖這個字,大家一定不會陌生,因為我們生活中就存在著大量的鎖,它們各個方面發揮著它的作用,現在世界中的鎖的功能都可歸結為一句話,就是阻止某些人做某些事,例如,門鎖就是阻止除了屋主之外的人進入這個房子,你進入不到這個房子,也就不能使用房子裡面的東西。
Time of Update: 2018-07-30
由使用者空間主動發起的資訊互動 編寫自己的系統調用 目前linux大致提供了兩百多個標準的系統調用,並且允許我們添加自己的系統調用來實現和核心的資訊互動。 編寫驅動程式 read, write, ioctl 使用/proc等檔案系統 使用mmap 由核心空間主動發起的資訊互動 從核心空間調用使用者程式 核心中啟動使用者程式通過execve這個系統調用原型,此時的系統調用發生在核心空間,而一般的系統調用在使用者空間進行。
Time of Update: 2018-07-30
Make sure you have updated version $ sudo apt-get update Search for kernel version (optional) $ apt-cache search linux-headers-$(uname -r) Install linux-header package $ sudo apt-get install linux-headers-$(uname -r) $ sudo apt-get
Time of Update: 2018-07-30
在Linux系統中,核心為每一個新建立的檔案分配一個Inode(索引結點),每個檔案都有一個惟一的inode號。 檔案屬性儲存在索引結點裡,在訪問檔案時,索引結點被複製到記憶體中,從而實現檔案的快速存取。 連結是一種在共用檔案和訪問它的使用者的若干目錄項之間建立聯絡的一種方法。 Linux中包括兩種連結: 永久連結(Hard Link) 軟連結(Soft Link) 軟連結又稱為符號連結(Symbolic link)。符號串連相當於Windows下的捷徑。
Time of Update: 2018-07-30
譯者註: 最近在看檔案系統相關的,每當讀到inode相關的東西時,書上或者部落格上都會涉及永久連結/軟連結相關的內容,於是今天專門針對永久連結翻譯了幾篇英文,弄懂它。 一、永久連結 本節翻譯自:http://c2.com/cgi/wiki?HardLink 在傳統的UNIX檔案系統中,一個目錄就是一個包含關聯列表的檔案。目錄檔案中的條目是字串形式的檔案名稱及其對應的唯一檔案標識符--
Time of Update: 2018-07-30
問題提出 公司的開發測試伺服器部署在阿里雲, 阿里雲給出的執行個體一般都是只有一個分區, 20G到40G的樣子, 然後再買儲存掛載到其他目錄. 而 home 目錄是在這個 20G 的跟目錄分割下的. 隨著開發人員增多, 根目錄分區很快被大家填滿了. 因為是多地研發, 因此需要一個無感知的給大家的 home 搬家的方案. 基本原理 接到這個任務, 首先想到的就是 bind mount 方式: mount --bind /some/where /else/where
Time of Update: 2018-07-30
先說下快速分配記憶體頁的參數: gfp_mask 進入快速分配時,加上了__GFP_HARDWALL 這表示再分配時要加大分配力度; nodemask 表示節點的mask,就是是否能在該節點上分配記憶體,這是個bit位元組; order 是分配的階; zonelist 是當perferred_zone上沒有合適的頁可以分配時,就要按zonelist中的順序掃描該zonelist中備用zone列表,一個個的試用;
Time of Update: 2018-07-30
3-1:使用LInx專有的reboot系統調用重啟系統時,必須將第二個參數magic2定義為一組magic號(例如:LINNUX_REBOOT_MAGIC2)。這些號有何意義。(將magic號轉換為十六進位數,對解題會有所協助。) 參考:Linux Easter Egg - Hidden Dates in the Linux Kernel 具體如下: In order to prevent the reboot() system call being called