Time of Update: 2018-12-04
使用核心原始碼中的定義 PHYS_OFFSET:系統記憶體的物理起始地址,板級相關,在include/asm-arm/arch-xxx/memory.h中 PAGE_OFFSET:系統記憶體的虛擬起始地址,體繫結構相關,為0xC0000000,在include/asm-arm/memory.h中 MEM_SIZE:系統記憶體大小,如果板級(include/asm-arm/arch-xxx/xxx.h)沒有指定,則使用體繫結構的預設值16M(arch/arm/kernel/setup.c) 在沒有
Time of Update: 2018-12-04
linux中的newgrp命令主要是將當前登入使用者臨時加入到已有的組中,用法如下:[yan@localhost etc]$ newgrp grptest上面命令的含義是將使用者yan加入到現有的組grptest中但是在輸入命令後需要輸入密碼,這個密碼是grptest組的密碼,所以需要設定grptest的密碼:gpasswd grptest設定後,執行newgrp
Time of Update: 2018-12-04
Arm linux 核心啟動流程還是從編譯連結產生vmlinux的過程來看吧,由一大堆.o檔案連結而成,第一個就是 kernel/arch/arm/kernel/head-armv.o ,而且我們還看到了 lds連結檔案kernel/arch/arm/vmlinux.lds,先把它分析一下 ENTRY(stext) //進入點是stext 應該就在head-armv.s中了 SECTIONS { . = 0xC0008000; //基址,是核心開始的虛擬位址 .init : { /*
Time of Update: 2018-12-04
1: 首先熟悉linux平台 會使用vi/vim工具 熟練使用linux命令 瞭解meakefile檔案的編寫 shell檔案的編寫 相關文文檔在“/linux資料/linux基礎工具”目錄下 推薦閱讀該目錄下的《GNU MAKE》或者《跟我一起學makefile》 《vi.doc》《LINUX與UNIXSHELL編程指南》《linux常見指令全集》 2: linux bootloader學習
Time of Update: 2018-12-04
目前項目需要,需要對時間進行基準,基準的精度在微秒。下午老劉給我說不能用do_gettimeofday因為他的精度雖然可以到微秒但是是依靠jiffies的精度(在linux 2.6.27核心中這個jiffies的單位是1毫秒)來更新這個時間值的,晚上回來就試試。結果呵呵,原來是可以精確到微秒並且不是靠jiffies的精度來更新的。代碼如下了。#include <linux/kernel.h>#include <linux/module.h>#include
Time of Update: 2018-12-04
最近有這樣一個需求,刪掉某目錄下的一些檔案夾。其實就是名為“CVS”的檔案夾,用過CVS的人都知道,CVS會在目錄的每一級建立一個名為CVS的檔案夾,裡面放著CVS相關資訊,我需要將某目錄下所有的名為“CVS”的檔案夾刪掉。在LINUX下其實很簡單,使用find命令:find . -name CVS -exec rm -rf {} \;看似沒問題,但卻報錯了:find: `./CVS': No such file or
Time of Update: 2018-12-04
在windows下面的介紹好像比較多,但是要注意,linux下面需要修改catalina.sh,而不是那個catalina.bat 增加以下這段就可以遠端連線伺服器的5888連接埠了CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5888" 添加了debug連接埠以後好像會出現./shutdown.sh
Time of Update: 2018-12-04
配置nginx.conf檔案:1.upstream test.fyh.com{ least_conn; server 192.168.0.1:8080 max_fails=3 fail_timeout=10s; }2.upstream front.my.test.com {//tomcat01 least_conn; server 192.168.0.1:8080 max_fails=3
Time of Update: 2018-12-04
rz 上傳本地檔案到linux伺服器.tar zxvf 解壓.tar.gz檔案.ls 顯示所有檔案.cp 拷貝檔案和目錄.su 切換使用者.scp 遠程拷貝. scp -r /data/bjhadoop/nmdata/ bjhadoop@yunmall010:/data/bjhadoop/ssh 服務串連. rm 移除檔案. mv 移動檔案,檔案改名.cat,tail 查看檔案內容.find . -name '**' -ls 尋找檔案命令.vi 檔案編輯.不存在就建立.:set
Time of Update: 2018-12-04
使用者環境#locale 顯示系統語言環境 語言環境參數儲存在/etc/sysconfig/i18n檔案裡LANG最主要#locale –a 查看系統對語言的支援情況#LANG=zh_CN.GB2312 使系統支援以中文形式顯示kudzu 用來檢測硬體services kudzu start
Time of Update: 2018-12-05
1.ioctl(fd, VIDIOC_QUERYBUF, &dev.buffer)出錯 修改核心檔案v4l2_ioctl.c(drivers/media/video/v4l2-ioctl.c) 修改:CMDINSIZE(QUERYBUF, buffer, type); 為:CMDINSIZE(QUERYBUF, buffer, memory);2.對於dev.buffer返回長度為0的問題: 在上層應用中加入: format.fmt.pix.priv =
Time of Update: 2018-12-05
動態連結器(ld.so或ld-linux.so.x),按照下面的順序來搜尋需要的動態庫1. ELF可執行檔中動態段中DT_RPATH所指定的路徑,編譯代碼時,可以對gcc加入連結參數"-Wl,rpath"指定動態庫搜尋路徑2. 環境變數 LD_LIBRARY_PATH 指定的路徑3. /etc/ld.so.cache 中所緩衝的動態路徑,可以通過修改/etc/ld.so.conf指定,修改後使用ldconfig生效4. 預設的動態庫搜尋路徑 /lib5. 預設的
Time of Update: 2018-12-05
s3c6410 linux gadget hid驅動調了我一個多星期了今天終於搞定了,來跟大家分享下.上一個星期糾結了一個星期的寄存器,試了N次,不管把3.1和3.7的hid驅動移植過來也是一樣的情況,所以這星期直接從問題本身著手一個個找,一個個對比,終於解決了。我用的核心是linux2.6.38的,最開始的時候開發板是可以當隨身碟用的,而使用hid功能的時候出現如下問題:g_hid gadget: hid_setup crtl_request : bRequestType:0x21
Time of Update: 2018-12-05
一直以來,眾多的開發工具都是基於windows的,nand flash的燒寫工具也一樣。 我手頭有數塊s3c2410/s3c2440/at91sam9263/pxa310等開發板,除了在windows下,好像也找不到合適的燒寫工具。對於s3c2410僅僅只有jflash,通過並口和wiggler來燒寫。大多數筆記本根本沒有並口,連台式機有並口的都在慢慢消失,幸好我的筆記本有。但是公司的筆記本全是無並口的linux。 ARM的模擬器種類很多,比較常見的jlink,
Time of Update: 2018-12-05
Linux 核心/sys 檔案系統之uevent在 sysfs 下的很多 kobject 下都有 uevent 屬性,它主要用於核心與 udev (自動裝置發現程式)之間的一個通訊介面;從 udev 本身與核心的通訊介面 netlink 協議通訊端來說,它並不需要知道裝置的 uevent 屬性檔案,但多了 uevent 這樣一個介面,可用於 udevmonitor 通過核心向 udevd (udev 背景程式)發送訊息,也可用於檢查裝置本身所支援的 netlink
Time of Update: 2018-12-05
1、下載jdk,可以直接在RHEL上下載,也可以在本機下載,然後通過psftp傳上去(jdk-6u20-linux-i586-rpm.bin),當然FileZilla這樣的FTP工具更好用 2、用putty串連linux 3、執行jdk-6u20-linux-i586-rpm.bin 沒找到 4、執行./jdk-6u20-linux-i586-rpm.bin 找到,但沒有許可權 5、chmod 775 jdk-6u20-linux-i586-rpm.bin 改許可權(chmod +x jdk-6
Time of Update: 2018-12-05
1、安裝gccsudo apt-get updatesudo apt-get install build-essential 2、安裝sun-java6-jdksudo vi /etc/apt/sources.list 加上deb http://archive.canonical.com/ubuntu lucid partner 儲存退出 可以把以前下載的直接的直接複製到/var/cache/apt/archives,就不用重新到網上下載了sudo apt-get install
Time of Update: 2018-12-05
Linux下壓縮現在常用的命令有zip/unzip, tar但也有一些限制,如:1、2G檔案大小限制 2、中文亂碼問題還好7zip能很好地解決這個問題。一、安裝Ubuntu 12:sudo apt-get install p7zipCentOS 6:http://dag.wieers.com/rpm/packages/p7zip/找到合適平台的rpm wget下來rpm -ivh x.rpm二、使用也很簡單p7zip --helpUsage: /usr/bin/p7zip [-d] [-h|--
Time of Update: 2018-12-05
1、修改使用者進程可開啟檔案數限制 在Linux平台上,無論編寫用戶端程式還是服務端程式,在進行高並發TCP串連處理時,最高的並發數量都要受到系統對使用者單一進程同時可開啟檔案數量 的限制(這是因為系統為每個TCP串連都要建立一個socket控制代碼,每個socket控制代碼同時也是一個檔案控制代碼)。可使用ulimit命令查看系統允許 目前使用者進程開啟的檔案數限制: [speng@as4 ~]$ ulimit -n 1024 這表示目前使用者的每個進程最多允許同時開啟1024
Time of Update: 2018-12-05
1.使用SQL*PLUS停止資料庫[oracle@OracleTest oracle]$ sqlplus logSQL> connect / as sysdbaSQL> shutdown [immediate]SQL> exit2.停止Listener[oracle@OracleTest oracle]$ lsnrctl stop3.停止HTTP服務[root@OracleTest /root]# service httpd