范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

调试netconsole的使用

  开发环境客户端
  开发板:FireFly-RK3399
  Linux 4.4
  IP:192.168.137.110 服务端
  VMware Workstation Pro16,ubuntu 18.04
  IP:192.168.137.100
  MAC:00:0c:29:c1:9c:ed netconsole简介
  netconsole模块可以让printk信息(输出到控制台的信息)通过网络(UDP)发送到远程主机。
  与串口控制台不同,netconsole不需要串口线和串口。另外,它可以轻易地将多台服务器的内核信息收集到一台服务器上。
  当设备上串口无法使用时,使用netconsole将日志信息保存到远程主机更方便、可行。 netconsole模块不能用于获取crash dump,也不能进行一般的控制台输入输出。
  netconsole模块不能获得网络相关的kernel panic,以及与操作系统启动到网络和netconsole模块启动之间发生的pnic相关的内核信息。  netconsole编译
  netconsole 可以独立编译为模块手动加载,也可以编译进内核自动加载,本例使用的是第一种。 编译为独立模块
  netconsole默认是没有编译进内核,需要手动编译到内核或编译成模块。
  在内核目录下执行make menuconfig 开启以下选项 Device Drivers > Network device support>Network console logging support
  将内核 重新编译后烧写 到开发板上。
  手动编译netconsole模块 make CONFIG_NETCONSOLE=m  -C /home/zhongyi/code/rk3399_linux_release_v2.5.1_20210301/kernel   M=/home/zhongyi/code/rk3399_linux_release_v2.5.1_20210301/kernel/drivers/net  modules CROSS_COMPILE=/home/zhongyi/code/rk3399_linux_release_v2.5.1_20210301/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
  之后,就会在模块目录下生成netconsole.ko的文件,这个文件就是我们所需的。 将netconsole编译进内核
  如自定义内核启用netconsole只需将以下内核选项打开即可(编译为模块). CONFIG_NETCONSOLE=m CONFIG_NETCONSOLE_DYNAMIC=y
  如果将netconsole编译进内核自动加载,则需要在内核启动参数中传递进去,并且还要确保网卡驱动在netconsole驱动前加载。 netconsole加载
  将netconsole.ko通过共享目录发送到开发板,给予权限,这个需要预先知道服务端的IP地址以及MAC地址。
  日志服务器在同一内网, 直接通过ping获取服务器目的MAC: $ ping -c 1 192.168.1.103 > /dev/null $ arp -n 192.168.1.103  Address                  HWtype  HWaddress           Flags Mask            Iface  192.168.1.103            ether   08:00:46:d4:1d:82   C                     eth0 1234
  日志服务器不在同一内网, 获取网关目的MAC: $ netstat -rn | grep ^0.0.0.0  0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 eth0 $ ping -c 1 192.168.1.1 > /dev/null $ arp -n 192.168.1.1  Address                  HWtype  HWaddress           Flags Mask            Iface  192.168.1.1              ether   00:0f:66:5b:2a:3c   C
  执行加载指令 insmod netconsole.ko netconsole=6665@192.168.137.110/eth0,514@192.168.137.100/00:0c:29:c1:9c:ed
  各个参数含义如下 netconsole=src-port]@[src-ip]/[],[tgt-port]@/[tgt-macaddr] where src-port      source for UDP packets (defaults to 6665)     #开发板上的端口,省略的话默认为6665 src-ip        source IP to use (interface address)                 # 开发板上的IP地址 dev           network interface (eth0)                             #开发板上使用的网卡设备名 tgt-port      port for logging agent (6666)                        #目的机器的端口,省略的话默认为6666 tgt-ip        IP address for logging agent                         #目的机器的IP地址 tgt-macaddr   ethernet MAC address for logging agent (broadcast)   #目的机器的MAC地址 rsyslog服务端设置开启514端口
  客户端设置好了,配置rsyslog以在服务器模式下运行 sudo vim /etc/rsyslog.conf
  取消注释udp和tcp端口绑定的行: # provides UDP syslog reception module(load="imudp") input(type="imudp" port="514")  # provides TCP syslog reception module(load="imtcp") input(type="imtcp" port="514")
  测试端口是否能通 ➜  ~ sudo nc -vuz 192.168.137.110 514 Connection to 192.168.137.110 514 port [udp/syslog] succeeded! 创建接收模板
  创建一个模板,指示rsyslog服务器如何存储传入的syslog消息,在 GLOBAL DIRECTIVES 部分之前添加模板:$template remote-incoming-logs,"/var/log/%HOSTNAME%/%fromhost-ip%-%$YEAR%-%$MONTH%-%$DAY%.log *.* ?remote-incoming-logs & ~
  收到的日志将使用上面的模板进行解析并存储在目录/var/log/中,文件命名遵循约定: %HOSTNAME%/%fromhost-ip%-%$YEAR%-%$MONTH%-%$DAY%.log 。
  日志接收模板参数的含义可参考:https://www.dandelioncloud.cn/article/details/1517852831246839810
  完成后保存并关闭文件。然后,使用以下命令检查Rsyslog配置是否存在语法错误: rsyslogd -f /etc/rsyslog.conf -N1
  你应该看到以下输出: rsyslogd: version 8.32.0, config validation run (level 1), master config /etc/rsyslog.conf rsyslogd: End of config validation run. Bye. 配置启动文件
  以root身份修改 /etc/default/rsyslog 启动配置文件RSYSLOGD_OPTIONS="-m 0 -r" -r 选项以允许接受外来日志消息。 -x 禁用掉dns记录项不够齐全或其他的日志中心的日志。 -m 修改syslog的内部mark消息写入间隔时间(0为关闭)。例如-m 180,表示每隔180分钟(每天8次)在日志文件里增加一行时间戳消息。 -h 默认情况下,syslog不会发送从远端接受过来的消息到其他主机,而使用该选项,则把该开关打开,所有接受到的信息都可根据syslog.conf中定义的@主机转发过去。 重启服务
  重新启动rsyslog服务以使更改生效: sudo systemctl restart rsyslog
  确认服务是否正在侦听已配置的端口: ss -tunelp | grep 514 udp    UNCONN   0        0                 0.0.0.0:514            0.0.0.0:*      ino:178435 sk:2c <->                                                            udp    UNCONN   0        0                    [::]:514               [::]:*      ino:178436 sk:2d v6only:1 <->                                           tcp    LISTEN   0        25                0.0.0.0:514            0.0.0.0:*      ino:178439 sk:2e <->                                                            tcp    LISTEN   0        25                   [::]:514               [::]:*      ino:178440 sk:2f v6only:1 <->    配置Rsyslog防火墙
  如果你的ufw防火墙服务正在运行,请允许rsyslog防火墙端口: sudo ufw allow 514/tcp sudo ufw allow 514/udp 输出测试
  测试使用的是SysRq键在客户端输出内核信息。
  在开发板上,修改 /etc/sysctl.conf 启动SysRq。kernel.sysrq=1
  执行下列命令,使修改生效。 sysctl -p
  执行下列命令向控制台输出内核信息。 root@firefly:~/mnt/module# echo h > /proc/sysrq-trigger  [10224.626165] sysrq: SysRq : HELP : loglevel(0-9) reboot(b) crash(c) terminate-all-tasks(e) memory-full-oom-kill(f) kill-all-tasks(i) thaw-filesystems(j) sak(k) show-backtrace-all-active-cpus(l) show-memory-usage(m) nice-all-RT-tasks(n) poweroff(o) show-registers(p) show-all-timers(q) unraw(r) sync(s) show-task-states(t) unmount(u) force-fb(V) show-blocked-tasks(w) dump-ftrace-buffer(z)
  在服务器的/var/log/192.168.137.110目录下即可看到生成的日志文件。 ➜  192.168.137.110 cat 192.168.137.110-2022-10-16.log  2022-10-16T22:35:54.777180+08:00 192.168.137.110  [10224.626165] sysrq: SysRq :  2022-10-16T22:35:54.777180+08:00 192.168.137.110 loglevel(0-9)  2022-10-16T22:35:54.777180+08:00 192.168.137.110  [10224.626165] sysrq: SysRq :  2022-10-16T22:35:54.777180+08:00 192.168.137.110 loglevel(0-9)  2022-10-16T22:35:54.777180+08:00 192.168.137.110 reboot(b)  2022-10-16T22:35:54.777180+08:00 192.168.137.110 crash(c)  2022-10-16T22:35:54.777180+08:00 192.168.137.110 reboot(b)  2022-10-16T22:35:54.777180+08:00 192.168.137.110 crash(c)  2022-10-16T22:35:54.777180+08:00 192.168.137.110 terminate-all-tasks(e)  2022-10-16T22:35:54.777180+08:00 192.168.137.110 terminate-all-tasks(e)  2022-10-16T22:35:54.777180+08:00 192.168.137.110 memory-full-oom-kill(f)  2022-10-16T22:35:54.777180+08:00 192.168.137.110 memory-full-oom-kill(f)  2022-10-16T22:35:54.777180+08:00 192.168.137.110 kill-all-tasks(i)  2022-10-16T22:35:54.777180+08:00 192.168.137.110 kill-all-tasks(i)  2022-10-16T22:35:54.777180+08:00 192.168.137.110 thaw-filesystems(j)  2022-10-16T22:35:54.777180+08:00 192.168.137.110 thaw-filesystems(j)  2022-10-16T22:35:54.777180+08:00 192.168.137.110 sak(k)  2022-10-16T22:35:54.777180+08:00 192.168.137.110 sak(k)  2022-10-16T22:35:54.777180+08:00 192.168.137.110 show-backtrace-all-active-cpus(l)  2022-10-16T22:35:54.777180+08:00 192.168.137.110 show-backtrace-all-active-cpus(l)  2022-10-16T22:35:54.777180+08:00 192.168.137.110 show-memory-usage(m)  2022-10-16T22:35:54.777180+08:00 192.168.137.110 show-memory-usage(m)  2022-10-16T22:35:54.777180+08:00 192.168.137.110 nice-all-RT-tasks(n)  2022-10-16T22:35:54.777180+08:00 192.168.137.110 nice-all-RT-tasks(n)  2022-10-16T22:35:54.777180+08:00 192.168.137.110 poweroff(o)  2022-10-16T22:35:54.777180+08:00 192.168.137.110 poweroff(o)  2022-10-16T22:35:54.777180+08:00 192.168.137.110 show-registers(p)  2022-10-16T22:35:54.777180+08:00 192.168.137.110 show-registers(p)  2022-10-16T22:35:54.777180+08:00 192.168.137.110 show-all-timers(q)  2022-10-16T22:35:54.777180+08:00 192.168.137.110 show-all-timers(q)  2022-10-16T22:35:54.777180+08:00 192.168.137.110 unraw(r)  2022-10-16T22:35:54.777180+08:00 192.168.137.110 unraw(r)  2022-10-16T22:35:54.777180+08:00 192.168.137.110 sync(s)  2022-10-16T22:35:54.777180+08:00 192.168.137.110 sync(s)  2022-10-16T22:35:54.777180+08:00 192.168.137.110 show-task-states(t)  2022-10-16T22:35:54.777180+08:00 192.168.137.110 show-task-states(t)  2022-10-16T22:35:54.777180+08:00 192.168.137.110 unmount(u)  2022-10-16T22:35:54.777180+08:00 192.168.137.110 unmount(u)  2022-10-16T22:35:54.777180+08:00 192.168.137.110 force-fb(V)  2022-10-16T22:35:54.777180+08:00 192.168.137.110 force-fb(V)  2022-10-16T22:35:54.777180+08:00 192.168.137.110 show-blocked-tasks(w)  2022-10-16T22:35:54.777180+08:00 192.168.137.110 show-blocked-tasks(w)  2022-10-16T22:35:54.900989+08:00 192.168.137.110 dump-ftrace-buffer(z)  2022-10-16T22:35:54.900989+08:00 192.168.137.110 dump-ftrace-buffer(z)  2022-10-16T22:35:54.900989+08:00 192.168.137.110
  若进入192.168.137.110目录无权限,则执行  sudo chmod 777 192.168.137.110  赋予权限。其他监听方法netcat
  在没有syslogd在运行的主机上可以使用 netcat/socat 接收来自远程主机的消息: nc -u -l -p  / nc -u -l  netcat -u -l -p  / netcat -u -l  socat udp-recv: -
  举例 ~ sudo  netcat -l -p 514 -u  [sudo] password for zhongyi:  [  263.748032] sysrq: SysRq : HELP : [  263.748032] sysrq: SysRq : HELP : loglevel(0-9) loglevel(0-9) reboot(b) reboot(b) crash(c) crash(c) terminate-all-tasks(e) terminate-all-tasks(e) memory-full-oom-kill(f) memory-full-oom-kill(f) kill-all-tasks(i) kill-all-tasks(i) thaw-filesystems(j) thaw-filesystems(j) sak(k) sak(k) show-backtrace-all-active-cpus(l) show-backtrace-all-active-cpus(l) show-memory-usage(m) show-memory-usage(m) nice-all-RT-tasks(n) nice-all-RT-tasks(n) poweroff(o) show-registers(p) poweroff(o) show-registers(p) show-all-timers(q) show-all-timers(q) unraw(r) sync(s) show-task-states(t) unraw(r) sync(s) show-task-states(t) unmount(u) force-fb(V) unmount(u) force-fb(V) show-blocked-tasks(w) show-blocked-tasks(w) dump-ftrace-buffer(z) dump-ftrace-buffer(z)  dmesg
  -n/--console-level  控制kernel message console 输出级别, 设置输出level为debug (-n 8 ):dmesg -n 8 uboot中的netconsole
  uboot下的netconsole类似于kernel下的telnet等网络终端功能,将网络作为输入输出的终端,这样就便于我们在PC端通过网络登录设备uboot中运行命令。
  uboot下netconsole的实现在drivers/net/netconsole.c中,uboot开启netconsole只需要在配置文件 configs/firefly-rk3399_defconfig 加入CONFIG_NETCONSOLE=y  即可。重新编译uboot,烧写到设备上。
  设置环境变量 nc ,设置CONFIG_NETCONSOLE_BUFFER_SIZE 覆盖默认缓冲区大小,设置环境变量ncip 为通信对端ip,格式为: , 不设置时为默认值6666 ,发送端口和接收端口可以分别设置,ncinport 和ncoutport ,setenv ipaddr 192.168.137.110 setenv nc "setenv stdout nc;setenv stdin nc" setenv ncip 192.168.137.100 saveenv run nc
  uboot进入netonsole模式,此时串口控制台就没有输出了。
  在服务器上执行 ./tools/netconsole 192.168.137.110
  就可以在PC端运行uboot命令了。 本文参考
  https://www.kernel.org/doc/html/latest/networking/netconsole.html
  https://blog.csdn.net/weixin_44143206/article/details/123598281
  https://blog.csdn.net/force_eagle/article/details/114670045
  https://www.kernel.org/doc/html/latest/networking/netconsole.html
  https://blog.csdn.net/Zhu_Zhu_2009/article/details/105120184
  https://blog.csdn.net/j00362/article/details/50389131
  http://t.zoukankan.com/clnchanpin-p-7232687.html
  https://blog.csdn.net/force_eagle/article/details/114670045
  https://blog.csdn.net/weixin_42300896/article/details/119500359
  https://0xzx.com/201912100028405199.html
  https://blog.csdn.net/u014044032/article/details/81462054

一周热评拉住你的手,却无法挽留一周热评新鲜放送!切尔西官方主帅图赫尔下课唯一的石头滕哈赫?????Hfghvvj我擦??赛季买人都是咨询他的意见,欧冠也是他拿的,不给时间下课了!!蹉跎tDb0伯利比阿布还狠谁是米西奇约基奇拿到了32分但他并不容易其他人也必须承担责任直播吧9月12日讯在今天结束的一场欧锦赛八分之一决赛中,塞尔维亚8694不敌意大利。赛后,塞尔维亚球员米西奇接受了采访。我们进攻停滞了,没有带着必胜决心去比赛,投篮也没信心。我们打森林狼为何不惜重金打造双塔阵容头条创作挑战赛今年夏天森林狼和爵士的强势9换1登上NBA热搜,森林狼队不惜用比斯利贝弗利今年22号秀凯斯勒范德比尔特博尔马罗以及4个首轮签,交换爵士队的3届DPOY戈贝尔。那么,为易经智慧掌握这三条养生之道,修养好你的身心这两年,新冠肺炎疫情的发生,引起人们对生命的深刻反思。人们越来越明白,唯有健康的身体,才能让我们体会到生活中更多的美好。但是,却有一些人把自虐当作养生,譬如暴走,吃各种养生补品,以默默伤人的高血脂,你了解多少?高血脂一般没有明显症状,但它对人体的伤害却非常的大,今天我们就来聊一聊,那些容易被大家忽视的血脂风险。什么是高血脂?高血脂即高脂血症,又叫血脂异常,是指血脂升高,包括高胆固醇血症高肥罗2!42岁小罗同框46岁大罗,挺啤酒肚严重发福,两人加起来500斤9月12日消息,日前,巴西传奇球星罗纳尔多和罗纳尔迪尼奥一起参加了活动,两人在足球场上再次亮相,结果却是两个大胖子合肥!大罗和小罗曾经是巴西队最引人瞩目的两大巨星,都拥有着无以伦比詹娜布克包厢看美网!久违当众接吻,复合后第一次,肯豆好兴奋最近一段时间,肯达尔詹娜(KendallJenner)与NBA球星德文布克越来越高调了,先是一起亮相2K游戏的发布会活动现场,然后又牵着手看时尚大秀,如今,两人又被拍到现身美网包厢邹市明为丁公子大婚道贺,18亿彩礼千万豪车开路,捐1亿做公益邹市明为丁公子大婚道贺近日,喜迎中秋佳节,这样好的日子里,自然也是新人举办婚礼的佳日。某踏丁公子和妻子在晋江举办大婚,婚礼奢侈程度堪称一绝。而且拳王邹市明携妻子专门来道贺,不光如此又一位拳坛重炮手出现!他击倒率比肩张君龙,有望KO阿瓦雷兹上周末,在美国进行了一场预定10回合的超中量级拳击比赛,结果这场较量只持续了不到2个回合便宣告结束,获胜的一方名叫克里斯蒂安姆比利,他在不到6回合时间里三次击倒了美国拳手瓦尔,并一祝贺!国乒新10大主力格局确立,33岁马龙21岁孙颖莎同时出征北京时间9月11日,中国乒协正式对外官宣2022年成都团体世乒赛的运动员名单,而国乒新的十大主力格局也终于正式确立了,他们分别是男队樊振东马龙梁靖崑王楚钦林高远女队孙颖莎陈梦王曼昱赛末点中的斯嘉丽约翰逊简直就是尤物的代名词诺拉(斯嘉丽约翰逊扮演)原来是汤姆的女朋友,但与威尔顿发生了一夜情,随后与汤姆分手。但是数年后,与威尔顿再次相遇,两人旧情复燃,还有了威尔顿的孩子,但最后被威尔顿杀死。20出头的斯
新iPhone4曝光3。5英寸小屏双卡双待,耳机插孔保留多学学,多看看!点击关注,每天不断更新精彩内容!导读新iPhone4曝光3。5英寸小屏双卡双待,耳机插孔保留!今年是iPhone4发布的第12年,谁能想到苹果还想在12年后推出iP超级风暴!暴跌20,美股40年牛市终结,史诗级的崩盘即将来临超级风暴!暴跌20,40年大牛市终结!彭博全球综合指数持续下跌,相比2021年的峰值,已累计下跌超20,创出了自1990年创立以来的最大跌幅,自此进入熊市,长达40年的全球债券大牛四大房企中,恒大融创都暴雷了,为什么万科能成功上岸?做房地产行业,真的需要很强的定力,因为诱惑太多了。房地产是一个资金密集型行业,也是一个来钱快,赚钱容易的行业。当行情比较好的时候,这些房企巨头借钱都很容易,银行,投资者,甚至是员工对于比亚迪,不要再抱幻想了最近几天,巴菲特减持比亚迪的消息,引发了广泛关注。讨论的很多,各种观点都有。其实,当年有一个活生生的先例摆在那里中石油。2007年7月12日,巴菲特开始在港股减持中石油。用了三个月报告预计中国冰雪产业今年规模将超8000亿元2022中国冰雪产业发展研究报告显示,近年来,中国冰雪产业市场规模增幅明显。预计2022年中国冰雪产业总规模将超过8000亿元(人民币,下同),并有望在2025年步入成熟期,市场规势如破竹!一道新能跨入行业第一梯队!位居前三国际能源网光伏头条(PV2005)持续跟踪光伏组件招中标市场,据公开资料统计,5月20日8月20日的光伏组件招中标市场,约35。61GW光伏组件采购项目定标,其中确定中标企业中标容财经早餐2022。09。05星期一国家气候中心今年夏季(6月1日至8月31日)全国平均气温22。3,较常年同期偏高1。1,为1961年有完整气象观测记录以来历史同期最高。全国平均高温日数14。3天,较常年同期偏多6深耕行业三十载,恒立液压国产液压龙头优势明显,订单有望增长(报告出品方分析师东莞证券黄秀瑜谢少威)1。行业深耕多年,多元化产品涉及多个领域1。1深耕行业三十年,铸造全球一体化企业恒立液压成立于1990年,总部位于中国常州,生产气动缸和启动特别策划如何做一个不好惹的女性?文阳子1987年,美国创新领导力中心(CCL)的一项研究项目希望系统了解哪些经历塑造了卓越企业中的顶尖领导者。数据显示,在参与研究的191位领导者中,男性领导者为189位,而女性只9月5日A股猛料中办国办联合发文!5板块重磅利好政策即将落地聚焦A股市场每日重磅消息,为2亿散户点明投资方向!在阅读正文前,你必须知道一点没有几个主力资金会笨到在利好一出炉就将股价直线拉升到涨停,所以请股民朋友们耐心一点,让利好飞一会,也许拜登终于明白了,这场惊天危机,是一个大阴谋美国的中期选举越来越近,通胀的风声反而变小了,因为拜登明白现在急也没有用了,毕竟美国通胀问题并不上单纯的经济问题,而是国际战略和内部斗争螺旋交织下的产物!这里首先需要搞明白一个问题