<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, May 16, 2016 at 7:36 AM, walkerlala <span dir="ltr">&lt;<a href="mailto:ablacktshirt@gmail.com" target="_blank">ablacktshirt@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 2016年05月16日 01:36, Mulyadi Santosa wrote:<br>
</span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
<br>
<br>
On Thu, May 12, 2016 at 9:55 PM, walkerlala &lt;<a href="mailto:ablacktshirt@gmail.com" target="_blank">ablacktshirt@gmail.com</a><br></span><span class="">
&lt;mailto:<a href="mailto:ablacktshirt@gmail.com" target="_blank">ablacktshirt@gmail.com</a>&gt;&gt; wrote:<br>
<br>
    I successfully insert some function into the kernel code and make it<br>
    execute when the kernel start up, but I just can&#39;t make the kernel stop<br>
    executing. Are there any functions which can pause the kernel so that I<br>
    prompt the user, and let the user input a command(maybe a comment to<br>
    display the current time. Something like a shell would do) and<br>
    interact ?<br>
    (I had checked the &quot;sys_***&quot; functions in this page:<br>
    <a href="http://docs.cs.up.ac.za/programming/asm/derick_tut/syscalls.html" rel="noreferrer" target="_blank">http://docs.cs.up.ac.za/programming/asm/derick_tut/syscalls.html</a><br>
       but just can&#39;t find a proper one )<br>
<br>
    _______________________________________________<br>
    Kernelnewbies mailing list<br></span>
    <a href="mailto:Kernelnewbies@kernelnewbies.org" target="_blank">Kernelnewbies@kernelnewbies.org</a> &lt;mailto:<a href="mailto:Kernelnewbies@kernelnewbies.org" target="_blank">Kernelnewbies@kernelnewbies.org</a>&gt;<span class=""><br>
    <a href="http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies" rel="noreferrer" target="_blank">http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies</a><br>
<br>
<br>
Hi...<br>
<br>
sounds like what kgdb does. But not sure if it is still maintained or not.<br>
<br>
btw, kernel can not be paused, actually. if you really need that, you<br>
need to run linux kernel inside virtual machine and pause the virtual<br>
machine. But doing that, you will also pause user space too :)<br>
<br>
--<br>
regards,<br>
<br>
Mulyadi Santosa<br>
Freelance Linux trainer and consultant<br>
<br></span>
blog: <a href="http://the-hydra.blogspot.com" rel="noreferrer" target="_blank">the-hydra.blogspot.com</a> &lt;<a href="http://the-hydra.blogspot.com" rel="noreferrer" target="_blank">http://the-hydra.blogspot.com</a>&gt;<br>
training: <a href="http://mulyaditraining.blogspot.com" rel="noreferrer" target="_blank">mulyaditraining.blogspot.com</a> &lt;<a href="http://mulyaditraining.blogspot.com" rel="noreferrer" target="_blank">http://mulyaditraining.blogspot.com</a>&gt;<br>
</blockquote>
<br>
Hi, thanks for reply.<br>
<br>
I know using a debugger or virtual machine would help a little bit, but that&#39;s not interactive any more. What I want is just a shell-like &quot;interactive&quot; kernel (may be I am a little naive to think that ?)<br>
<br>
Why the kernel cannot be stopped ? I think, now that if the kernel can be interrupted, then why can&#39;t it be stopped by some mechanisms ?<br>
<br>
Regards,<br>
<br>
</blockquote></div><br><br></div><div class="gmail_extra">Hi...<br><br></div><div class="gmail_extra">please add kernelnewbies to cc: list too next time :)<br><br></div><div class="gmail_extra">Kernel can&#39;t be stopped, because it&#39;s actually servicing event mostly generated by hardware (interrupts etc) or user space (syscall etc). So unless you stop these two aspects to raise events, basically kernel will still do its works.<br><br clear="all"></div><div class="gmail_extra"><br>-- <br><div class="gmail_signature">regards,<br><br>Mulyadi Santosa<br>Freelance Linux trainer and consultant<br><br>blog: <a href="http://the-hydra.blogspot.com" target="_blank">the-hydra.blogspot.com</a><br>training: <a href="http://mulyaditraining.blogspot.com" target="_blank">mulyaditraining.blogspot.com</a></div>
</div></div>