mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-20 17:08:52 +09:00
![Robin Getz](/assets/img/avatar_default.png)
On 04 Oct 2008 Pieter posted a dns implementation for U-Boot. http://www.mail-archive.com/u-boot-users@lists.sourceforge.net/msg10216.html > > DNS can be enabled by setting CFG_CMD_DNS. After performing a query, > the serverip environment var is updated. > > Probably there are some cosmetic issues with the patch. Unfortunatly I > do not have the time to correct these. So if anybody else likes DNS > support in U-Boot and has the time, feel free to patch it in the main tree. Here it is again - slightly modified & smaller: - update to 2009-06 (Pieter's patch was for U-Boot 1.2.0) - README.dns is added - syntax is changed (now takes a third option, the env var to store the result in) - add a random port() function in net.c - sort Makefile in ./net/Makefile - dns just returns unless a env var is given - run through checkpatch, and clean up style issues - remove packet from stack - cleaned up some comments - failure returns much faster (if server responds, don't wait for timeout) - use built in functions (memcpy) rather than byte copy. Signed-off-by: Robin Getz <rgetz@blackfin.uclinux.org> Signed-off-by: Pieter Voorthuijsen <pieter.voorthuijsen@prodrive.nl> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
65 lines
2.2 KiB
Plaintext
65 lines
2.2 KiB
Plaintext
Domain Name System
|
|
-------------------------------------------
|
|
|
|
The Domain Name System (DNS) is a hierarchical naming system for computers,
|
|
services, or any resource participating in the Internet. It associates various
|
|
information with domain names assigned to each of the participants. Most
|
|
importantly, it translates domain names meaningful to humans into the numerical
|
|
(binary) identifiers associated with networking equipment for the purpose of
|
|
locating and addressing these devices world-wide. An often used analogy to
|
|
explain the Domain Name System is that it serves as the "phone book" for the
|
|
Internet by translating human-friendly computer hostnames into IP addresses.
|
|
For example, www.example.com translates to 208.77.188.166.
|
|
|
|
For more information on DNS - http://en.wikipedia.org/wiki/Domain_Name_System
|
|
|
|
|
|
|
|
U-Boot and DNS
|
|
------------------------------------------
|
|
|
|
CONFIG_CMD_DNS - controls if the 'dns' command is compiled in. If it is, it
|
|
will send name lookups to the dns server (env var 'dnsip')
|
|
Turning this option on will about abou 1k to U-Boot's size.
|
|
|
|
Example:
|
|
|
|
bfin> print dnsip
|
|
dnsip=192.168.0.1
|
|
|
|
bfin> dns www.google.com
|
|
66.102.1.104
|
|
|
|
By default, dns does nothing except print the IP number on
|
|
the default console - which by itself, would be pretty
|
|
useless. Adding a third argument to the dns command will
|
|
use that as the environment variable to be set.
|
|
|
|
Example:
|
|
|
|
bfin> print googleip
|
|
## Error: "googleip" not defined
|
|
bfin> dns www.google.com googleip
|
|
64.233.161.104
|
|
bfin> print googleip
|
|
googleip=64.233.161.104
|
|
bfin> ping ${googleip}
|
|
Using Blackfin EMAC device
|
|
host 64.233.161.104 is alive
|
|
|
|
In this way, you can lookup, and set many more meaningful
|
|
things.
|
|
|
|
bfin> sntp
|
|
ntpserverip not set
|
|
bfin> dns pool.ntp.org ntpserverip
|
|
72.18.205.156
|
|
bfin> sntp
|
|
Date: 2009-07-18 Time: 4:06:57
|
|
|
|
For some helpful things that can be related to DNS in U-Boot,
|
|
look at the top level README for these config options:
|
|
CONFIG_CMD_DHCP
|
|
CONFIG_BOOTP_DNS
|
|
CONFIG_BOOTP_DNS2
|