I would like to access U-Boot's environment variables from my Linux application.
Is this possible?
Answer:
Yes, you can. The environment variables must be stored in flash memory,
and your Linux kernel must support flash access through the MTD layer.
In the U-Boot source tree you can find the environment tools in the directory
tools/env, which can be built with command:
make env
For building against older versions of the MTD headers (meaning before v2.6.8-rc1) it
is required to pass the argument "MTD_VERSION=old" to make:
make MTD_VERSION=old env
The resulting binary is called fw_printenv, but actually includes support for setting
environment variables too. To achieve this, the binary behaves according to the
name it is invoked as, so you will have to create a link called fw_setenv to fw_printenv.
These tools work exactly like the U-Boot commands printenv resp. setenv
You can either build these tools with a fixed configuration selected at compile time,
or you can configure the tools using the /etc/fw_env.config configuration file
in your target root filesystem.
니네가 드디어 이빨을 드러내는구나!
기업형 nTopia에서 어느순간에 메가패스 스페셜로 바뀌어있고, 인증 수 제한조치라..
열받아서 이것저것 알아보니, 소기업에서 10인이하일 경우 KT나 SK에서 제공하는 1PC 추가당 5000원인데..
10인이라고 해도 문제는 서버들.. 간혹 인터넷을 안한다고 장담을 못하니
결국에는 ip를 가지는 모든 장비들에 대해서 요금을 내야 한다는 의미로밖에 보이지 않는다.
이러다가 네트워크 프린터까지 과금에 청구되는거 아닌지 모르겠다.
아무튼 위약금은 어마어마 하다. 산정식 : 약정이외의 단말수 * 최근 6개월 평균이용요금 * 3
예를들어 10대라고 하면, 2대까지는 해주니까 8개 x 대략 43000원(스폐셜 기준) * 3 > 96만.. ㅆㅂ
일단 대당 5000원이라고 하면 8대에 5000원 4만원 추가 되고, 결국에는 LG의 서비스 75600원(3년 약정)을 초과한다.
아직 원하는 것을 실행하기에는 내공이 부족한지라 또 다시 좌절중 OTL
아무튼 최종 목표는 cygwin에 kscope를 구동시키는 것이다.
(kscope는 source insight와 유사한 KDE 프로그램이며, KDE는 QT 기반이며, kscope는 cscope의 GUI Frontend이다.)
Step 1. 다음 눌러도 되는 부분은 패스~하고
이 부분에서는 한국에서 한다면 ftp://ftp.daum.net 으로 설정한다. 엄청난 속도를 자랑한다 -.-b
Step 2. Cygwin/x를 위해서는 별도의 인스톨러가 있는 것이 아니라, 설치시에 원하는 패키지를 추가로 설치해주면 된다.
일단 X-start-menu-icons를 선택하면 자동으로 시작메뉴에 추가해줄 뿐만 아니라, 필수 패키지가 자동으로 선택된다.
필수 패키지 : xorg-server, xinit
Step 3. Cygwin 마지막 단계로, Icon을 생성하는 것에 대한 물음이다.
Step 4. 아무튼 설치가 끝나면(물론 마지막에 Add icon to Start Menu를 해줘야 할 듯?) 이렇게 추가가 된다.
XWin Server를 구동하면, 처음실행시에는 보안경고가 뜨므로, 방화벽에 예외로 추가 하도록 하면된다.
Step 5. 시스템 트레이에 가동중인 XWin Server의 아이콘
Step 6. 위의 메뉴에서 xterm을 구동하고 별도로 설치한 xclock 프로그램을 xterm에서 구동한 모습
Step 7. 별도로 설치한 gvim을 xterm에서 구동한 모습
이녀석을 구동하기 위해서는 fontconfig 라는 패키지를 별도로 설치해주어야 한다.
main 함수의 기본 프로토타입은 int main(int argc, char *argv[]) 이다.
물론 귀찮아서 void main()으로 주로 쓰긴 하지만, 인자를 받기 위해서는 저 프로토타입을 써야 한다.
아무튼 막상 인자로 받다가 그 인자를 만들어 내려니 자꾸만 안되서 머리를 데굴데굴 굴려봤다.
Cygwin is a Linux-like environment for Windows.
It consists of two parts:
A DLL (cygwin1.dll) which acts as a Linux API emulation layer providing
substantial Linux API functionality.
A collection of tools which provide Linux look and feel.
The Cygwin DLL currently works with all recent, commercially released
x86 32 bit and 64 bit versions of Windows, with the exception of Windows
CE.
Note that the official support for Windows 95, Windows 98, and Windows Me
will be discontinued with the
next major version (1.7.0) of Cygwin, which is
in beta testing right now.
What Isn't Cygwin?
Cygwin is not a way to run native linux apps on Windows. You have
to rebuild your application from source if you want it to run on Windows.
Cygwin is not a way to magically make native Windows apps aware of UNIX ®
functionality, like signals, ptys, etc. Again, you need to build your apps from source
if you want to take advantage of Cygwin functionality.
일단 찾아 보니 cygwin에 이식된 QT도 있으니,
한번 소스를 받아서 cygwin + cygwin/x + KDE-cygwin + kscope 를 해봐야겠다.
The following fundamental rules enable applications to create and process valid names for files and directories, regardless
of the file system:
Use a period to separate the base file name from the extension in the name of a directory or file.
Use a backslash (\) to separate the components of a path.
The backslash divides the file name from the path to it, and one
directory name from another directory name in a path. For additional
details about what a path is, see the Path Names and Namespaces section
below.
Use a backslash as required as part of volume names,
for example, the "C:\" in "C:\path\file" or the "\\server\share" in
"\\server\share\path\file" for Universal Naming Convention (UNC) names.
You cannot use a backslash in the actual file or directory name
components because it separates the names into components.
Use almost any character in the current code page for a name,
including Unicode characters and characters in the extended character
set (128–255), except for the following:
The
following reserved characters are not allowed:
< > : " / \ | ? *
Characters whose integer representations are in
the range from zero through 31 are not allowed.
Any other character that the target file system does not allow.
Use a period as a directory component in a path to represent the current directory, for example ".\tmp.txt".
Use two consecutive periods (..) as a directory component in a path to represent the parent of the current
directory, for example "..\tmp.txt".
Do not use the following reserved device names for the name of a file:
Also avoid
these names followed immediately by an extension; for example, NUL.txt is not recommended.
Do not assume case sensitivity. For example, consider the names
OSCAR, Oscar, and oscar to be the same, even though some file systems
(such as a POSIX-compliant file system) may consider them as different.
Note that NTFS supports POSIX semantics for case sensitivity but this
is not the default behavior. For additional information, see CreateFile.
Do not end a file or directory name with a trailing space or a period. Although the underlying file
system may support such names, the operating system does not. However, it is acceptable to start a name with a period.