导航:首页 > 编程系统 > linux内核重启

linux内核重启

发布时间:2024-03-23 08:49:05

linux ubuntu 安装新内核后,重启进入(initramfs)

1.fdisk -l查看磁盘信息
2.fsck -y 根挂载点
3.执行修复后,reboot
4.成功就可以启动,不成就还需要找原因
5.请采纳,谢谢

❷ 烧写linux内核后不断重启

首先,直接烧zImage是不对的,要用mkimage工具转成uImage,烧这个uboot才认识
其次,uboot参数可能要修改,照你现在的日志看是烧写0x00300000,要改成你现在需要的大小

❸ Linux内核升级后重启黑屏

你这没我那个黑,我的屏幕全黑,左上角有一个白色的线,之后就一直没反应。ctrl+alt+f1也不管用

❹ linux内核线程死锁或死循环之后如何让系统宕机重启

在开发内核模块或驱动时,如果处理失误,导致内核线程中出现死锁或者死循环,你会发现,除了重启之外,你没有任何可以做的。这时你的输入不起任何作用,终端(不是指远程的ssh工具)只会在那重复的输出类似“BUG: soft lockup - CPU#0 stuck for 67s! [fclustertool:2043]”,更无奈的是你重启之后导致系统挂起的堆栈信息也看不到,你所能做的就是一遍遍的加调试信息,一遍遍的重启机器(这是我的经历,现在想想很傻)。 这种情况你肯定不是第一个遇到的,所以内核肯定会提供处理这种情况的一些机制。但是如何来找到这些机制在哪个地方,或者说根据什么信息去google呢?最有用的就是这句话“BUG: soft lockup - CPU#0 stuck for 67s! [fclustertool:2043]”,因为这句话提供你的信息量很大。首先,这条信息可以输出,说明即使发生死锁或者死循环,还是有代码可以执行。第二,可以通过这个日志信息,找到对应的处理函数,这个函数所在的模块就是用来处理CPU被过度使用时用到的。所以通过这个事情,可以看到内核打印出的只言片语都有可能成为你解决问题的关键,一定要从重视这些信息,从中找出有用的东西。 我经常看的内核版本是官方的2.6.32内核,这个版本中我找到的函数是softlockup_tick(),这个函数在时钟中断的处理函数run_local_timers()中调用。这个函数会首先检查watchdog线程是否被挂起,如果不是watchdog线程,会检查当前占有CPU的线程占有的时间是否超过系统配置的阈值,即softlockup_thresh。如果当前占有CPU的时间过长,则会在系统日志中输出我们上面看到的那条日志。接下来才是最关键的,就是输出模块信息、寄存器信息和堆栈信息,检查softlockup_panic的值是否为1。如果softlockup_panic为1,则调用panic()让内核挂起,输出OOPS信息。代码如下所示:/** This callback runs from the timer interrupt, and checks * whether the watchdog thread has hung or not:*/void softlockup_tick(void){int this_cpu = smp_processor_id(); unsigned long touch_timestamp = per_cpu(touch_timestamp, this_cpu); unsigned long print_timestamp; struct pt_regs *regs = get_irq_regs(); unsigned long now; /* Warn about unreasonable delays: */ if (now <= (touch_timestamp + softlockup_thresh))return; per_cpu(print_timestamp, this_cpu) = touch_timestamp; spin_lock(&print_lock); printk(KERN_ERR BUG: soft lockup - CPU#%d stuck for %lus! [%s:%d]\n, this_cpu, now - touch_timestamp, current-comm, task_pid_nr(current)); print_moles(); print_irqtrace_events(current);if (regs)show_regs(regs);elsemp_stack(); spin_unlock(&print_lock); if (softlockup_panic) panic(softlockup: hung tasks);} 但是softlockup_panic的值默认竟然是0,所以在出现死锁或者死循环的时候,会一直只输出日志信息,而不会宕机,这个真是好坑啊!所以你得手动修改/proc/sys/kernel/softlockup_panic的值,让内核可以在死锁或者死循环的时候可以宕机。如果你的机器中安装了kmp,在重启之后,你会得到一份内核的core文件,这时从core文件中查找问题就方便很多了,而且再也不用手动重启机器了。如果你的内核是标准内核的话,可以通过修改/proc/sys/kernel/softlockup_thresh来修改超时的阈值,如果是CentOS内核的话,对应的文件是/proc/sys/kernel/watchdog_thresh。CentOS内核和标准内核还有一个地方不一样,就是处理CPU占用时间过长的函数,CentOS下是watchdog_timer_fn()函数。 这里介绍下lockup的概念。lockup分为soft lockup和hard lockup。 soft lockup是指内核中有BUG导致在内核模式下一直循环的时间超过10s(根据实现和配置有所不同),而其他进程得不到运行的机会。hard softlockup是指内核已经挂起,可以通过watchdog这样的机制来获取详细信息。这两个概念比较类似。如果你想了解更多关于lockup的信息,可以参考这篇文档: 注意上面说的这些,都是在内核线程中有效,对用户态的死循环没用。如果要监视用户态的死循环,或者内存不足等资源的情况,强烈推荐软件层面的watchdog。具体的操作可以参考下面的文章,都写的非常好,非常实用:

❺ Linux的重启命令有哪些

Linux的五个关机重启命令

1、shutdown

2、poweroff

3、init

4、reboot

5、halt

在linux下一些常用的关机/重启命令有shutdown、halt、reboot、及init,它们都可以达到重启系统的目的,但每个命令的内部工作过程是不同的。

(5)linux内核重启扩展阅读

1、cat命令

cat命令可以用来合并文件,也可以用来在屏幕上显示整个文件的内容。

catsnow.txt该命令显示文件snow.txt的内容,ctrl+D退出cat。

2、grep命令

grep命令的最大功能是在一堆文件中查找一个特定的字符串。

grepmoneytest.txt

以上命令在test.txt中查找money这个字符串,grep查找是区分大小写的。

❻ Linux里面级别6重启和reboot重启区别是什么

区别如下:

reboot 使用 shutdown 命令(使用 -r 开关)。 shutdown 命令用于杀死所有正在运行的进程,卸载所有文件系统,最后告诉内核发出 ACPI power 命令。 来源可以在这里找到。 在较旧的发行版中,reboot 命令通过发出 SIGKILL 信号(仍然可以在源代码中找到,可以使用 -f 选项调用)来强制进程退出,在最近的发行版中,它默认为更优雅和对 init 友好的 init 1 -> shutdown -r。 这可确保守护进程在关闭前自行清理。

init 6 告诉 init 进程关闭 init 文件中写入的所有生成的进程/守护进程(以它们启动的相反顺序),最后调用 shutdown -r now 命令重新启动机器

❼ linux重启的命令

一、Linux 的五个重启命令
1、shutdown
2、poweroff
3、init
4、reboot
5、halt
二、五个重启命令的具体说明
shutdown
reboot
在linux下一些常用的关机/重启命令有shutdown、halt、reboot、及init,它们都可以达到重启系统的目的,但每个命令的内部工作过程是不同的,通过本文的介绍,希望你可以更加灵活的运用各种关机命令。
1.shutdown
shutdown命令安全地将系统关机。 有些用户会使用直接断掉电源的方式来关闭linux,这是十分危险的。因为linux与windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失﹐使系统处于不稳定的状态﹐甚至在有的系统中会损坏硬件设备。而在系统关机前使用shutdown命令﹐系统管理员会通知所有登录的用户系统将要关闭。并且login指令会被冻结﹐即新的用户不能再登录。直接关机或者延迟一定的时间才关机都是可能的﹐还可能重启。这是由所有进程〔process〕都会收到系统所送达的信号〔signal〕
决定的。这让像vi之类的程序有时间储存目前正在编辑的文档﹐而像处理邮件〔mail〕和新闻〔news〕的程序则可以正常地离开等等。
shutdown执行它的工作是送信号〔signal〕给init程序﹐要求它改变runlevel。
Runlevel 0被用来停机〔halt〕﹐runlevel 6是用来重新激活〔reboot〕系统﹐而runlevel 1则是被用来让系统进入管理工作可以进行的状态﹔这是预设的﹐假定没有-h也没有-r参数给shutdown。要想了解在停机〔halt〕或者重新开机〔reboot〕过程中做了哪些动作﹐你可以在这个文件/etc/inittab里看到这些runlevels相关的资料。
shutdown 参数说明:
[-t] 在改变到其它runlevel之前﹐告诉init多久以后关机。
[-r] 重启计算器。
[-k] 并不真正关机﹐只是送警告信号给
每位登录者〔login〕。
[-h] 关机后关闭电源〔halt〕。
[-n] 不用init﹐而是自己来关机。不鼓励使用这个选项﹐而且该选项所产生的后果往往不总是你所预期得到的。
[-c] cancel current process取消目前正在执行的关机程序。所以这个选项当然没有时间参数﹐但是可以输入一个用来解释的讯息﹐而这信息将会送到每位使用者。
[-f] 在重启计算器〔reboot〕时忽略fsck。
[-F] 在重启计算器〔reboot〕时强迫fsck。
[-time] 设定关机〔shutdown〕前的时间。
2.halt----最简单的关机命令
其实halt就是调用shutdown -h。halt执行时﹐杀死应用进程﹐执行sync系统调用﹐文件系统写操作完成后就会停止内核。
参数说明:
[-n] 防止sync系统调用﹐它用在用fsck修补根分区之后﹐以阻止内核用老版本的超级块〔superblock〕覆盖修补过的超级块。
[-w] 并不是真正的重启或关机﹐只是写
wtmp〔/var/log/wtmp〕纪录。
[-d] 不写wtmp纪录〔已包含在选项[-n]中〕。
[-f] 没有调用shutdown而强制关机或重启。
[-i] 关机〔或重启〕前﹐关掉所有的网络接口。
[-p] 该选项为缺省选项。就是关机时调用poweroff。
3.reboot
reboot的工作过程差不多跟halt一样﹐不过它是引发主机重启﹐而halt是关机。它 的参数与halt相差不多。
4.init

init是所有进程的祖先﹐它的进程号始终为1﹐所以发送TERM信号给init会终止所有的 用户进程﹑守护进程等。shutdown 就是使用这种机制。init定义了8个运行级别(runlevel), init 0为关机﹐init 1为重启。关于init可以长篇大论﹐这里就不再叙述。另外还有telinit命令可以改变init的运行级别﹐比如﹐telinit -iS可使系统进入单用户模式﹐ 并且得不到使用shutdown时的信息和等待时间。

❽ linux鍐呮牳缂栬瘧瀹屾垚鍚庨噸鍚锛屽嚭鐜癿dio-gpio is already registered,鎬庝箞鍔烇紵

鍥剧墖濂藉皬...
涓嶈繃渚濈█鐪嬪埌浜嗘槸鍔犺浇涓涓鍐呮牳妯″潡锛坉m-region-hash锛夐敊璇锛岃繖涓妯″潡搴旇ユ槸鍜屾枃浠剁郴缁熺浉鍏崇殑锛岀劧鍚庡悗闈mount 鏂囦欢绯荤粺鐨勬椂鍊欏氨鎵句笉鍒扮佺洏...
浣犳洿鏂颁簡鐨勫唴鏍稿嚭浜嗛棶棰...鍔犺浇妯″潡鐨勬椂鍊欐樉绀鸿繖涓妯″潡宸茬粡瀛樺湪锛屾墍浠ュ氨娌℃硶insmod杩欎釜妯″潡锛屾搷浣滀笉鎴愬姛浜嗐傚ぇ姒傛槸閲嶅嶅姞杞戒簡...

鐒跺悗缁欎綘鎼滅储浜嗕笅锛岃繖涓闂棰樺ソ鍍忔瘮杈冨父瑙侊紝杩欓噷闈㈡湁浜虹粰鍑轰簡瑙e喅鏂规堬細

鍦板潃锛
鎶婃湁鐢ㄧ殑缁欎綘璐村嚭鏉ュ惂...

insmod: error inserting '/lib/dm-region-hash.ko' : -1 File exists
杩欎竴鍙ユ槸璇翠綘鎶奷m-region-hash缂栬瘧杩涘唴鏍革紝鍗存病鏈夌敓鎴恉m-region-hash.ko鏂囦欢锛屽彲鑳芥槸鏈変簺闇瑕佺殑椤规病閫変笂锛屾垜涔熸槸閬囧埌杩欑嶉棶棰橈紝涓鐩存病瑙e喅 [/quote]

鏄鍥犱负閲嶅嶅姞杞戒簡/lib/dm-region-hash.ko

鍙浠ヨВ鍐崇殑锛屾ラゅ備笅
1锛岃В鍘媔nitrd鏂囦欢
[root@bogon ~]# cp /boot/initrd-2.6.30.4.img /tmp
[root@bogon ~]# cd /tmp/
[root@bogon tmp]# ls
initrd-2.6.30.4.img
[root@bogon tmp]# mkdir newinitrd
[root@bogon tmp]# cd newinitrd/
[root@bogon newinitrd]# zcat ../initrd-2.6.30.4.img |cpio -i
11537 blocks
閲婃斁涔嬪悗鐪嬪埌濡備笅鍐呭
[root@bogon newinitrd]# ls
bin dev etc init lib proc sbin sys sysroot

2锛宱k,涓嬭竟灏辨槸缂栬緫init锛屽垹鎺夊叾涓閲嶅嶇殑鍥涜屼腑鐨勪袱琛
echo "Loading dm-region-hash.ko mole"
insmod /lib/dm-region-hash.ko
echo "Loading dm-region-hash.ko mole"
insmod /lib/dm-region-hash.ko

3锛岄噸鏂版墦鍖卛nitrd
[root@bogon newinitrd]# find .|cpio -c -o > ../initrd
11538 blocks
[root@bogon newinitrd]# cd ..
[root@bogon tmp]# gzip -9 < initrd > initrd.img
[root@bogon tmp]# ls
initrd-2.6.30.4.img initrd initrd.img newinitrd

濂戒簡锛宨nitrd.img灏辨槸閲嶆柊鎵撳寘鐨刬nitrd浜嗭紝鐒跺悗鎶奿nitrd.img鎷疯礉鍒/boot锛屾洿鏀筭rub.conf閲岃竟鐨刬nitrd-2.6.30.4.img涓篿nitrd.img灏卞彲浠ヤ簡锛
杩欐牱鈥渋nsmod: error inserting '/lib/dm-region-hash.ko' : -1 File exists鈥 灏变笉浼氭湁浜

鍏跺疄灏唅nit鏂囦欢鐨勭浜岃屸渟etquiet鈥 鍘绘帀锛屼綘灏辩煡閬搃nitrd鏂囦欢鍒板簳鍦ㄥ仛浠涔堜簡

阅读全文

与linux内核重启相关的资料

热点内容
压缩好的文件哪里找 浏览:831
百度网盘怎样上传文件夹 浏览:320
java发展是 浏览:892
程序编程结束还要做什么 浏览:778
pcb打版文件有哪些 浏览:39
网络原来ip地址忘记了怎么办 浏览:142
iphone6s微信密码设置 浏览:810
java将数字转换成字母 浏览:854
c盘中的哪些是系统文件夹 浏览:668
分布式服务如何跨库统计数据 浏览:829
力控转发数据客户端模式如何建立 浏览:200
怎么样让自己的网站不被别人看到 浏览:711
编程扩展效果如何 浏览:335
荣耀畅玩手环同步qq 浏览:475
怎么向sql中添加数据库 浏览:596
录歌失败重启app什么意思 浏览:522
压缩文件包怎么在微信发送 浏览:432
mysql数据库怎么插入时间值 浏览:191
微信视频不能转发朋友圈 浏览:596
影视后期的app有哪些 浏览:956

友情链接