Setup serial console:

1. connect the serial ports between host and client(the system with your 
debug version driver).
2. change client side:
change /boot/solaris/bootenv.rc: change the console from 'text' to 'ttya'
example:
setprop console 'ttya'
I assume you connect ttya of the client.

3. change host side: /etc/remote, and add one existing line or add a 
line. below is a example:
hardwire:\
        :dv=/dev/term/a:br#9600:el=^C^S^Q^U^D:ie=%$:oe=^D:

4. change grub menulist of client to redirect GRUB:
add below two sentence to your /boot/grub/menu.lst:

  serial --unit=0 --speed=9600
  terminal serial


Above /dev/term/a means I connect to ttya of host side.
5. on your host terminal run: "tip hardwire".

you can enable kmdb by default by add -k option to your grub menulist like:
#---------- ADDED BY BOOTADM - DO NOT EDIT ----------
title Solaris Express Community Edition snv_84 X86
kernel$ /platform/i86pc/kernel/$ISADIR/unix -k
module$ /platform/i86pc/$ISADIR/boot_archive
#---------------------END BOOTADM--------------------


Good luck!
Javen

Steve Chang wrote:

>Javen,
>Can you instruct me how to set up kmdb and serial connection?
>I can't figure out the instruction in doc "Writing Device Driver"
>
>My platform is "x86pc"
>(1) During booting, I select "e" and change 1st item to boot
>    with Kmdb  with "-k" but the system boot up maintenance 
>    mode. How to configure it as you said?
>
>(2) As for setting serial port, on host side, I add "ttya -debug"
>    And enable it with "tip debug". On target side, I use "eeprom
>    Output-device=ttya" but no response with reboot or after panic
>    To get output on "host system"
>
>Thanks
>
>Steve 
> 
>
>
>-----Original Message-----
>From: Javen Wu [mailto:[EMAIL PROTECTED] 
>Sent: Monday, March 24, 2008 2:16 AM
>To: Steve Chang
>Cc: driver-discuss@opensolaris.org
>Subject: Re: [driver-discuss] SCSI HBA driver debugging questions
>
>Steve,
>
>Firstly, I saw several panic in your attached sys-log. The panics were
>caused most likely by your driver.
>
>I cannot understand what's your meaning about "kernel stop" "Locks-up"?
>Did you mean "Panic" and "Hang"?
>
> From your syslog, I cannot give any comments. But I can give you some
>suggestion for debugging your HBA driver.
>
>1. Before your driver get stable, please don't copy you debug version 
>driver to /kernel/drv or /usr/kernel/drv
>because once your driver is with panic bug, you will panic again and 
>again which prevent you booting up system successfully.
>So please just create a link under /kernel/drv/ or /usr/kernel/drv/ 
>which point to a binary locates at /tmp.  Before you load your driver, 
>copy your binary to /tmp. The contents under directory "/tmp" cannot 
>across reboot, that means once panic causes reboot, the link points to a 
>NULL file locates /tmp after reboot, you can boot your system successfully.
>
>2. Please enable kmdb during debug. you can use -k option to boot your 
>system. Once meet panic, the system would freeze and you can do live 
>analyze  or save core dump for post-analyze.
>
>3. In case a hang problem, you can try break the system enter into kmdb 
>mode or login to the machine by ssh from another machine and run "mdb 
>-KF". Then force save a core dump or do live debugging to check current 
>thread list and see where the system hang. "$threadlist" is very helpful 
>to show threads and stack of the threads.
>
>Hope it helps your debugging.
>
>Cheers
>Javen
>
>
>
>Steve Chang wrote:
>
>  
>
>>Dear Javen,
>>I've struggled on debugging for a while. Can you point out what's wrong
>>through the
>>attached file(through var/adm/messages)?
>>
>>My target system is a dual Intel Xeon server board platform and install a
>>Solaris Developer Extension version (09/07). During debugging,
>>(1) I put mydriver to /usr/kernel/drv/amd64 and mydriver.conf to
>>/usr/kernel/drv
>>(2) Use "prtconf" to check the HBA PCI id which I found our HBA "pci1103,0"
>>      (driver not attached) 
>>(3) Install driver (as a superuser)
>>   #add_drv -i '"pci1103,0"' -c scsi mydriver
>>(4) Then system locks up
>>(5) Fix the kernel and check /var/adm/messages
>>
>>There are two text files in this attached which run the same procedures two
>>times
>>But get the different result.
>>1. DEB - the 1st time running
>>        Kerenl stops after ID=9 scsi_hba_probe() return ?? 
>>2. DEB - fix the system and run the same procedure again
>>        Kernel send ID=14 directly and locks up after ID=15
>>scsi_hba_probe() return ??
>>
>>What's wrong of the kernel? Is it caused by bad kernel or my code? If I
>>    
>>
>keep
>  
>
>>fixing the
>>kernel and retry again, I'll get the different result lock-up again. It is
>>bothering me
>>since I cannot debug my driver. How to make it more stable to run the
>>debugging?
>>
>>Thanks
>>
>>Steve Chang
>>HighPoint Technologies, Inc.
>>408-240-6115
>>
>> 
>>
>>    
>>
>
>  
>

_______________________________________________
driver-discuss mailing list
driver-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/driver-discuss

Reply via email to