프로그램 사용/u-boot2016. 12. 14. 17:41

nand 자체를 초기화 하는 명령어

배드 섹터 넘쳐 날때 해주면 초기화 하는데

생겨나는건 여전...


# nand scrub


NAND scrub: device 0 whole chip

Warning: scrub option will erase all factory set bad blocks!

         There is no reliable way to recover them.

         Use this command only for testing purposes if you

         are sure of what you are doing!


Really scrub this NAND flash? <y/N>

Erasing at 0xffe0000 -- 100% complete.

OK 


[링크 : http://www.stlinux.com/howto/NAND/clean]

[링크 : http://damduc.tistory.com/317]

'프로그램 사용 > u-boot' 카테고리의 다른 글

uboot filesize 환경변수  (0) 2016.11.17
tftpd-hpa  (0) 2016.11.08
ubuntu 12.04 xinetd/tftpd 느린 이유  (0) 2016.11.08
uboot bootargs 기본값 설정하기  (0) 2015.02.09
uboot 메모리 관련 명령어  (0) 2015.01.08
Posted by 구차니
프로그램 사용/u-boot2016. 11. 17. 18:38

filesize 라는 변수가 매번 바뀌나 궁금해서 검색

한마디로.. bootp나 dhcp tftp로 받은 마지막 파일 사이즈 라는 의미


filesize: Size (as hex number in bytes) of the file downloaded using the last bootp, dhcp, or tftp command.

[링크 : http://www.denx.de/wiki/DULG/UBootEnvVariables]



+

nand에 구울때

nand write.yaffs ${fileaddr} 0x400000 ${filesize};

이런식으로 하는게 안전할 듯(tftp로 받아와서 쓰는데 용량 크기가 안 맞아서.. ㅠㅠ

'프로그램 사용 > u-boot' 카테고리의 다른 글

uboot nand scrub  (0) 2016.12.14
tftpd-hpa  (0) 2016.11.08
ubuntu 12.04 xinetd/tftpd 느린 이유  (0) 2016.11.08
uboot bootargs 기본값 설정하기  (0) 2015.02.09
uboot 메모리 관련 명령어  (0) 2015.01.08
Posted by 구차니
프로그램 사용/u-boot2016. 11. 8. 15:09

tftpd-hpa를 설치하면 자동으로 tftpd가 삭제된다.

$ sudo apt-cache search tftpd

tftpd-hpa - HPA's tftp server

atftpd - advanced TFTP server

libnet-tftpd-perl - Perl extension for Trivial File Transfer Protocol Server

tftpd - Trivial file transfer protocol server

uec-provisioning-tftpd - the UEC Provisioning TFTP server 


글들을 보다 보니 --create가 TFTP_OPTIONS에 없으면 업로드 불가하다고 한다.

일단 nobody로 권한 통일

tftpd-hpa 설정파일 수정해주고

$ sudo vi /etc/default/tftpd-hpa

# /etc/default/tftpd-hpa


TFTP_USERNAME="nobody"

TFTP_DIRECTORY="/tftpboot"

TFTP_ADDRESS="0.0.0.0:69"

TFTP_OPTIONS="--secure"


xinetd 에서 서버 인자에 -B로 블럭 사이즈 늘려주고

$ sudo vi /etc/xinetd.d/tftp

service tftp

{

   protocol = udp

   socket_type = dgram

   wait = yes

   server = /usr/sbin/in.tftpd

   server_args = -s /tftpboot -B 1468

   disable = no

   user = nobody


그럼 tftpd 쓸때 보다 빠르게 올려진다.

[링크 : http://poohyhoh.blogspot.com/2011/01/1010-tftp.html]

[링크 : http://rookiecj.tistory.com/256]

[링크 : http://bluemir7.tistory.com/106]


2012/04/11 - [Linux/Ubuntu] - ubuntu 11.10 에 tftp 설치하기



+

2016.11.09

-B 512 해도 비슷한 시간으로 받아진다.

'프로그램 사용 > u-boot' 카테고리의 다른 글

uboot nand scrub  (0) 2016.12.14
uboot filesize 환경변수  (0) 2016.11.17
ubuntu 12.04 xinetd/tftpd 느린 이유  (0) 2016.11.08
uboot bootargs 기본값 설정하기  (0) 2015.02.09
uboot 메모리 관련 명령어  (0) 2015.01.08
Posted by 구차니
프로그램 사용/u-boot2016. 11. 8. 10:53

설명 상으로는 server_args에 넣으면 될 거 같은데

--blocksize max-block-size, -B max-block-size

Specifies the maximum permitted block size. The permitted range for this parameter is from 512 to 65464. Some embedded clients request large block sizes and yet do not handle fragmented packets correctly; for these clients, it is recommended to set this value to the smallest MTU on your network minus 32 bytes (20 bytes for IP, 8 for UDP, and 4 for TFTP; less if you use IP options on your network.) For example, on a standard Ethernet (MTU 1500) a value of 1468 is reasonable. 

[링크 : https://linux.die.net/man/8/in.tftpd]


12.04 에서는 blksize 옵션이 지원안하나?

[링크 : http://askubuntu.com/questions/644031/tftpd-hpa-how-can-i-set-blksize-option]


tftpd32 for win으로 받으면 이런 로그가 뜨는데 블럭 사이즈가 1468로 늘어나 있다.

Connection received from 192.168.10.184 on port 1084 [08/11 10:59:16.826]

Read request for file <tt.yaffs2>. Mode octet [08/11 10:59:16.827]

OACK: <timeout=1,tsize=43625472,blksize=1468,> [08/11 10:59:16.827]

Using local port 56906 [08/11 10:59:16.827]

TIMEOUT waiting for Ack block #6872  [08/11 10:59:29.583] 


블럭 사이즈는 512가 기본.. 1468은 1MTU

[링크 : https://blackfin.uclinux.org/doku.php?id=setting_up_a_tftp_server]


12.04에서 man으로 보니 BSD쪽 tftpd라 표준을 따르는 듯?

TFTPD(8)                BSD System Manager's Manual                TFTPD(8)


NAME

     tftpd — DARPA Trivial File Transfer Protocol server


SYNOPSIS

     tftpd [-n] [-s] [directory ...]


DESCRIPTION

     Tftpd is a server which supports the DARPA Trivial File Transfer Pro‐

     tocol.  The TFTP server operates at the port indicated in the ‘tftp’

     service description; see services(5).  The server is normally started

     by inetd(8).


     The use of tftp(1) does not require an account or password on the

     remote system.  Due to the lack of authentication information, tftpd

     will allow only publicly readable files to be accessed.  Files may be

     written only if they already exist and are publicly writable.  Note

     that this extends the concept of “public” to include all users on all

     hosts that can be reached through the network; this may not be appro‐

     priate on all systems, and its implications should be considered

     before enabling tftp service.  The server should have the user ID with

     the lowest possible privilege.


     Access to files may be controlled by invoking tftpd with a list of

     directories by including pathnames as server program arguments in

     /etc/inetd.conf.  In this case access is restricted to files whose

     names are prefixed by the one of the given directories. If no directo‐

     ries are supplied the default is /tftpboot.  To give out access to the

     whole filesystem, should this be desired for some reason, supply / as

     an argument.


     Unfortunately, on multi-homed systems, it is impossible for tftpd to

     determine the address on which a packet was received. As a result,

     tftpd uses two different mechanisms to guess the best source address

     to use for replies. If the socket that inetd(8) passed to tftpd is

     bound to a particular address, tftpd uses that address for replies.

     Otherwise, tftpd uses ``UDP connect'' to let the kernel choose the

     reply address based on the destination of the replies and the routing

     tables. This means that most setups will work transparently, while in

     cases where the reply address must be fixed, the virtual hosting fea‐

     ture of inetd(8) can be used to ensure that replies go out from the

     correct address.  These considerations are important, because most

     tftp clients will reject reply packets that appear to come from an

     unexpected address.


     The options are:


     -n      Suppresses negative acknowledgement of requests for nonexis‐

             tent relative filenames.


     -s      All absolute filenames are treated as if they were preceded by

             the first directory argument, or /tftpboot if there is none.


SEE ALSO

     tftp(1), inetd(8)


HISTORY

     The tftpd command appeared in 4.2BSD.


Linux NetKit (0.17)            July 29, 2000            Linux NetKit (0.17)


tftpd 클라이언트로 받아보니 이렇게 뜬다.

tftp> get tt.yaffs2

getting from localhost:tt.yaffs2 to tt.yaffs2 [netascii]

sent RRQ <file=tt.yaffs2, mode=netascii>

received DATA <block=10926, 512 bytes>

discarded 2 packets

received DATA <block=1, 512 bytes>

sent ACK <block=1> 

RFC에 따라 512 byte가 기본인듯



물론 

ubuntu 12.04 tftp 를 이용해서 tftpd32의 것을 받으니.. 여전히 512로 받는데..

클라이언트와 서버 둘다 표준을 준수하는(?) 착한 녀석들 이라 그런 듯

'프로그램 사용 > u-boot' 카테고리의 다른 글

uboot filesize 환경변수  (0) 2016.11.17
tftpd-hpa  (0) 2016.11.08
uboot bootargs 기본값 설정하기  (0) 2015.02.09
uboot 메모리 관련 명령어  (0) 2015.01.08
u-boot 포팅 가이드  (0) 2013.08.31
Posted by 구차니

include/configs 의 헤더 파일에서 찾으면 됨 -_-a


#define CONFIG_EXTRA_ENV_SETTINGS                                       \

                "netdev=eth0\0"                                         \

                "ethprime=FEC0\0"                                       \

                "uboot_addr=0xa0000000\0"                               \

                "uboot=u-boot.bin\0"                    \

                "kernel=uImage\0"                               \

                "bootargs_base=setenv bootargs console=ttymxc0,115200\0"\

                "bootargs_nfs=setenv bootargs ${bootargs} root=/dev/nfs "\

                        "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0"\

                "bootcmd=run bootcmd_mmc\0"                             \

                "bootcmd_net=run bootargs_base bootargs_nfs; "          \

                        "tftpboot ${loadaddr} ${kernel}; bootm\0"       \

                "load_uboot=tftpboot ${loadaddr} ${uboot}\0"            \ 


imx515는 기본값이 네트워크 부팅이구나 -_-


'프로그램 사용 > u-boot' 카테고리의 다른 글

tftpd-hpa  (0) 2016.11.08
ubuntu 12.04 xinetd/tftpd 느린 이유  (0) 2016.11.08
uboot 메모리 관련 명령어  (0) 2015.01.08
u-boot 포팅 가이드  (0) 2013.08.31
u-boot 설명서  (0) 2013.06.21
Posted by 구차니


> help

?       - alias for 'help'

autoscr - DEPRECATED - use "source" command instead

base    - print or set address offset

bdinfo  - print Board Info structure

boot    - boot default, i.e., run 'bootcmd'

bootd   - boot default, i.e., run 'bootcmd'

bootm   - boot application image from memory

bootp   - boot image via network using BOOTP/TFTP protocol

cmp     - memory compare

coninfo - print console devices and information

cp      - memory copy

crc32   - checksum calculation

dhcp    - boot image via network using DHCP/TFTP protocol

echo    - echo args to console

fatinfo - print information about filesystem

fatload - load binary file from a dos filesystem

fatls   - list files in a directory (default /)

go      - start application at address 'addr'

help    - print online help

iminfo  - print header information for application image

imxtract- extract a part of a multi-image

itest   - return true/false on integer compare

loadb   - load binary file over serial line (kermit mode)

loads   - load S-Record file over serial line

loady   - load binary file over serial line (ymodem mode)

loop    - infinite loop on address range

md      - memory display

mii     - MII utility commands

mm      - memory modify (auto-incrementing address)

mmc     - MMC sub system

mmcinfo - mmcinfo <dev num>-- display MMC info

mtest   - simple RAM read/write test

mw      - memory write (fill)

mxs_mmc - MXS specific MMC sub system

nfs     - boot image via network using NFS protocol

nm      - memory modify (constant address)

ping    - send ICMP ECHO_REQUEST to network host

printenv- print environment variables

rarpboot- boot image via network using RARP/TFTP protocol

reset   - Perform RESET of the CPU

run     - run commands in an environment variable

saveenv - save environment variables to persistent storage

setenv  - set environment variables

sleep   - delay execution for some time

source  - run script from memory

tftpboot- boot image via network using TFTP protocol

version - print monitor version


> help cmp

cmp - memory compare


Usage:

cmp [.b, .w, .l] addr1 addr2 count


> help cp

cp - memory copy


Usage:

cp [.b, .w, .l] source target count


> help md

md - memory display


Usage:

md [.b, .w, .l] address [# of objects]


> help mm

mm - memory modify (auto-incrementing address)


Usage:

mm [.b, .w, .l] address


> help mtest

mtest - simple RAM read/write test


Usage:

mtest [start [end [pattern [iterations]]]]


> help mw

mw - memory write (fill)


Usage:

mw [.b, .w, .l] address value [count]


> help nm

nm - memory modify (constant address)


Usage:

nm [.b, .w, .l] address


[링크 : http://breadnborisu.blogspot.kr/2010/01/5.html]

'프로그램 사용 > u-boot' 카테고리의 다른 글

ubuntu 12.04 xinetd/tftpd 느린 이유  (0) 2016.11.08
uboot bootargs 기본값 설정하기  (0) 2015.02.09
u-boot 포팅 가이드  (0) 2013.08.31
u-boot 설명서  (0) 2013.06.21
uboot 포팅 - falinux 링크  (0) 2013.06.18
Posted by 구차니
프로그램 사용/u-boot2013. 8. 31. 22:09
받아서 해볼까나~
denx.de 에서 안받아 진...다... -_-

$ git clone git://git.denx.de/u-boot u-boot/
Cloning into 'u-boot'...
remote: Counting objects: 228743, done.
remote: Compressing objects: 100% (41222/41222), done.
^Cceiving objects:  39% (90977/228743), 32.27 MiB | 67 KiB/s 

[링크 : http://lifeseed.tistory.com/32]

'프로그램 사용 > u-boot' 카테고리의 다른 글

uboot bootargs 기본값 설정하기  (0) 2015.02.09
uboot 메모리 관련 명령어  (0) 2015.01.08
u-boot 설명서  (0) 2013.06.21
uboot 포팅 - falinux 링크  (0) 2013.06.18
uboot tftp 부팅시 decompress 에러  (0) 2010.01.22
Posted by 구차니
프로그램 사용/u-boot2013. 6. 21. 11:34
mii 관련 명령어 찾아 보니 잘 나와서 링크


[링크 : http://ftp://ftp1.digi.com/support/documentation/90000852_F.pdf]

'프로그램 사용 > u-boot' 카테고리의 다른 글

uboot 메모리 관련 명령어  (0) 2015.01.08
u-boot 포팅 가이드  (0) 2013.08.31
uboot 포팅 - falinux 링크  (0) 2013.06.18
uboot tftp 부팅시 decompress 에러  (0) 2010.01.22
uboot bootargs 에 kernel argument 넘기기  (0) 2009.12.30
Posted by 구차니
프로그램 사용/u-boot2013. 6. 18. 18:06
Posted by 구차니
프로그램 사용/u-boot2010. 1. 22. 19:50
denx.de에 나온 메시지는 아래와는 좀 다른데,

GUNZIP ERROR - must RESET board to recover
에러가 발생할경우, 메모리가 부족해서 겹쳐서 제대로 압축을 해제하지 못했을 가능성이 있다고 한다.
그것도 아니라면.. 도대체 머가 문제일까?

   Verifying Checksum ... OK
   Uncompressing Kernel Image ... Error: Bad gzipped data
GUNZIP ERROR - must RESET board to recover

[링크 : http://www.denx.de/wiki/view/DULG/Manual]
    [링크 : http://www.denx.de/wiki/view/DULG/HowCanILoadAndUncompressACompressedImage]
    [링크 : http://www.denx.de/wiki/view/DULG/LinuxHangsAfterUncompressingKernel]
    [링크 : http://www.denx.de/wiki/view/DULG/LinuxUncompressingError]
Posted by 구차니