日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux驱动学习笔记(2.4) scull 脚本scull_init

發(fā)布時間:2025/6/15 linux 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux驱动学习笔记(2.4) scull 脚本scull_init 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

向自己道歉,沒能抽出更多的時間,進度如此的慢。

現在想認真學習下scull模塊的這個初始化腳本 scull_init.sh

?

#!/bin/bash # Sample init script for the a driver module <rubini@linux.it>DEVICE="scull" SECTION="misc"# The list of filenames and minor numbers: $PREFIX is prefixed to all names PREFIX="scull" FILES=" 0 0 1 1 2 2 3 3 priv 16 pipe0 32 pipe1 33 pipe2 34 pipe3 35single 48 uid 64 wuid 80"INSMOD=/sbin/insmod; # use /sbin/modprobe if you preferfunction device_specific_post_load () {true; # fill at will } function device_specific_pre_unload () {true; # fill at will }# Everything below this line should work unchanged for any char device. # Obviously, however, no options on the command line: either in # /etc/${DEVICE}.conf or /etc/modules.conf (if modprobe is used)# Optional configuration file: format is # owner <ownername> # group <groupname> # mode <modename> # options <insmod options> CFG=/etc/${DEVICE}.conf# kernel version, used to look for modules KERNEL=`uname -r`#FIXME: it looks like there is no misc section. Where should it be? MODDIR="/lib/modules/${KERNEL}/kernel/drivers/${SECTION}" if [ ! -d $MODDIR ]; then MODDIR="/lib/modules/${KERNEL}/${SECTION}"; fi #專有命令[ (左中括號, 特殊字符). 這個命令與test命令等價, 并且出于效率上的考慮, 這是一個內建命令 # -d FILE FILE exists and is a directory# Root or die if [ "$(id -u)" != "0" ] thenecho "You must be root to load or unload kernel modules"exit 1 fi# Read configuration file if [ -r $CFG ]; then # -r FILE FILE exists and read permission is granted #看到這兒了, OWNER=`awk "\\$1==\"owner\" {print \\$2}" $CFG` #讀取文件$CFG 若第一個域為owner,則打印第二個域,并賦值到變量OWNER #但是這條指令在shell里未能正常運行,改為如下:類似的樣子 # awk '$1=="DEVICE" {print $2}' scull.init GROUP=`awk "\\$1==\"group\" {print \\$2}" $CFG`MODE=`awk "\\$1==\"mode\" {print \\$2}" $CFG`# The options string may include extra blanks or only blanksOPTIONS=`sed -n '/^options / s/options //p' $CFG` #打印包含options的行 fi# Create device files function create_files () {cd /devlocal devlist="" local file #如果變量用local來聲明,那么它只能在該變量聲明的代碼塊(block of code)中可見 while true; doif [ $# -lt 2 ]; then break; fi #$# Number of command-line arguments or positional parameters -lt 小于 file="${DEVICE}$1"mknod $file c $MAJOR $2devlist="$devlist $file"shift 2 #The shift command reassigns the positional parameters, in effect shifting them to the left one notch doneif [ -n "$OWNER" ]; then chown $OWNER $devlist; fiif [ -n "$GROUP" ]; then chgrp $GROUP $devlist; fiif [ -n "$MODE" ]; then chmod $MODE $devlist; fi #? -n STRING the length of STRING is nonzero }# Remove device files function remove_files () {cd /devlocal devlist=""local filewhile true; doif [ $# -lt 2 ]; then break; fifile="${DEVICE}$1"devlist="$devlist $file"shift 2donerm -f $devlist }# Load and create files function load_device () {if [ -f $MODDIR/$DEVICE.o ]; then #-f? FILE exists and is a regular file devpath=$MODDIR/$DEVICE.oelse if [ -f ./$DEVICE.o ]; thendevpath=./$DEVICE.oelsedevpath=$DEVICE; # let insmod/modprobe guessfi; fiif [ "$devpath" != "$DEVICE" ]; thenecho -n " (loading file $devpath)"fiif $INSMOD $devpath $OPTIONS; thenMAJOR=`awk "\\$2==\"$DEVICE\" {print \\$1}" /proc/devices`remove_files $FILEScreate_files $FILESdevice_specific_post_loadelseecho " FAILED!"fi }# Unload and remove files function unload_device () {device_specific_pre_unload /sbin/rmmod $DEVICEremove_files $FILES }case "$1" instart)echo -n "Loading $DEVICE"load_deviceecho ".";;stop)echo -n "Unloading $DEVICE"unload_deviceecho ".";;force-reload|restart)echo -n "Reloading $DEVICE"unload_deviceload_deviceecho ".";;*)echo "Usage: $0 {start|stop|restart|force-reload}"exit 1 esacexit 0

轉載于:https://www.cnblogs.com/fly-fish/archive/2011/08/25/2153886.html

總結

以上是生活随笔為你收集整理的linux驱动学习笔记(2.4) scull 脚本scull_init的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 成人激情文学 | 国产一区黄色 | 欧美日韩高清一区二区三区 | 奇米影视盒 | 青青草青娱乐 | 欧美性猛交xx | 2021中文字幕 | 免费看一级黄色大片 | 麻豆91茄子在线观看 | 国产成人无码精品久久久性色 | 一级片99 | 精品一级少妇久久久久久久 | 自拍偷拍日韩 | 国产l精品国产亚洲区久久 午夜青青草 | 中文字幕在线观看网址 | 青草青视频 | 丁香在线视频 | 人人爱人人插 | 一本之道久久 | av在线电影网站 | 国产3页 | 老司机午夜剧场 | 久久久久久激情 | av天堂一区二区 | 国产精品无码在线 | 日韩av中文字幕在线播放 | 九月激情网 | 开心春色激情网 | 91丨九色丨黑人外教 | 国产在线免费av | 国产成年人视频网站 | 国产美女永久无遮挡 | 精品无码一区二区三区电影桃花 | 欧美一区二区最爽乱淫视频免费看 | 国模福利视频 | 欧美精品第一区 | 女futa攻玩遍整个后宫 | 不卡视频国产 | 三上悠亚在线观看一区二区 | 美女诱惑av| 沟厕沟厕近拍高清视频 | 91网站免费在线观看 | 狠狠干91| 少妇aaaa | 欧美日韩国 | 激情片| 色屁屁草草影院ccyycom | 国产在线视频第一页 | 三级免费黄录像 | 白又丰满大屁股bbbbb | 一本大道综合伊人精品热热 | 福利小视频在线 | 免费a在线| 操丝袜少妇 | 五月天婷婷在线视频 | se婷婷| 国产精品久久在线观看 | 手机看片日韩 | 美日韩精品 | 成人深夜电影 | 国产精品36p| 男人的天堂手机在线 | 青草成人免费视频 | 国产精久久一区二区三区 | 免费中文字幕日韩 | 国产91绿帽单男绿奴 | 精彩毛片 | 日朝毛片 | 亚洲色图导航 | 好大好爽好舒服 | 麻豆精品久久久 | 人人曰 | 久久第一页 | 有码视频在线观看 | 小珊的性放荡羞辱日记 | 亚洲欧洲一区二区在线观看 | 韩日一区二区 | 鲁一鲁一鲁一鲁一av | 日韩成年人视频 | 日韩精品一区二区免费视频 | 在线观看黄色免费视频 | 久久精品这里有 | 男男成人高潮片免费网站 | 日本黄网在线观看 | 激情久久久 | 大黑人交xxx极品hd | 秋霞成人午夜鲁丝一区二区三区 | www.精品 | 国产精品无码中文字幕 | 欧美 日韩 国产 中文 | 婷婷精品视频 | 一区二区导航 | 成人免费网站 | 日韩视频一区二区三区在线播放免费观看 | 人妻中文字幕一区 | 欧洲成人精品 | 日韩不卡av | 2021久久| 国产原创一区 |