Fuloong liberated

43 views
Skip to first unread message

Vladimir 'φ-coder/phcoder' Serbinenko

unread,
May 16, 2011, 5:12:42 AM5/16/11
to gnewsense-dev, rms / fsf sysadmin / fsf volunteers / lemote, loongs...@googlegroups.com, The development of GRUB 2, Danny Clark
Hello all. As you all probably know the Floong as shipped by lemote uses
a 64K binary blob to initialize the video which makes it non-free.
Fortunately now there is an alternative: GRUB2. To generate firmware
image do:
bzr branch http://bzr.savannah.gnu.org/r/grub/trunk/grub
cd grub
./configure --target=mipsel --with-platform=loongson
make
./grub-mkimage -C xz -O mipsel-fuloong-flash -o grub.img -d grub-core/
normal linux ata usb_keyboard ohci part_msdos ext2 xfs part_gpt ls halt
reboot usbms gzio

The resulting grub.img can be flashed using flashrom
http://flashrom.org/Flashrom. Be sure to have backup chip before
flashing. Fortunately the chip is socketed so you can easily replace it.
Although the image such created worked fine for me, it wasn't tested
enough yet so have a backup chip and please, report if you encounter any
problems.

Have fun

@Danny, @Lemote: is anybody interested in distributing Fuloongs with GRUB
@FSF, rms: if anybody distributes Fuloong this way can it be endorsed by
FSF?

--
Regards
Vladimir 'φ-coder/phcoder' Serbinenko


signature.asc

Roman Mamedov

unread,
May 16, 2011, 12:05:23 PM5/16/11
to loongs...@googlegroups.com, phc...@gmail.com, gnewsense-dev, rms / fsf sysadmin / fsf volunteers / lemote, The development of GRUB 2, Danny Clark
On Mon, 16 May 2011 11:12:42 +0200
Vladimir 'φ-coder/phcoder' Serbinenko <phc...@gmail.com> wrote:

> Hello all. As you all probably know the Floong as shipped by lemote uses
> a 64K binary blob to initialize the video which makes it non-free.
> Fortunately now there is an alternative: GRUB2.

Hello,

So you are replacing PMON with GRUB2, but are you sure the video BIOS is also
removed by this operation? And then, is it GRUB2 that initializes the video
chip instead of SiS BIOS, setting up VRAM timings, the video output, screen
mode, etc? Does it actually have special code for bringing up the SiS 315E?

> To generate firmware
> image do:
> bzr branch http://bzr.savannah.gnu.org/r/grub/trunk/grub
> cd grub
> ./configure --target=mipsel --with-platform=loongson
> make
> ./grub-mkimage -C xz -O mipsel-fuloong-flash -o grub.img -d grub-core/
> normal linux ata usb_keyboard ohci part_msdos ext2 xfs part_gpt ls halt
> reboot usbms gzio

Can you perhaps post a compiled firmware somewhere.

> The resulting grub.img can be flashed using flashrom
> http://flashrom.org/Flashrom. Be sure to have backup chip before
> flashing.

Also I believe it should be possible to chain-load this image from PMON for
testing, via the "load <filename>" command, and then "g".

--
With respect,
Roman

signature.asc

Vladimir 'φ-coder/phcoder' Serbinenko

unread,
May 16, 2011, 1:02:10 PM5/16/11
to Roman Mamedov, loongs...@googlegroups.com, gnewsense-dev, rms / fsf sysadmin / fsf volunteers / lemote, The development of GRUB 2, Danny Clark
On 16.05.2011 18:05, Roman Mamedov wrote:
> On Mon, 16 May 2011 11:12:42 +0200
> Vladimir 'φ-coder/phcoder' Serbinenko <phc...@gmail.com> wrote:
>
>> Hello all. As you all probably know the Floong as shipped by lemote uses
>> a 64K binary blob to initialize the video which makes it non-free.
>> Fortunately now there is an alternative: GRUB2.
> Hello,
>
> So you are replacing PMON with GRUB2, but are you sure the video BIOS is also
> removed by this operation?
I believe so. I couldn't find any other flash chip which could contain
it. The video chip is soldered on the board and has no flash nearby. The
Video BIOS I reverse engineered was recovered from pmon source tree. So
I suppose it is eradicated.

> And then, is it GRUB2 that initializes the video
> chip instead of SiS BIOS, setting up VRAM timings, the video output, screen
> mode, etc? Does it actually have special code for bringing up the SiS 315E?
>
Yes. It wasn't easy to figure out the right sequence to bring CR
(controller) up. Currently the only supported resolution is 640x480x8
and the parameters are precomputed. While not the nicest resolution it
should work with any monitor and is enough to show console (or menu).
Linux is able to change to any mode afterwards.

>> To generate firmware
>> image do:
>> bzr branch http://bzr.savannah.gnu.org/r/grub/trunk/grub
>> cd grub
>> ./configure --target=mipsel --with-platform=loongson
>> make
>> ./grub-mkimage -C xz -O mipsel-fuloong-flash -o grub.img -d grub-core/
>> normal linux ata usb_keyboard ohci part_msdos ext2 xfs part_gpt ls halt
>> reboot usbms gzio
> Can you perhaps post a compiled firmware somewhere.
>
Sorry but I'm on my way now and I don't have fuloong under my hand. I
could post the latest image that worked for me but it has no support for
compressed kernel (I didn't include gzio module)

>> The resulting grub.img can be flashed using flashrom
>> http://flashrom.org/Flashrom. Be sure to have backup chip before
>> flashing.
> Also I believe it should be possible to chain-load this image from PMON for
> testing, via the "load <filename>" command, and then "g".
>
Not this image. Image generated with -O mipsel-fuloong-flash has to be
flashed (it can start only from ROM and at fixed address). To generate
loadable image replace -O mipsel-fuloong-flash with -O
mipsel-fuloong-elf. It will create an image which is the same as ROM
image but in ELF format and without fwstart.S part.
signature.asc

Vladimir 'φ-coder/phcoder' Serbinenko

unread,
May 16, 2011, 1:36:10 PM5/16/11
to gnewsense-dev, rms / fsf sysadmin / fsf volunteers / lemote, loongs...@googlegroups.com, The development of GRUB 2, Danny Clark
> Be sure to have backup chip before
> flashing.
I really mean it. Failed flashing or failed image (since as of now there
is no release with fuloong support, so you have to use development
branch). Compatible chip is SST-39VF040. You can get them from Mouser
(USA) or Distrelec (Switzerland). I don't know about other countries.
Flashrom.org has instructions on how to do so called hot-swap flashing
which is the easiest way to create backup chip (also the way I used to
develop this piece of software in the first place).
signature.asc

Vladimir 'φ-coder/phcoder' Serbinenko

unread,
May 16, 2011, 3:45:56 PM5/16/11
to gnewsense-dev, rms / fsf sysadmin / fsf volunteers / lemote, loongs...@googlegroups.com, The development of GRUB 2, Danny Clark
On 16.05.2011 11:12, Vladimir 'φ-coder/phcoder' Serbinenko wrote:
> Hello all. As you all probably know the Floong as shipped by lemote uses
> a 64K binary blob to initialize the video which makes it non-free.
> Fortunately now there is an alternative: GRUB2. To generate firmware
> image do:
> bzr branch http://bzr.savannah.gnu.org/r/grub/trunk/grub
> cd grub
> ./configure --target=mipsel --with-platform=loongson
> make
> ./grub-mkimage -C xz -O mipsel-fuloong-flash -o grub.img -d grub-core/
> normal linux ata usb_keyboard ohci part_msdos ext2 xfs part_gpt ls halt
> reboot usbms gzio
This selection gives you a shell. On more ideas how to customize it a
page about our Coreboot port is handy (many parts are similar with some
adjustments, I'll write manual entry later):
http://74.6.238.254/search/srpcache?ei=UTF-8&p=http%3A%2F%2Fgrub.enbug.org%2FCoreBoot&u=http://cc.bingj.com/cache.aspx?q=http%3a%2f%2fgrub.enbug.org%2fCoreBoot&d=4866528855460123&mkt=en-US&setlang=en-US&w=2a582f22,ed203179&icp=1&.intl=us&sig=I2yqDI7Mj.pG4UxQZUE_PA--
(our server is down, it's link to a cached version)
signature.asc
Reply all
Reply to author
Forward
0 new messages