From owner-freebsd-questions@FreeBSD.ORG Fri Feb 27 21:15:50 2015 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 26732411 for ; Fri, 27 Feb 2015 21:15:50 +0000 (UTC) Received: from mail-ie0-x22b.google.com (mail-ie0-x22b.google.com [IPv6:2607:f8b0:4001:c03::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id DCA80ADC for ; Fri, 27 Feb 2015 21:15:49 +0000 (UTC) Received: by iecvy18 with SMTP id vy18so34120756iec.13 for ; Fri, 27 Feb 2015 13:15:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=dpmkiuDFMy5j82bCqh3ZP9D123oNMMZd9O+9/CSUGug=; b=mNnbnI9xtLUjfro13LXzY9gtPOBdDY+Q23cSu+NBA215aBsFMZLJZ8VEClLXrB0cKa qbrhTnSEG33ONTGE/24Ox/AFiwGC8W8oS3+MRXgdFgWyLTPkL2EXAL6YC7/U+CoabKa+ PSW5OMbJhaPGfX9b0UAOzPyOK3ySfp+CCPmP7MGQLZ6ilOqBaUftiMSPbOX2o7v6rsVY VXGmJgsqy53HbuYPtImpulqMOS3MmdJUS9mRPkZ3fKP+n1a28Laxu9nd1t5FVKL6UvsN hHO0xkbJRFOSOz48XhGBl53eMhiHutx/WdSt+3CJt8fp/hRh5ZzMc4yjlWn4Csttba23 DQ/Q== MIME-Version: 1.0 X-Received: by 10.50.66.170 with SMTP id g10mr5711389igt.49.1425071749307; Fri, 27 Feb 2015 13:15:49 -0800 (PST) Sender: adrian.chadd@gmail.com Received: by 10.36.17.66 with HTTP; Fri, 27 Feb 2015 13:15:49 -0800 (PST) In-Reply-To: <20150227192136.65a79cb4.freebsd@edvax.de> References: <20150222164422.D89FCA0168@smtp.hushmail.com> <20150222175145.6b2cb583.freebsd@edvax.de> <20150227015057.4E2F3C0431@smtp.hushmail.com> <20150227105547.d4884de7.freebsd@edvax.de> <20150227111527.3b2cf9e6@archlinux> <20150227192136.65a79cb4.freebsd@edvax.de> Date: Fri, 27 Feb 2015 13:15:49 -0800 X-Google-Sender-Auth: l53xyVZfb9js54Dgg3Aejir1mts Message-ID: Subject: Re: Why all the fancy ASCII art in the boot loader? From: Adrian Chadd To: Polytropon Content-Type: text/plain; charset=UTF-8 Cc: FreeBSD Questions X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 21:15:50 -0000 On 27 February 2015 at 10:21, Polytropon wrote: > On Fri, 27 Feb 2015 10:05:53 -0800, Adrian Chadd wrote: >> The company that I work for ships appliances and VM images for said >> appliance; having a VGA splash screen would be great. >> >> I'm working on VESA support for the loader (and general graphics >> framebuffer support for all platforms, since not all the world is >> x86.) > > Do you know about this project? > > https://wiki.freebsd.org/OliverFromme/BootLoader > > Maybe it could be put into active development and finally > become a (selectable) part of the default OS installation? Yup. I started by getting that to work on -HEAD. Problem is, it's limited to 640x480 and it's only useful for x86. So I started down the rabbit hole of making it aware of VESA and making it more flexible. > >> If nothing else, being able to have loader and kernel boot into >> a high res text mode would be really helpful for debugging. > > Until the letters become unreadable. ;-) So you load an 8x16 or a 16x32 font, and everything's fine. :) > No, seriously: Tiny letters in text mode, usually a "feature" > of today's Linux, can be annoying when you don't sit infront > of a 35" 16:9 flat panel (and instead _have to use_ a 11" or > 14" 4:3 screen). Trying to solve problems under such circumstances > is harder than in the common 80x25 environment due to readablilty. > But of course, YMMV applies. The trick isn't to not do it at all. The trick is to give people the option of whether to use it or not. After going through the motions of bringing this up, I think the first thing i'm going to do is teach the existing boot loader code about VESA text modes and the initialisation path about things that aren't just whatever-the-bios-initialised-it-as. There's a few things that need adding - mostly exporting some variables about the screen geometry so the forth code doesn't just assume everything is 80x25 - but it should be straightforward. I'll then work on the framebuffer support itself and making things more generic so we can use the same framebuffer support for other platforms (notably EFI booting, all the ARM stuff that's out there with a framebuffer, etc.) -adrian -adrian