Some tips to help to boot a installed Linux distribution manually

Some tips to help to boot an installed Linux distribution manually

-v0.1 2018/4/15 Sherlock init

  1. enther UEFI shell: D06>

  2. enter “start fs1:\EFI\redhat\grubaa64.efi”

    this step is to load grubaa64.efi. fs1 here is the partition
    in which there is a grubaa64.efi. you maybe need to try other
    partitions like: fs0, fs1, fs2…

    for linux, the EFI partition will be mounted under /boot/efi/

  3. then you will enter the shell of grub: grub>
    (or your grub will load grub.conf directly, then you can directly
    go into grub menu)

  4. find where is grub.cfg in grub shell, then enter:

    configfile grub.cfg
    (my case is: configfile (hd1,gpt1)/efi/redhat/grub.conf)

    in this step, you may need go around to see where is the grub.conf,
    you can use “ls” in grub shell, and “tab” works also in grub shell,
    path can be completed by “tab”

    then enter grub menu

  5. choose which kernel to boot

Some tips on interview~~~~~~~~~~


[b][color=#0000FF]1. Tell me about you! [/color][/b]rnI graduated from XXX university in major computer science and technology almost three year ago. After graduation I entered XXX Group and worked in handset software develop position. I had taken part in development and test of several handsets with C/C++ before August last year. After that I stopped to Java development for an application system till February this year. Now I start to work in another project with MFC. rnrn[b][color=#0000FF]2. What do you know about our company? [/color][/b]rnMost of my information about XXX comes from internet and some of my friends. This firm’s mostly products are XXX. It is famous for one of best providers with XXX. rnrn  [b][color=#0000FF]3. Why do you want to work for us? [/color][/b]rn Firstly, XXX is a right firm for my career. Secondly, I think you need more people with ability. I would like to be the one and make a contribution to the firm.rnrn  [b][color=#0000FF]4. What would you do for us? What can you do for us that someone else can't?[/color] [/b]rn You see, in the most time of last three years I was working in development of handset software. I gained many skills and experiences. In addition, I’m working in a team with attestation of CMM-3, so I could be more professional in software developing than others.rnrn  [b][color=#0000FF]5. What about the job offered do you find the most attractive? Least attractive? [/color][/b]  rn This job can offer me more chance to contact new knowledge and technology, and it would give me more experiences for my career. Otherwise, I think this job would be probably a little toilsome. But I don’t care, I like challenge.rnrn  [b][color=#0000FF]6. Why should we hire you? [/color][/b]rn My knowledge、experience、abilities and skills make me assure I can handle this job and do it well.rnrn  [b][color=#0000FF]7. What do you look for in a job?[/color][/b] rn I expect it would give me an opportunity to use my skills and learn some new knowledge. Through this job I can gain some achievements and recognize of other people.rnrn  [b][color=#0000FF]8. Please give me your definition of a .... (the position for which you are being interviewed). [/color][/b]  Keep it brief -- give an action- and results-oriented definition. rnrn  [b][color=#0000FF]9. How long would it take you to make a meaningful contribution to our firm? [/color][/b]rn It’s hard to say. I think it depends many factors. Now I can only tell you I’ll do my best in job if you give me a chance.rnrn  [b][color=#0000FF]10. How long would you stay with us? [/color][/b]rn As long as we both feel I'm contributing, achieving, growing. Maybe someday you don’t think I can contribute to firm or I don’t think I can grow in firm any more, I will leave.rn 

Some useful tips about developing multi-threading applications


Some useful tips about developing multi-threading applications rn rn这四五个月以来主要做KSP的开发,主要的难点是多线程同步。到现在为止,已经积累了不少开发多线程的经验,尤其是调试多线程和一些多线程开发经验。 下面的tips全部来自开发过程中遇到的问题。rn rn1。在写MFC的DLL时千万要小心。rnrn最好不要在InitInstance中调用一些你不知道它具体会做什么的初始化操作,如果那些初始化操作需要创建一个新的线程,并且需要等待新创建的线程结束时,会造成死锁。rn因为InitInstance是在DllMain中被调用,而新创建的线程在调用线程入口函数前,在kernel中需要调用当前进程中的所有DllMain,rn但是InitInstance所在线程,也就是DllMain所在线程在等待新创建的线程结束,所以这里造成死锁。新创建的线程会在Kernel中卡住,线程入口函数无法被执行。rn为了这个问题,我花了两天时间。真是shit。我为一个新硬件写了一个KSP,而那个调用我的KSPl的程序是个用MFC写的控制面板程序(DLL)。它在InitInstance中调用我KSP的初始化函数,这个初始化函数中要创建一个线程,并且等待它结束,所以造成死锁。因为那个控制面板程序是很早以前写的。我一直没想到是控制面板程序的问题,一直在我的KSP中找原因。rn如果你发现你的线程入口函数无法执行,请首先排除是不是这个原因。rn rn2.在多线程中使用GUI函数要尤其小心。rnrn比如EnableWindow这个函数,它会导致线程切换,切换到目的窗口所在的线程。如果当前的线程获取了一个Mutex或者CriticalSection,而窗口所在线程正在Wait这些资源,那么就会造成死锁。rn为了这个问题,我也花了一个下午,最后加班到晚上8点还没搞定(当时还不会用4种提到的windbg),然后回去之前忘记打卡,还被罚了100元,真是郁闷。第二天一早才搞定。rn rn3。尽量使保护区域(用mutex或者CriticalSection)中执行的代码最少。rn rn尤其不要执行一些会引起线程调度(这个同2)或者需要Acquire mutex或者CriticalSection的函数。这样很容易造成死锁。这个问题我碰到了好多次了。rn rn4。调试多线程死锁的最好工具(起码我目前知道的)是WinDbg。rn rn将Windbg attach到死锁的进程,它就它可以列出当前进程的所有的线程,并且可以查看堆栈,如果你有symbol的话,可以查看具体的函数名,如果有代码的话,可以查看源码。并且在没有源码的机器上可以先将进程dump出来,然后在有symbol和源码的机器上面进行分析。以前分析死锁都是用原始的日志,为了一个死锁往往要加入n多的日志,并花不少时间来分析,一个麻烦的问题,用去半天的时间很正常。学会用windbg之后,死锁一般都可以在十几分钟搞定。 rnrn


  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他