Config Linux BIOS: Is it possible (Re: [OLPC-devel] DOS in Windows Flash Disaster Recovery Utility?

supat at supat.eu.org supat at supat.eu.org
Wed Sep 6 00:16:57 EDT 2006



On Tue, 5 Sep 2006, Jim Gettys wrote:

> On Mon, 2006-09-04 at 21:05 -0800, supat at supat.eu.org wrote:
>>
>> On Mon, 4 Sep 2006, James Cameron wrote:
>>
>>> On Mon, Sep 04, 2006 at 02:22:00PM -0800, supat at supat.eu.org wrote:
>>>> After I burn OLPC to Linux BIOS, seem it is always has error messages at
>>>> the beginning like:
>>>>
>>>> ACPI ... DSCP not found ??
>>>
>>> I don't get this message, and besides since ACPI is not planned to be
>>> present I wouldn't be concerned if I did see such a message.  Does the
>>> system boot anyway?  When during the boot process do you see this
>>> message?  What are you booting?
>>>
>>
>> I am careless. The exact words is what you said "ACPI: Unable to locate
>> RSDP"
>>
>> Can this cause problem to slackware to be unable to find the firmware?
>
> Seems unlikely.
>
>>
>>
>>> Booting build 81 shows in dmesg "ACPI: Unable to locate RSDP", and
>>> "ACPI: Interpreter disabled."  This is expected.
>>>
>>>> I press F1 and it has only images.
>>>
>>> This seems normal.  F1 enters the image menu, then you use left and
>>> right arrow keys to select an image.  The last image, on my board, gives
>>> a LinuxBIOS shell prompt.
>>
>>
>> Even not press the arrows finally it will boot USB after cannot find the
>> NAND memory devices.
>>
>> a LinuxBIOS shell prompt?
>>
>> I will not call it. Because boot from utotu CD or slak CD can have the
>> same initrd shell.
>
> You must be using fbdev after LinuxBIOS is installed: there is no VESA
> support in our LinuxBIOS load.
>
>>
>> IMO: Linux shell prompt should be capable to config some things like
>> change date, change CPU speed, change boot priority, etc.
>
> Changing date should be done from Linux; there is no need for setting it
> in the BIOS.
>
> Which device is booted is determined by shell scripts in the Linux that
> is the payload of LinuxBIOS.  If you want to implement such
> functionality, you are welcome to help.
>
>>
>>>> I am not sure that is feature or bug.
>>>
>>> It seems to be a feature.
>>
>> OK. Thank you to let me know my BIOS linux is normal.
>>
>>>
>>>> Could you please verify me that :
>>>> There is no way under linux BIOS to config the OLPC devices?
>>>
>>> Perhaps the source code would show what it is capable of, or perhaps we
>>> need to wait for documentation on what configuration options are
>>> available.  Is there any reason you need to configure devices?  Why
>>> shouldn't Linux be able to do this configuration?  We control the BIOS,
>>> there seems no justification for device configuration functionality.
>>
>> Earlier BIOS control Marvell Wireless by reset or power-off.
>> Now. Fedora can control Marvell Wireless completely in good shape w/o need
>> reset/power-off but unfortunately I cannot find out how slackware can do
>> the same :(
>
> It is slackware's responsibility to pick up device drivers for OLPC, at
> least until they enter the kernel.org source pool.  I know Marcelo has
> been planning some further cleanup of the driver before submission to
> kernel.org.
>
>>
>>>> If so, after I power-off, is thare any way to bring back the old BIOS.
>>>
>>> Perhaps.  I've not tested it, and I'm not willing to.  You should be
>>> able to boot from the same filesystem you did the olpcflash commands on.
>>> But why would you need to do this at all?  Why do you need ACPI?
>>
>> I don't know. Because I only see that error and that error correlated or
>> co-incident with slackware become unable to make usb8xxx to work
>> correctly. :(
>
> I don't know what you mean by usb8xxx.
>
> As Marcelo notes,
>
> 1) cat /proc/bus/usb/devices
>
> 2) dmesg

Under OLPC using slackware /proc/bus/usb/devices did NOT exist.
The kernel and initrd on slackware that did not run OLPC produce below cat 
/proc/bus/usb/devices:

...

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  3 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=0930 ProdID=653d Rev= 2.00
S:  Manufacturer=KINGSTON
S:  Product=DataTraveler I
S:  SerialNumber=0F80D4604162E493
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr= 94mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
....


dmesg on slackware OLPC using my bzImage produce:

ide_scsi: Unknown symbol kmap_atomic
ide_scsi: Unknown symbol kunmap_atomic
ide_scsi: Unknown symbol page_address
ipv6: Unknown symbol page_address
ipv6: Unknown symbol page_address
request_firmware() failed, error code = 0xfffffffe
usb8388.bin not found in /lib/firmware
unregister_netdevice: device eth%d/c7259000 never was registered
usb8xxx: probe of 1-4:1.0 failed with error -12
usbcore: registered new driver usb8xxx

...

dmesg on slackware OLPC using my original olpc_vmlinuz produce:


PM: Removing info for No Bus:target0:0:6
PM: Adding info for No Bus:target0:0:7
PM: Removing info for No Bus:target0:0:7
usb-storage: device scan complete
Adding 44632k swap on /dev/sda2.  Priority:-1 extents:1 across:44632k
NET: Registered protocol family 10
lo: Disabled Privacy Extensions
IPv6 over IPv4 tunneling driver
usb8xxx: probe of 1-4:1.0 failed with error -12
usbcore: registered new driver usb8xxx

------------

I see that under slackware BUS of usb8388 did not exist :(

Please help.

the kernal loading command is identical to your original:

#!/bin/sh

ROOTFS=/key
ROOT=LABEL=OLPCRoot
ROOTFSTYPE=ext3
if [ -d /flash/boot ] ; then
     ROOTFS=/flash
     ROOT=mtd0
     ROOTFSTYPE=jffs2
fi

/sbin/kbl-kexec $ROOTFS/boot/olpc-vmlinuz "ro quiet root=$ROOT 
rootfstype=$ROOTF
STYPE console=ttyS0,115200 console=tty0 fbcon=font:SUN12x22 pci=nobios 
video=gxf
b:1024x768-16" $ROOTFS/boot/olpc-initrd.img

regards,
supat



More information about the Devel mailing list