After the frame buffer and mailbox are implemented, I’ve tried to implement a graphic text console with the frame buffer.
To include the frame buffer device for your kernel image, you may need to add the configuration macro CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER.
Idealy, the console would be redirected to fb console when it is enabled by kernel command line “console=fb”. But for the moment, as I haven’t yet finished the atag parser nor dtb parser, it would be possible to change the primary console by editing file console-select.c, comment the two lines:
90: Console_Port_Minor = BSP_CONSOLE_FB; 91: BSPPrintkPort = BSP_CONSOLE_FB; Then all output will be redirected to serial instead of fb console. If you’ve found some message like this in kernel info output:
[#]fb_fix_screeninfo: smem_start : C100000
[#]fb_fix_screeninfo: smem_len : 12C000 and the video is freezed, try to check if the segement of memory from 0xC100000, with length 0x12C000 is covered in BCM2835_FBMEM_BASE with length of BCM2835_FBMEM_SIZE, defined in raspberrypi.h. If not, please update these two value. I’ve got the driver work on a samsung 27″ display with rpi B. Since I can’t test it with different display by my self. I would be glad if you can join me to test the driver and send me feedback, so that I can improve it . To try out the graphic console driver, please checkout commit 016dc556 fix bug when cleaning screen. out of range
I have more progress on the previous problem. Please checkout the latest blog for more information.