public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot-Users] [PATCH] ARTOS boot support for u-boot
@ 2003-04-17 12:17 Pantelis Antoniou
  2003-04-17 13:42 ` [U-Boot-Users] " Wolfgang Denk
  2003-04-20 13:55 ` [U-Boot-Users] " Wolfgang Denk
  0 siblings, 2 replies; 11+ messages in thread
From: Pantelis Antoniou @ 2003-04-17 12:17 UTC (permalink / raw)
  To: u-boot

Wolfgang hi

The following patch against u-boot-0.3.0 adds support for booting ARTOS 
images
using u-boot. ARTOS is a custom in-house operating system in use by my 
company.

We're in the process of moving some features of our in house boot-loader
over to u-boot. I present the features to the mailing list in case 
someone else
is working in anything similar, and would like to coordinate our efforts.

o VLAN support and TOS configuration and support.
o Two level access password support.
o Different boot-modes.
o Cisco router like command interface with history and command completion.
o UDP-based same-LAN terminal access.
o Factory testing framework.
o More DHCP parameters support.
o CDP support.
o DHCP lease time information passed to the loaded kernel.

Looking forward to hear your suggestions.

Regards

Pantelis










-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: u-boot-0.3.0-artos.patch
Url: http://lists.denx.de/pipermail/u-boot/attachments/20030417/4192894d/attachment.txt 

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [U-Boot-Users] Re: [PATCH] ARTOS boot support for u-boot
  2003-04-17 12:17 [U-Boot-Users] [PATCH] ARTOS boot support for u-boot Pantelis Antoniou
@ 2003-04-17 13:42 ` Wolfgang Denk
  2003-04-17 14:34   ` Pantelis Antoniou
  2003-04-20 13:55 ` [U-Boot-Users] " Wolfgang Denk
  1 sibling, 1 reply; 11+ messages in thread
From: Wolfgang Denk @ 2003-04-17 13:42 UTC (permalink / raw)
  To: u-boot

Dear Pantelis,

in message <3E9E9B5C.30904@intracom.gr> you wrote:
> 
> The following patch against u-boot-0.3.0 adds support for booting ARTOS 
> images
> using u-boot. ARTOS is a custom in-house operating system in use by my 
> company.

Thanks, I'll merge this into the CVS tree ASAP.

> We're in the process of moving some features of our in house boot-loader
> over to u-boot. I present the features to the mailing list in case 
> someone else
> is working in anything similar, and would like to coordinate our efforts.

OK.

> o VLAN support and TOS configuration and support.

What exactly do you mean? Please note that U-Boot does not implement,
or even attempt to implement, a full TCP/IP stack. We have  just  the
absolutely necessary minimum of UDP.

> o Two level access password support.

What do you mean with "two level"?

> o Different boot-modes.

Please explain. There already are different boot modes, with a lot of
configuration options depending on the specific board.

How good is your German? Can you parse board/lwmon/README.keybd ?

> o Cisco router like command interface with history and command completion.

But please do not try to add readline support - the readline  lib  is
way too big...

> o UDP-based same-LAN terminal access.

OK.

> o Factory testing framework.

Please see the existing POST code.

> o More DHCP parameters support.

Which ones are you missing?

> o CDP support.

CDP = Cisco Discovery Protocol? 

> o DHCP lease time information passed to the loaded kernel.

OK.

> Looking forward to hear your suggestions.

I don't understand some of your items, or why you  need  them.  Maybe
you  can explain. But as long as everything can be configured out, so
it does not affect the existing  code  in  terms  of  code  size  and
readability every contribution is welcome.

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88  Email: wd at denx.de
It's hard to make a program foolproof because fools are so ingenious.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [U-Boot-Users] Re: [PATCH] ARTOS boot support for u-boot
  2003-04-17 13:42 ` [U-Boot-Users] " Wolfgang Denk
@ 2003-04-17 14:34   ` Pantelis Antoniou
  2003-04-17 20:01     ` Wolfgang Denk
  0 siblings, 1 reply; 11+ messages in thread
From: Pantelis Antoniou @ 2003-04-17 14:34 UTC (permalink / raw)
  To: u-boot

Wolfgang Denk wrote:

>Dear Pantelis,
>
>in message <3E9E9B5C.30904@intracom.gr> you wrote:
>
>>The following patch against u-boot-0.3.0 adds support for booting ARTOS 
>>images
>>using u-boot. ARTOS is a custom in-house operating system in use by my 
>>company.
>>
>
>Thanks, I'll merge this into the CVS tree ASAP.
>
No, thank you...

>
>>We're in the process of moving some features of our in house boot-loader
>>over to u-boot. I present the features to the mailing list in case 
>>someone else
>>is working in anything similar, and would like to coordinate our efforts.
>>
>
>OK.
>
>
>>o VLAN support and TOS configuration and support.
>>
>
>What exactly do you mean? Please note that U-Boot does not implement,
>or even attempt to implement, a full TCP/IP stack. We have  just  the
>absolutely necessary minimum of UDP.
>
Yes, I understand about that. However our devices when deployed 
typically operate
on a VLAN, in order to not disrupt the normal IP traffic, or to be 
granted priority
over the other traffic. The amount of code is minimal, and only very few 
new environment
variables are needed.

>
>>o Two level access password support.
>>
>
>What do you mean with "two level"?
>
By two level I mean that when something is deployed normally there are 
two access
levels. One level is the user level, which is allowed to view settings 
and alter
very few parameters. The other level is the administrator level in which 
it is
permitted to do (almost) anything.

>
>>o Different boot-modes.
>>
>
>Please explain. There already are different boot modes, with a lot of
>configuration options depending on the specific board.
>
Sure. Depending on the deployment method for each site the configuration
of the devices differ.

For example when you do a trial deployment it is pretty normal to have every
device configured individually  by the  administration.  In normal operation
the devices operate using DHCP/TFTP for obtaining their settings. In both
of these modes password are honoured, and the booting of the kernel is
immediate
Developers in the other hand are working in a
different level and like access to everything including to be able to
do a full factory-type resetting of the paramers.

Think of it as simplified run-levels.

>
>How good is your German? Can you parse board/lwmon/README.keybd ?
>
My German is not existant unfortunately, but I'll pass it to a collegue 
who is fluent.

>
>>o Cisco router like command interface with history and command completion.
>>
>
>But please do not try to add readline support - the readline  lib  is
>way too big...
>
No it is not like readline. It is much more light-weight, the current 
version
weighs in at about 12k.

>
>>o UDP-based same-LAN terminal access.
>>
>
>OK.
>
>
>>o Factory testing framework.
>>
>
>Please see the existing POST code.
>
Thanks, I'll check it.

>
>>o More DHCP parameters support.
>>
>
>Which ones are you missing?
>
Some VoIP specific, and some Cisco specific ones.

>
>>o CDP support.
>>
>
>CDP = Cisco Discovery Protocol? 
>
Yes. This is required when the device is ethernet powered by a Cisco switch.
CDP is used to inform the switch for the device's power budget requirements.

>
>>o DHCP lease time information passed to the loaded kernel.
>>
>
>OK.
>
>
>>Looking forward to hear your suggestions.
>>
>
>I don't understand some of your items, or why you  need  them.  Maybe
>you  can explain. But as long as everything can be configured out, so
>it does not affect the existing  code  in  terms  of  code  size  and
>readability every contribution is welcome.
>
>Best regards,
>
>Wolfgang Denk
>
>
Forgot one more thing.

DNS lookup capability. Yes I know that it is strange but actually some DHCP
options can return hostnames so it is needed.

Most of these features deal with the deployment situation, of possibly 
hundred
of un-attended or minimally administrated devices. Or with the production
requirements of said devices.

Everything will be controlled by a CONFIG_ option, and I'll make every
effort to be as unobtrusive as possible to the rest of the code.

Wolfgang you are free to veto anything that you deem unacceptable;
the best I can do is to present my case for the inclusion of these features.

Regards

Pantelis

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [U-Boot-Users] Re: [PATCH] ARTOS boot support for u-boot
  2003-04-17 14:34   ` Pantelis Antoniou
@ 2003-04-17 20:01     ` Wolfgang Denk
  2003-04-18  6:59       ` Pantelis Antoniou
  0 siblings, 1 reply; 11+ messages in thread
From: Wolfgang Denk @ 2003-04-17 20:01 UTC (permalink / raw)
  To: u-boot

Dear Pantelis,

in message <3E9EBB5B.4030609@intracom.gr> you wrote:
> 
> >>o Two level access password support.
> >>
> >
> >What do you mean with "two level"?
> >
> By two level I mean that when something is deployed normally there are 
> two access
> levels. One level is the user level, which is allowed to view settings 
> and alter
> very few parameters. The other level is the administrator level in which 
> it is
> permitted to do (almost) anything.

I cannot see a way to implement this  without  dramatically  changing
the  functionality and code of U-Boot. You cannot easily restrict the
user from - for example - overwriting certain  environment  variables
without castrating him from the power of defining his own settings.

I feel when you need such a level of authentification then the  boot
loader is not the right environment for your task - use an OS.

> >>o Different boot-modes.
> >>
> >
> >Please explain. There already are different boot modes, with a lot of
> >configuration options depending on the specific board.
> >
> Sure. Depending on the deployment method for each site the configuration
> of the devices differ.
> 
> For example when you do a trial deployment it is pretty normal to have every
> device configured individually  by the  administration.  In normal operation
> the devices operate using DHCP/TFTP for obtaining their settings. In both
> of these modes password are honoured, and the booting of the kernel is
> immediate
> Developers in the other hand are working in a
> different level and like access to everything including to be able to
> do a full factory-type resetting of the paramers.
> 
> Think of it as simplified run-levels.

OK, but which of this part needs new or modified code? All  this  can
be done with U-Boot as is now.

> >How good is your German? Can you parse board/lwmon/README.keybd ?
> >
> My German is not existant unfortunately, but I'll pass it to a collegue 
> who is fluent.

Thanks. I guess I should provide an Engish version one day, too.  But
so  far,  all  our  customers  who  used  features like that are from
Germany, and insisted on German docs.

> >>o Cisco router like command interface with history and command completion.
> >
> >But please do not try to add readline support - the readline  lib  is
> >way too big...
> >
> No it is not like readline. It is much more light-weight, the current 
> version
> weighs in at about 12k.

Light-weight? Ummm... that's about 10 times (or more) the size of the
existing command line parser.

> DNS lookup capability. Yes I know that it is strange but actually some DHCP
> options can return hostnames so it is needed.

Really? Which one? (Which RFC?)

> Wolfgang you are free to veto anything that you deem unacceptable;
> the best I can do is to present my case for the inclusion of these features.

In general I follow the very simple principle that something which is
beneficial to one ore more people without hurting others is good  and
will be added. 

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88  Email: wd at denx.de
Prediction is very difficult, especially of the future.  - Niels Bohr

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [U-Boot-Users] Re: [PATCH] ARTOS boot support for u-boot
  2003-04-17 20:01     ` Wolfgang Denk
@ 2003-04-18  6:59       ` Pantelis Antoniou
  2003-04-18  9:58         ` Wolfgang Denk
  0 siblings, 1 reply; 11+ messages in thread
From: Pantelis Antoniou @ 2003-04-18  6:59 UTC (permalink / raw)
  To: u-boot

Wolfgang Denk wrote:

>Dear Pantelis,
>
>in message <3E9EBB5B.4030609@intracom.gr> you wrote:
>
>>>>o Two level access password support.
>>>>
>>>>
>>>What do you mean with "two level"?
>>>
>>>
>>By two level I mean that when something is deployed normally there are 
>>two access
>>levels. One level is the user level, which is allowed to view settings 
>>and alter
>>very few parameters. The other level is the administrator level in which 
>>it is
>>permitted to do (almost) anything.
>>
>
>I cannot see a way to implement this  without  dramatically  changing
>the  functionality and code of U-Boot. You cannot easily restrict the
>user from - for example - overwriting certain  environment  variables
>without castrating him from the power of defining his own settings.
>
>I feel when you need such a level of authentification then the  boot
>loader is not the right environment for your task - use an OS.
>
We already use an OS. The problem is that the device's user/person who
has physical access to it, is not supposed to be allowed to alter anything
in the configuration; especially the network settings, since an error there
will render the device unoperable.
Think access control on a router or something similar.

True, it's a problem on how to implement it cleanly. We'll see how that 
will
turn out. A first simple step will be to have a single password for
entering the command mode.

>
>>>>o Different boot-modes.
>>>>
>>>>
>>>Please explain. There already are different boot modes, with a lot of
>>>configuration options depending on the specific board.
>>>
>>>
>>Sure. Depending on the deployment method for each site the configuration
>>of the devices differ.
>>
>>For example when you do a trial deployment it is pretty normal to have every
>>device configured individually  by the  administration.  In normal operation
>>the devices operate using DHCP/TFTP for obtaining their settings. In both
>>of these modes password are honoured, and the booting of the kernel is
>>immediate
>>Developers in the other hand are working in a
>>different level and like access to everything including to be able to
>>do a full factory-type resetting of the paramers.
>>
>>Think of it as simplified run-levels.
>>
>
>OK, but which of this part needs new or modified code? All  this  can
>be done with U-Boot as is now.
>
Almost nothing actually, it's just a method of managing the existing 
settings
by using a master switch.

>
>>>How good is your German? Can you parse board/lwmon/README.keybd ?
>>>
>>>
>>My German is not existant unfortunately, but I'll pass it to a collegue 
>>who is fluent.
>>
>
>Thanks. I guess I should provide an Engish version one day, too.  But
>so  far,  all  our  customers  who  used  features like that are from
>Germany, and insisted on German docs.
>
>
>>>>o Cisco router like command interface with history and command completion.
>>>>
>>>But please do not try to add readline support - the readline  lib  is
>>>way too big...
>>>
>>>
>>No it is not like readline. It is much more light-weight, the current 
>>version
>>weighs in at about 12k.
>>
>
>Light-weight? Ummm... that's about 10 times (or more) the size of the
>existing command line parser.
>
Oh well, it's pretty light weight for what it does ;)

>
>>DNS lookup capability. Yes I know that it is strange but actually some DHCP
>>options can return hostnames so it is needed.
>>
>
>Really? Which one? (Which RFC?)
>
RFC2132

For example:

Option #66 TFTP Server Name
Option #69 SMTP Server Name
Option #70 POP3 Server Name
etc.

I know, only the first one is actually meaningful for a boot loader.

>>Wolfgang you are free to veto anything that you deem unacceptable;
>>the best I can do is to present my case for the inclusion of these features.
>>
>
>In general I follow the very simple principle that something which is
>beneficial to one ore more people without hurting others is good  and
>will be added. 
>
>Best regards,
>
>Wolfgang Denk
>
>
I know, and I appreciate it.

Regards

Pantelis

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [U-Boot-Users] Re: [PATCH] ARTOS boot support for u-boot
  2003-04-18  6:59       ` Pantelis Antoniou
@ 2003-04-18  9:58         ` Wolfgang Denk
  2003-04-18 10:31           ` Pantelis Antoniou
  0 siblings, 1 reply; 11+ messages in thread
From: Wolfgang Denk @ 2003-04-18  9:58 UTC (permalink / raw)
  To: u-boot

Hi,

in message <3E9FA26F.3000906@intracom.gr> you wrote:
> 
> We already use an OS. The problem is that the device's user/person who
> has physical access to it, is not supposed to be allowed to alter anything
> in the configuration; especially the network settings, since an error there
> will render the device unoperable.

In my opinion U-Boot is not the right user interface  for  such  use,
then.  It  is a monitor program / boot loader, the intention of which
is to provide direct access to the hardware. And with  direct  access
to the hardware you can easily work around security measures.

For example, will you disable memory dump/modify  commands?  Probably
not,  as  they  are  very useful to the user. So what prevents a user
from using "mm" or "mw" to directly modify the working  copy  of  the
environment variables in RAM?

I don't know what you want to do, but IMHO you can either prevent use
of the U-Boot command line interface completely, or you will have  to
live with the fact that a user can do things he should not do.


"UNIX was not designed to stop you from doing stupid things,  because
that would also stop you from doing clever things."       - Doug Gwyn


This applies for U-Boot, too.


> Think access control on a router or something similar.

Don't allow any access to the U-Boot user interface, then. Run  a  OS
on  top  of  it, and implement a web interface or something like that
where the user actions can be controlled on a higher level.


> True, it's a problem on how to implement it cleanly. We'll see how that 
> will
> turn out. A first simple step will be to have a single password for
> entering the command mode.

This has been available since long time ago. See "doc/README.autoboot".


A relatively unintrusive method couldbe to  change  the  "repeatable"
field  in "struct cmd_tbl_s" into a "flags" field, where 'repeatable'
is just one bit, and one (or more) other bit(s) are used to specify a
"security" level, to prevent  the  command  from  being  run  if  the
security level does not match.


> Almost nothing actually, it's just a method of managing the existing 
> settings
> by using a master switch.

I'm afraid this won't work as you  expect.  You  will  either  render
U-Boot  useless,  or  add  "security"  which  in fact is just window-
dressing.

You allow execution of any some, but not all  commands?  Be  careful,
even simple commands can be used to do "critical" things.

I don't need "setenv" to modify the environment. "mm" or "mw" will do.

I don't need "saveenv" to store the settings. "cp" or "eeprom  read",
"mm" or "mw", "crc32" and "cp" or "eeprom write" will do.

How do you save ypour passwords? Unencrypted in the  environment  (as
it is now the case) ? Guess how long I will need to find them!

You will add encryption? How will you manage passwords onthese  boxen
then,  in case the password was lost? Ah, you will implement a secret
master password? OK, I'll look it up in the source  code.  [And  you,
you MUST provide the full source code, this is GPL software.]


Sorry, but I really see no easy way to harden a box if you  open  the
U-Boot  command  line  interface  to  a customer. Change your design.
Don't use a chainsaw for jigsaw work.

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88  Email: wd at denx.de
Niklaus Wirth has lamented that, whereas Europeans pronounce his name
correctly (Ni-klows Virt), Americans invariably mangle it into (Nick-
les Worth). Which is to say that Europeans  call  him  by  name,  but
Americans call him by value.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [U-Boot-Users] Re: [PATCH] ARTOS boot support for u-boot
  2003-04-18  9:58         ` Wolfgang Denk
@ 2003-04-18 10:31           ` Pantelis Antoniou
  2003-04-18 11:25             ` Wolfgang Denk
  0 siblings, 1 reply; 11+ messages in thread
From: Pantelis Antoniou @ 2003-04-18 10:31 UTC (permalink / raw)
  To: u-boot

Wolfgang Denk wrote:

>Hi,
>
>in message <3E9FA26F.3000906@intracom.gr> you wrote:
>
>>We already use an OS. The problem is that the device's user/person who
>>has physical access to it, is not supposed to be allowed to alter anything
>>in the configuration; especially the network settings, since an error there
>>will render the device unoperable.
>>
>
>In my opinion U-Boot is not the right user interface  for  such  use,
>then.  It  is a monitor program / boot loader, the intention of which
>is to provide direct access to the hardware. And with  direct  access
>to the hardware you can easily work around security measures.
>
>For example, will you disable memory dump/modify  commands?  Probably
>not,  as  they  are  very useful to the user. So what prevents a user
>from using "mm" or "mw" to directly modify the working  copy  of  the
>environment variables in RAM?
>
>I don't know what you want to do, but IMHO you can either prevent use
>of the U-Boot command line interface completely, or you will have  to
>live with the fact that a user can do things he should not do.
>
>
>"UNIX was not designed to stop you from doing stupid things,  because
>that would also stop you from doing clever things."       - Doug Gwyn
>
>
>This applies for U-Boot, too.
>
>
I believe there's a misunderstanding here. I'm not talking about having
bulletproof security. A technical savy user which has physical access
to the device will be able to do what ever he/she want.

I just want to prevent casual tampering with the device settings.
This is not meant to keep something secret, but rather to keep
support costs low.

The two level security is probably overkill, but a single
level is necessary in my application.

>
>>Think access control on a router or something similar.
>>
>
>Don't allow any access to the U-Boot user interface, then. Run  a  OS
>on  top  of  it, and implement a web interface or something like that
>where the user actions can be controlled on a higher level.
>
>
Unfortunately the administrator or the support technicians need this access
sometimes for troubleshooting, when the web interface is not available
because of faulty network settings, or some network topology change.

>
>>True, it's a problem on how to implement it cleanly. We'll see how that 
>>will
>>turn out. A first simple step will be to have a single password for
>>entering the command mode.
>>
>
>This has been available since long time ago. See "doc/README.autoboot".
>
I see nothing there about a password, and I'm aware of the autoboot feature.

>
>
>A relatively unintrusive method couldbe to  change  the  "repeatable"
>field  in "struct cmd_tbl_s" into a "flags" field, where 'repeatable'
>is just one bit, and one (or more) other bit(s) are used to specify a
>"security" level, to prevent  the  command  from  being  run  if  the
>security level does not match.
>
>
Nice idea.

>
>>Almost nothing actually, it's just a method of managing the existing 
>>settings
>>by using a master switch.
>>
>
>I'm afraid this won't work as you  expect.  You  will  either  render
>U-Boot  useless,  or  add  "security"  which  in fact is just window-
>dressing.
>
>You allow execution of any some, but not all  commands?  Be  careful,
>even simple commands can be used to do "critical" things.
>
>I don't need "setenv" to modify the environment. "mm" or "mw" will do.
>
>I don't need "saveenv" to store the settings. "cp" or "eeprom  read",
>"mm" or "mw", "crc32" and "cp" or "eeprom write" will do.
>
>How do you save ypour passwords? Unencrypted in the  environment  (as
>it is now the case) ? Guess how long I will need to find them!
>
>You will add encryption? How will you manage passwords onthese  boxen
>then,  in case the password was lost? Ah, you will implement a secret
>master password? OK, I'll look it up in the source  code.  [And  you,
>you MUST provide the full source code, this is GPL software.]
>
>
The passwords will be stored encrypted.

There will be no master passwords. If the password is lost
a button pressed during the boot sequence, or a key sequence will
reset the device state to that after it left the factory.
It is then up to the administrator to restore the device to
functional status.

At a site the passwords are the same for each device. It's not
like each device will have it's own different password.

And yes, the full source code will be provided.

>
>Sorry, but I really see no easy way to harden a box if you  open  the
>U-Boot  command  line  interface  to  a customer. Change your design.
>Don't use a chainsaw for jigsaw work.
>
I don't intent to do that. I am not striving for maximum security,
just a way to prevent non determined people of messing with their device
out of boredom.

Site security is a problem for the resident BOFH.
I just have to provide him/her with the tools to do their job.

>
>Best regards,
>
>Wolfgang Denk
>
>
Regards

Pantelis

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [U-Boot-Users] Re: [PATCH] ARTOS boot support for u-boot
  2003-04-18 10:31           ` Pantelis Antoniou
@ 2003-04-18 11:25             ` Wolfgang Denk
  0 siblings, 0 replies; 11+ messages in thread
From: Wolfgang Denk @ 2003-04-18 11:25 UTC (permalink / raw)
  To: u-boot

In message <3E9FD3EE.4090402@intracom.gr> you wrote:
> 
> The two level security is probably overkill, but a single
> level is necessary in my application.

This is already avaiulable right now - it's a config option. You  can
configure  U-Boot  such that you need to know the password to be able
to interrupt the autoboot procedure.

> >Don't allow any access to the U-Boot user interface, then. Run  a  OS
> >on  top  of  it, and implement a web interface or something like that
> >where the user actions can be controlled on a higher level.
> >
> Unfortunately the administrator or the support technicians need this access
> sometimes for troubleshooting, when the web interface is not available
> because of faulty network settings, or some network topology change.

Then give your administrators as much trainung and  documentation  as
is  necessary  to understand what they are doing, and to recover from
bad settings. For example, you can provide a script image which  sets
the  default  parameters,  and instruct your admins to "run defaults"
when necessary. This "default settings script image" can even be made
board-specific (if you use some automated mechanism to generate it).

There are so many options available right now - don;t  implement  new
stuff when just combining existing solutions is sufficient.

> >This has been available since long time ago. See "doc/README.autoboot".
> >
> I see nothing there about a password, and I'm aware of the autoboot feature.

Read the description  for  the  CONFIG_AUTOBOOT_KEYED  config  option
combined  with the CONFIG_AUTOBOOT_DELAY_STR config option and/or the
bootdelaykey environment variable.

They name might be a bit strange, but bootdelaykey == password.

> The passwords will be stored encrypted.
> 
> There will be no master passwords. If the password is lost
> a button pressed during the boot sequence, or a key sequence will
> reset the device state to that after it left the factory.
> It is then up to the administrator to restore the device to
> functional status.

If you have this reset option, then what's the problem at all with  a
dumb  admin  messing  with  the  settings? Let him reset the box, and
restore it to functional status.?


> At a site the passwords are the same for each device. It's not
> like each device will have it's own different password.

Sounds like "security by obscurity" to me.

> I don't intent to do that. I am not striving for maximum security,
> just a way to prevent non determined people of messing with their device
> out of boredom.

Then enable CONFIG_AUTOBOOT_KEYED in your consiguration (means add  a
simple  password  protection), and that's all. This will prevent most
things at low (zero) cost.

> Site security is a problem for the resident BOFH.
> I just have to provide him/her with the tools to do their job.

Keep it simple, though.

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88  Email: wd at denx.de
"Deliver yesterday, code today, think tomorrow."

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [U-Boot-Users] [PATCH] ARTOS boot support for u-boot
  2003-04-17 12:17 [U-Boot-Users] [PATCH] ARTOS boot support for u-boot Pantelis Antoniou
  2003-04-17 13:42 ` [U-Boot-Users] " Wolfgang Denk
@ 2003-04-20 13:55 ` Wolfgang Denk
  2003-04-21  7:34   ` Pantelis Antoniou
  1 sibling, 1 reply; 11+ messages in thread
From: Wolfgang Denk @ 2003-04-20 13:55 UTC (permalink / raw)
  To: u-boot

Dear Pantelis,

in message <3E9E9B5C.30904@intracom.gr> you wrote:
> 
> The following patch against u-boot-0.3.0 adds support for booting ARTOS 
> images
> using u-boot. ARTOS is a custom in-house operating system in use by my 
> company.

I will not add  the  patch  for  now,  as  it  contains  some  severe
problems:

> +	/*
> +	 * Booting an ARTOS kernel image + application
> +	 */
> +
> +	/* place data at the top of memory */
> +	top = gd->bd->bi_memstart + gd->bd->bi_memsize;
> +
> +	/* first check the artos specific boot args, then the linux args*/
> +	if ((s = getenv("abootargs")) == NULL && (s = getenv("bootargs")) == NULL)
> +		s = "";
> +
> +	/* get length of cmdline, and place it */
> +	len = strlen(s);
> +	top = (top - (len + 1)) & ~0xF;
> +	cmdline = (char *)top;
> +	debug ("## cmdline at 0x%08lX ", top);
> +	strcpy(cmdline, s);
^^^^^^^^^^^^^^^^^^^^^^^^^^^
> +	/* copy bdinfo */
> +	top = (top - sizeof(bd_t)) & ~0xF;
> +	debug ("## bd at 0x%08lX ", top);
> +	kbd = (bd_t *)top;
> +	memcpy(kbd, gd->bd, sizeof(bd_t));
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

You cannot do that. U-Boot copies itself to the top of memory, so you
are overwriting U-Boot's data here. It was pure luck  if  this  wrked
for you. but the behaviour is completely undefined.

Please implement this in a way that is compatible to U-Boot's memory
map.

Also, since this is a proprietary OS with a very limited  propagation
I  would  like to ask to make the ARTOS boot code configurable, i. e.
add a #define so it can enabled it in the board config file, but will
not add to the code size for those systems that don't want it.

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88  Email: wd at denx.de
It seems intuitively obvious to me, which  means  that  it  might  be
wrong.                                                 -- Chris Torek

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [U-Boot-Users] [PATCH] ARTOS boot support for u-boot
  2003-04-20 13:55 ` [U-Boot-Users] " Wolfgang Denk
@ 2003-04-21  7:34   ` Pantelis Antoniou
  2003-05-20 13:16     ` Wolfgang Denk
  0 siblings, 1 reply; 11+ messages in thread
From: Pantelis Antoniou @ 2003-04-21  7:34 UTC (permalink / raw)
  To: u-boot

Wolfgang Denk wrote:

>Dear Pantelis,
>
>in message <3E9E9B5C.30904@intracom.gr> you wrote:
>  
>
>>The following patch against u-boot-0.3.0 adds support for booting ARTOS 
>>images
>>using u-boot. ARTOS is a custom in-house operating system in use by my 
>>company.
>>    
>>
>
>I will not add  the  patch  for  now,  as  it  contains  some  severe
>problems:
>  
>
Correct.

>  
>
>>+	/*
>>+	 * Booting an ARTOS kernel image + application
>>+	 */
>>+
>>+	/* place data at the top of memory */
>>+	top = gd->bd->bi_memstart + gd->bd->bi_memsize;
>>+
>>+	/* first check the artos specific boot args, then the linux args*/
>>+	if ((s = getenv("abootargs")) == NULL && (s = getenv("bootargs")) == NULL)
>>+		s = "";
>>+
>>+	/* get length of cmdline, and place it */
>>+	len = strlen(s);
>>+	top = (top - (len + 1)) & ~0xF;
>>+	cmdline = (char *)top;
>>+	debug ("## cmdline at 0x%08lX ", top);
>>+	strcpy(cmdline, s);
>>    
>>
>^^^^^^^^^^^^^^^^^^^^^^^^^^^
>  
>
>>+	/* copy bdinfo */
>>+	top = (top - sizeof(bd_t)) & ~0xF;
>>+	debug ("## bd at 0x%08lX ", top);
>>+	kbd = (bd_t *)top;
>>+	memcpy(kbd, gd->bd, sizeof(bd_t));
>>    
>>
>^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
>You cannot do that. U-Boot copies itself to the top of memory, so you
>are overwriting U-Boot's data here. It was pure luck  if  this  wrked
>for you. but the behaviour is completely undefined.
>
>Please implement this in a way that is compatible to U-Boot's memory
>map.
>
>Also, since this is a proprietary OS with a very limited  propagation
>I  would  like to ask to make the ARTOS boot code configurable, i. e.
>add a #define so it can enabled it in the board config file, but will
>not add to the code size for those systems that don't want it.
>
>Best regards,
>
>Wolfgang Denk
>
>  
>
Points addressed with this patch.

That it worked the first time was very lucky indeed.

Regards


-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: u-boot-0.3.0-artos-v2.patch
Url: http://lists.denx.de/pipermail/u-boot/attachments/20030421/097e7518/attachment.txt 

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [U-Boot-Users] [PATCH] ARTOS boot support for u-boot
  2003-04-21  7:34   ` Pantelis Antoniou
@ 2003-05-20 13:16     ` Wolfgang Denk
  0 siblings, 0 replies; 11+ messages in thread
From: Wolfgang Denk @ 2003-05-20 13:16 UTC (permalink / raw)
  To: u-boot

Dear Pantelis,

in message <3EA39F0C.2050509@intracom.gr> you wrote:
>
> Points addressed with this patch.
> 
> That it worked the first time was very lucky indeed.

Added to local tree. Will push to public CVS server soon.

Sorry it took so long.

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88  Email: wd at denx.de
Philosophy is a game with objectives and no rules.
Mathematics is a game with rules and no objectives.

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2003-05-20 13:16 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-04-17 12:17 [U-Boot-Users] [PATCH] ARTOS boot support for u-boot Pantelis Antoniou
2003-04-17 13:42 ` [U-Boot-Users] " Wolfgang Denk
2003-04-17 14:34   ` Pantelis Antoniou
2003-04-17 20:01     ` Wolfgang Denk
2003-04-18  6:59       ` Pantelis Antoniou
2003-04-18  9:58         ` Wolfgang Denk
2003-04-18 10:31           ` Pantelis Antoniou
2003-04-18 11:25             ` Wolfgang Denk
2003-04-20 13:55 ` [U-Boot-Users] " Wolfgang Denk
2003-04-21  7:34   ` Pantelis Antoniou
2003-05-20 13:16     ` Wolfgang Denk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox