Done on Slackware 12.2. Information Source: Manual. The iso image is available at the Embedded-Linux page of the wago website (registration necessary).
su - mount -o loop Linux_V3_20070403.iso /mnt/tmp #mount the BSP Cdrom Iso Image cd /mnt/tmp/linux/toolchain ./install.sh exit
This installs the following files and dirs (subdirs not listed; tested with find -mmin / -cmin
):
/usr/bin/mkimage (via mkimage-0.3.0-1.i386.rpm) /usr/local/bin/arm-uclinux-elf-* /usr/local/arm-uclinux-tools /tftpboot /tagetfs
Additionally the following line is appended to /etc/sudoers
%users ALL = NOPASSWD: /bin/mknod
Installation as normal user!
cd /mnt/tmp/linux/sources ./install.sh
This installs the following files and dirs (subdirs not listed; tested with find -mmin / -cmin
):
/$HOME/uclinux-dist (1.3 GB) /tftpboot/jffs2.img /tftpboot/linux.flashme
cd $HOME/uclinux-dist make menuconfig # and exit without save! make
This also creates new jffs2.img and linux.flashme files in /tftpboot
Note that the manual states to call make menuconfig
. But in my case it changed noting in uclinux-dist
, so i think it is unnecessary.
date MMDDhhmm[[CC]YY]
.hwclock –systohc
date
should print the correct local time.Sources:
This guide is based on the manual → 5.10 File System and Linux Kernel Update
LFBK #
appearsprintenv
to check the environment variables and correct the ipaddresses of the FBK and the server if required:setenv ipaddr 192.168.xxx.yyy setenv serverip 192.168.xxx.zzz
update-rootfs
, update-kernel
& update-ub
. (E.g. printenv update-kernel
)saveenv
to save the modifications into the flash./tftpboot
as TFTP source directory (uncomment and modify the line in /etc/inetd.conf
accordingly; make /etc/rc.d/rc.inetd
runnable and start it with /etc/rc.d/rc.inetd restart
)linux.flashme
and jffs2.img
to /tftpboot
run update-kernel run update-rootfs
Dont use a managed Hub; if you encounter problems with your hub or switch, use a crosslink cable!
The FBK freezes with this message: BUG: soft lockup detected on CPU#0!
Download the patch from the Wago service and apply the patch according to the help file. Afterwards you again have to compile all, update the target system and configure the webserver.
May affect Unix domain sockets!
Example App: „sbtimer“
mkdir ~/uclinux-dist/user/sbtimer
touch ~/uclinux-dist/user/sbtimer/sbtimer.c
main()
in sbtimer.c
sbtimer
to the dir_y
variable in ~/uclinux-dist/user/Makefile~/uclinux-dist/user/sbtimer/Makefile
.~/uclinux-dist
and call make user
.sbtimer
with FTP to the targetEXEC = sbtimer all: install # This adds an implicit rule for generating $(EXEC).o from $(EXEC).c: $(EXEC): $(EXEC).o $(CC) $(LDFLAGS) -o $@ $(EXEC).o $(LDLIBS) cp $(EXEC) /targetfs/ romfs: $(ROMFSINST) /bin/$(EXEC) clean: -rm -f $(EXEC) *.elf *.gdb *.o install: $(EXEC) lftp -c "open root:wago@wago; cd bin; put $(EXEC); chmod a+x $(EXEC)"
$(CFLAGS)
2) contains as the first -I
-switch the path $HOME/uClinux/lib/uClibc/include
, which points to $HOME/uClinux/uClibc/include
. Here are all common header files.
Auch asm/types.h
wird hier gefunden, jedoch löst das der asm-Symlink tatsächlich nach ~/uClinux/linux-2.4.x/include/asm/types.h
auf.
The default Boa installation on the 750-860 serves CSS files with the mime type text/html
instead of text/css
. This my lead to problems especially when HTML document type „strict“ is used. Go around this by adding the line
AddType text/css css
to /etc/boa/boa.conf
Note: The path to the mime.types file in boa.conf
is wrong: /etc/mime.types
instead of /etc/boa/mime.types
. But even wiht the correct path, the mime.types file seems to be ignored.
Error- and access logging does not work. If the according directive in boa.conf
ist activated, eg ErrorLog
, the server refuses to start.
Two cron apps are coming with wago uclinux-dist: cron and vixie-cron. cron ist smaller so I use this one.
Add cron
to the dir_y
variable in ~/uclinux-dist/user/Makfile
, compile and install it on the target.
Example: The following 2 files are necessary to make the digital output 4.0 change its state every minute:
cat /etc/config/crontab # * * * * * root /bin/beckis
cat /bin/beckis #!/bin/msh kbusdemo -n 4.0 sleep 2 kbusdemo -o 4.0
Start cron at PO. Where to add the cron start command? In /etc/startwago
? Lock at Manual!
root/wago
wagoset
__u16, __u8, ...