# # Makefile -- Build instructions for SM2010, Weiss-Electronic # ROMFSIMG = $(IMAGEDIR)/romfs.img IMAGE = $(IMAGEDIR)/sm2010.rom ROMFS_DIRS = bin dev etc home lib mnt proc usr var DEVICES = \ tty,c,5,0 console,c,5,1 cua0,c,5,64 cua1,c,5,65 \ mem,c,1,1 kmem,c,1,2 null,c,1,3 ram0,b,1,0 \ \ ram1,b,1,1 \ \ ptyp0,c,2,0 ptyp1,c,2,1 ptyp2,c,2,2 ptyp3,c,2,3 \ ptyp4,c,2,4 ptyp5,c,2,5 ptyp6,c,2,6 ptyp7,c,2,7 \ \ rom0,b,31,0 rom1,b,31,1 rom2,b,31,2 rom3,b,31,3 \ rom4,b,31,4 rom5,b,31,5 rom6,b,31,6 rom7,b,31,7 \ rom8,b,31,8 rom9,b,31,9 \ \ tty0,c,4,0 tty1,c,4,1 tty2,c,4,2 tty3,c,4,3 \ ttyS0,c,4,64 ttyS1,c,4,65 \ ttyS2,c,4,66 ttyS3,c,4,67 \ ttyS4,c,4,68 ttyS5,c,4,69 \ \ ttyp0,c,3,0 ttyp1,c,3,1 ttyp2,c,3,2 ttyp3,c,3,3 \ ttyp4,c,3,4 ttyp5,c,3,5 ttyp6,c,3,6 ttyp7,c,3,7 \ \ zero,c,1,5 random,c,1,8 urandom,c,1,9 \ \ modem,c,24,64 \ cuam,c,25,64 \ fb0,c,29,0 \ ts,c,10,9 clean: romfs: [ -d $(ROMFSDIR)/$$i ] || mkdir -p $(ROMFSDIR) for i in $(ROMFS_DIRS); do \ [ -d $(ROMFSDIR)/$$i ] || mkdir -p $(ROMFSDIR)/$$i; \ done for i in $(DEVICES); do \ touch $(ROMFSDIR)/dev/@$$i; \ done # these permissions are needed for openpty and family to work # on non-ptmx ptys chmod 620 $(ROMFSDIR)/dev/@[pt]ty[pqrsPQRS][0-9a-f],* $(ROMFSINST) -s /var/tmp /tmp $(ROMFSINST) /etc/rc $(ROMFSINST) /etc/inittab $(ROMFSINST) /etc/services $(ROMFSINST) /etc/inetd.conf #webpage: # $(ROMFSINST) /home/httpd/wlogo.gif # $(ROMFSINST) /home/httpd/sm2010.jpeg case "$(LINUXDIR)" in \ *2.4.*) ;; \ *) echo "ttyS0:linux:/bin/sh" >> $(ROMFSDIR)/etc/inittab ;; \ esac $(ROMFSINST) /etc/motd image: #overwrite index.html $(ROMFSINST) /home/httpd/index.html [ -d $(IMAGEDIR) ] || mkdir -p $(IMAGEDIR) genromfs -v -V "ROMdisk" -f $(ROMFSIMG) -d $(ROMFSDIR) $(CROSS_COMPILE)objcopy -O binary -j .text $(ROOTDIR)/$(LINUXDIR)/linux $(IMAGEDIR)/linux.text $(CROSS_COMPILE)objcopy -O binary -j .data $(ROOTDIR)/$(LINUXDIR)/linux $(IMAGEDIR)/linux.data cat $(IMAGEDIR)/linux.text $(IMAGEDIR)/linux.data $(ROMFSIMG) > $(IMAGE) #2003-07-11 gc: we have now 1MB flash @perl -e '$$s=sprintf "%d", (((-s "$(IMAGE)")+1023) / 1024); \ die "image to large ($${s}k)\n" if ($$s > 1024); \ printf "image size: %dk\n", $$s;' perl $(ROOTDIR)/vendors/Weiss/SM2010/srec.pl $(IMAGE) > $(IMAGEDIR)/linux.srec