FreeBSD on SPARC64 Ultra10 Display Issue
لاحظت وجود جهاز صن ألترا١٠ ذو معالج سبارك٦٤ قديم في العمل غير مستخدم. فكرت في استغلاله و إعادة إحيائه بتثبيت نظام فري بي إس دي عليه و بالفعل قمت بذلك و تمت عملية تنصيب النظام من أبدع ما يكون :) إلا أنني واجهت مشكلة في عرض النظام على الشاشة و إليكم التفاصيل.
الجهاز به كرت شاشة من نوع 13W3 كما أن هناك كرت VGA موصول عليه من نوع (ATI Rage 3D). عند توصيل كرت الـ 13W3 فالشاشة تعمل بشكل طبيعي لكن عند توصيل الـ VGA لا يتم عرض أي شيء على الشاشة. قمت بعملية جوجلة سريعة و لم أصل لنتيجة فاستشرت خبراء النظام على القائمة البريدية الخاصة بنظام فري بي إس دي على معالجات سبارك٦٤ و جائني رد من أحد المشاركين يفيد بأن المشكلة تكمن في أن النظام و بشكل إفتراضي يقوم بعرض جميع مخرجاته على جهاز العرض الإفتراضي (13W3) لذلك لو أردت عرض مخرجات النظام على جهاز العرض الآخر فيتوجب علي إما فصل الكرت الأول (13W3) أو تحويل العرض إلي الكرت الثاني (VGA) من خلال الـ Open Boot Firmware. قررت إتخاذ القرار الثاني لأني لم أرد فتح الجهاز و خلافه وإختصارا للوقت كما أنني يمكن أن أستفيد من الشاشة الأخرى :).
إليكم تفاصيل الخطوات التي قمت بها؛
بداية أردت معرفة قيمة المتغير output-device وهو المطلوب تغييره
OK printenv output-devicescreen
لمعرفة مسار جهاز العرض المطلوب في النظام:
OK show-devs
وجدت المسار كالتالي:
/pci@1f,0/pci@1,1/SUNW,m64B@2
بدلا من إعطاء المتغير output-device قيمة المسار بالكامل، قمت بعمل إختصار أو (اسم مستعار)
OK nvalias mach64 /pci@1f,0/pci@1,1/SUNW,m64B@2OK setenv output-device mach64OK reset-all
أثناء بحثي و جوجلتي وجدت مقالا رائعا أفادني كثيرا على الرابط:
http://www.csn.ul.ie/~ivan/install_ubuntu_on_ultra10.html#OpenBoot%20Firmware
I had an extra Sun SPARC64 Ultra10 machine at work that was unplugged and doing nothing at all. I told myself, it would be cool to install FreeBSD on it and make it useful again :). Installation went through and the box is booting normally but I had a problem with the display.
The machine I’m playing with has the 13W3 connector to hook up a monitor to as well as a normal on-board VGA card (ATI Rage 3D) which is called machfb0 frame-buffer. The problem when you connect both the cards to two monitors, the system defaults to run syscons on the primary AFB/FFB frame-buffer, which is by default the 13W3. Once this happens, you can’t see anything on the machfb0 connected monitor except a white background! Even X won’t run on that.
I tried to google it but couldn’t get a proper solution to the problem therefore I went to the FreeBSD-SPARC64 mailing list and asked. Not surprisingly got a grateful answer from someone named Marius Strobl detailing the problem and providing the proper solution.
The solution was redirecting the primary frame-buffer to machfb0 in the Open Boot Firmware by changing the variable output-device to the full path of machfb0. Once I did that, everything worked fine, syscons was showing on the machfb0 connected monitor, X worked fine and I was even able to use a dual monitor setup :)
Here is what I did;
OK printenv output-device
screen
To know where is the device, I used:
OK show-devs
Which listed my machfb0 at the following path:
/pci@1f,0/pci@1,1/SUNW,m64B@2
Instead of typing the whole path, we can make an alias like this:
OK nvalias mach64 /pci@1f,0/pci@1,1/SUNW,m64B@2
OK setenv output-device mach64
OK reset-all
During my google search, I found a very helpful resource at http://www.csn.ul.ie/~ivan/install_ubuntu_on_ultra10.html#OpenBoot%20Firmware
- مدونة يوسف
- تمت قراءة الموضوع 1626 مرة






إضافة تعليق جديد