1. 安装并进入cygwin
2. 安装交叉编译器
3. 编译uclinux
$ make
...
make -C tools/ucfront
make[1]: Entering directory `/usr/src/uClinux-dist/tools/ucfront'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/usr/src/uClinux-dist/tools/ucfront'
ln -sf /usr/src/uClinux-dist/tools/ucfront/ucfront tools/ucfront-gcc
ln -sf /usr/src/uClinux-dist/tools/ucfront/ucfront tools/ucfront-g++
ln -sf /usr/src/uClinux-dist/tools/ucfront/ucfront-ld tools/ucfront-ld
make ARCH=armnommu CROSS_COMPILE= -j6 -C linux-2.4.x || exit 1
make[1]: Entering directory `/usr/src/uClinux-dist/linux-2.4.x'
gcc -D__KERNEL__ -I/usr/src/uClinux-dist/linux-2.4.x/include -Wall -Wstrict-pro
totypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fno-common -pipe -f
no-builtin -D__linux__ -g -DNO_MM -mapcs-32 -march=armv4 -mtune=arm7tdmi -msoft
-float -DKBUILD_BASENAME=main -c -o init/main.o init/main.c
cc1: error: invalid option `apcs-32'
init/main.c:1: error: bad value (armv4) for -march= switch
init/main.c:1: error: bad value (arm7tdmi) for -mtune= switch
. scripts/mkversion > .tmpversion
make[1]: *** [init/main.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory `/usr/src/uClinux-dist/linux-2.4.x'
make: *** [linux] Error 1