Sfoglia il codice sorgente

Merge branch 'master' of git+ssh://openadk.org/git/openadk

Waldemar Brodkorb 11 anni fa
parent
commit
df23f6da3c

+ 1 - 0
BUGS

@@ -1,3 +1,4 @@
+- qemu-i386: uCLibc fails for non-debug builds
 - qemu-sparc: startup kernel with gcc 4.8.2 broken
 - qemu-sh4: usb keyboard is broken
 - qemu-arm: thumb mode with glibc does not boot

+ 1 - 0
README

@@ -19,6 +19,7 @@ Before you can start you need to install some tools:
 - ncurses5 headers
 - zlib headers
 - perl
+- git
 
 There is a check for the required versions of these tools in advance, though.
 (to re-issue the checks, use "make prereq").

+ 0 - 1
TODO

@@ -1,5 +1,4 @@
 - check gold for mozilla compile
-- getty + serial rework
 - add daemon() function to functions.sh
 - add printing of OK/FAIL (optional verbose bootup)
 - fixup rework libgcc --export-symbols

+ 1 - 1
mk/build.mk

@@ -98,7 +98,7 @@ POSTCONFIG=		-@\
 			touch .rebuild.busybox;\
 			rebuild=1;\
 		fi; \
-		for i in ADK_RUNTIME_PASSWORD ADK_RUNTIME_TMPFS_SIZE ADK_RUNTIME_HOSTNAME ADK_TARGET_ROOTFS ADK_RUNTIME_CONSOLE ADK_TARGET_QEMU_MICROBLAZE_MODEL;do \
+		for i in ADK_RUNTIME_PASSWORD ADK_RUNTIME_TMPFS_SIZE ADK_RUNTIME_HOSTNAME ADK_TARGET_ROOTFS ADK_RUNTIME_GETTY ADK_RUNTIME_SHELL;do \
 			if [ "$$(grep ^$$i .config|md5sum)" != "$$(grep ^$$i .config.old|md5sum)" ];then \
 				touch .rebuild.base-files;\
 				rebuild=1;\

+ 1 - 2
mk/vars.mk

@@ -100,8 +100,7 @@ TARGET_CFLAGS:=		$(TARGET_CFLAGS_ARCH) -fwrapv -fno-ident -fhonour-copts
 TARGET_CXXFLAGS:=	$(TARGET_CFLAGS_ARCH) -fwrapv -fno-ident
 TARGET_LDFLAGS:=	-L$(STAGING_TARGET_DIR)/lib -L$(STAGING_TARGET_DIR)/usr/lib \
 			-Wl,-O1 -Wl,-rpath -Wl,/usr/lib \
-			-Wl,-rpath-link -Wl,${STAGING_TARGET_DIR}/usr/lib \
-			$(ADK_TARGET_ABI_LDFLAGS)
+			-Wl,-rpath-link -Wl,${STAGING_TARGET_DIR}/usr/lib
 
 # security optimization, see http://www.akkadia.org/drepper/dsohowto.pdf
 TARGET_LDFLAGS+=	-Wl,-z,relro,-z,now

+ 6 - 28
package/base-files/Makefile

@@ -6,7 +6,7 @@ include $(TOPDIR)/mk/rootfs.mk
 
 PKG_NAME:=		base-files
 PKG_VERSION:=		1.0
-PKG_RELEASE:=		72
+PKG_RELEASE:=		74
 PKG_SECTION:=		base
 PKG_DESCR:=		basic files and scripts
 PKG_BUILDDEP:=		pkgconf-host file-host
@@ -55,35 +55,13 @@ endif
 	ln -sf ../proc/mounts $(IDIR_BASE_FILES)/etc/mtab
 	rm -rf $(IDIR_BASE_FILES)/var
 	ln -sf tmp $(IDIR_BASE_FILES)/var
-	test -z $(ADK_RUNTIME_CONSOLE_VGA) || \
+	test -z $(ADK_RUNTIME_SHELL) || \
+	    cat ./files/inittab.shell >> $(IDIR_BASE_FILES)/etc/inittab
+	test -z $(ADK_RUNTIME_GETTY_VGA) || \
 	    cat ./files/inittab.vga >> $(IDIR_BASE_FILES)/etc/inittab
-	test -z $(ADK_RUNTIME_CONSOLE_SERIAL) || \
+	test -z $(ADK_RUNTIME_GETTY_SERIAL) || \
 	    cat ./files/inittab.serial >> $(IDIR_BASE_FILES)/etc/inittab
-	test -z $(ADK_RUNTIME_CONSOLE_BOTH) || \
-	    cat ./files/inittab.serial >> $(IDIR_BASE_FILES)/etc/inittab
-	test -z $(ADK_RUNTIME_CONSOLE_BOTH) || \
-	    cat ./files/inittab.vga >> $(IDIR_BASE_FILES)/etc/inittab
-ifeq ($(ADK_TARGET_QEMU_ARM_MODEL_VERSATILEPB),y)
-	$(SED) 's#ttyS#ttyAMA#g' $(IDIR_BASE_FILES)/etc/inittab
-endif
-ifeq ($(ADK_TARGET_QEMU_ARM_MODEL_VEXPRESS_A9),y)
-	$(SED) 's#ttyS#ttyAMA#g' $(IDIR_BASE_FILES)/etc/inittab
-endif
-ifeq ($(ADK_TARGET_SYSTEM_ARANYM_M68K),y)
-	$(SED) 's#ttyS#nfcon#g' $(IDIR_BASE_FILES)/etc/inittab
-endif
-ifeq ($(ADK_TARGET_SYSTEM_QEMU_PPC64),y)
-	$(SED) 's#ttyS#hvc#g' $(IDIR_BASE_FILES)/etc/inittab
-endif
-ifeq ($(ADK_TARGET_SYSTEM_QEMU_SH4),y)
-	$(SED) 's#ttyS0#ttySC1#g' $(IDIR_BASE_FILES)/etc/inittab
-endif
-ifeq ($(ADK_TARGET_SYSTEM_QEMU_SH4EB),y)
-	$(SED) 's#ttyS0#ttySC1#g' $(IDIR_BASE_FILES)/etc/inittab
-endif
-ifeq ($(ADK_TARGET_QEMU_MICROBLAZE_MODEL_S3ADSP1800),y)
-	$(SED) 's#ttyS#ttyUL#g' $(IDIR_BASE_FILES)/etc/inittab
-endif
+	$(SED) 's#@DEVICE@#$(ADK_RUNTIME_CONSOLE_SERIAL_DEVICE)#' $(IDIR_BASE_FILES)/etc/inittab
 	$(SED) 's#@SPEED@#$(ADK_RUNTIME_CONSOLE_SERIAL_SPEED)#' $(IDIR_BASE_FILES)/etc/inittab
 	test -z $(ADK_RUNTIME_HOSTNAME) || \
 	    echo $(ADK_RUNTIME_HOSTNAME) > $(IDIR_BASE_FILES)/etc/hostname; \

+ 1 - 1
package/base-files/files/inittab.serial

@@ -1 +1 @@
-ttyS0::respawn:/sbin/getty -i -L ttyS0 @SPEED@ vt100
+@DEVICE@::respawn:/sbin/getty -i -L @DEVICE@ @SPEED@ vt100

+ 1 - 0
package/base-files/files/inittab.shell

@@ -0,0 +1 @@
+::askfirst:/bin/sh

+ 1 - 0
package/busybox/config/Config.in

@@ -454,6 +454,7 @@ menu 'Build Options'
 
 config BUSYBOX_STATIC
 	bool "Build BusyBox as a static binary (no shared libs)"
+	default y if ADK_STATIC
 	default n
 	help
 	  If you want to build a static BusyBox binary, which does not

+ 1 - 1
package/curl/Makefile

@@ -24,7 +24,7 @@ PKGSS_LIBCURL:=		zlib
 PKG_FLAVOURS_CURL:=	WITH_IPV6
 PKGFD_WITH_IPV6:=	enable IPv6 support
 
-PKG_CHOICES_LIBCURL:=	WITHOUT_SSL WITH_OPENSSL WITH_GNUTLS
+PKG_CHOICES_LIBCURL:=	WITH_GNUTLS WITH_OPENSSL WITHOUT_SSL
 PKGCD_WITHOUT_SSL:=	use no SSL
 PKGCD_WITH_OPENSSL:=	use OpenSSL for crypto
 PKGCS_WITH_OPENSSL:=	libopenssl ca-certificates libgmp

+ 1 - 1
package/dovecot/Makefile

@@ -12,7 +12,7 @@ PKG_SECTION:=		mail
 PKG_URL:=		http://www.dovecot.org/
 PKG_SITES:=		http://www.dovecot.org/releases/2.0/
 
-PKG_CHOICES_DOVECOT:=	WITH_OPENSSL WITH_GNUTLS
+PKG_CHOICES_DOVECOT:=	WITH_GNUTLS WITH_OPENSSL
 PKGCD_WITH_OPENSSL:=	use OpenSSL for crypto
 PKGCS_WITH_OPENSSL:=	libopenssl
 PKGCB_WITH_OPENSSL:=	openssl

+ 1 - 1
package/hostapd/Makefile

@@ -16,7 +16,7 @@ PKG_SITES:=		http://hostap.epitest.fi/releases/
 PKG_MULTI:=		1
 
 PKG_SUBPKGS:=		HOSTAPD HOSTAPD_UTILS
-PKG_CHOICES_HOSTAPD:=	WITH_OPENSSL WITH_GNUTLS
+PKG_CHOICES_HOSTAPD:=	WITH_GNUTLS WITH_OPENSSL
 PKGCD_WITH_OPENSSL:=	use OpenSSL for crypto
 PKGCS_WITH_OPENSSL:=	libopenssl
 PKGCB_WITH_OPENSSL:=	openssl

+ 1 - 1
package/strongswan/Makefile

@@ -20,7 +20,7 @@ PKG_SITES:=		http://download.strongswan.org/
 
 PKG_LIBC_DEPENDS:=	uclibc glibc
 
-PKG_CHOICES_STRONGSWAN:=WITH_GMP WITH_OPENSSL WITH_GNUTLS
+PKG_CHOICES_STRONGSWAN:=WITH_GNUTLS WITH_OPENSSL WITH_GMP
 PKGCD_WITH_GMP:=	use GMP for crypto
 PKGCS_WITH_GMP:=	libgmp
 PKGCB_WITH_GMP:=	gmp

+ 1 - 1
package/tntnet/Makefile

@@ -17,7 +17,7 @@ PKG_NEED_CXX:=		1
 
 PKG_ARCH_DEPENDS:=	!arm !m68k
 
-PKG_CHOICES_TNTNET:=	WITHOUT_SSL WITH_OPENSSL WITH_GNUTLS
+PKG_CHOICES_TNTNET:=	WITH_GNUTLS WITH_OPENSSL WITHOUT_SSL
 PKGCD_WITHOUT_SSL:=	use no SSL
 PKGCD_WITH_OPENSSL:=	use OpenSSL for crypto
 PKGCS_WITH_OPENSSL:=	libopenssl

+ 1 - 1
package/wget/Makefile

@@ -13,7 +13,7 @@ PKG_BUILDDEP:=		autotool
 PKG_URL:=		http://www.gnu.org/software/wget/
 PKG_SITES:=		${MASTER_SITE_GNU:=wget/}
 
-PKG_CHOICES_WGET:=	WITHOUT_SSL WITH_OPENSSL WITH_GNUTLS
+PKG_CHOICES_WGET:=	WITH_GNUTLS WITH_OPENSSL WITHOUT_SSL
 PKGCD_WITHOUT_SSL:=	use no SSL
 PKGCD_WITH_OPENSSL:=	use OpenSSL for crypto
 PKGCS_WITH_OPENSSL:=	libopenssl ca-certificates libgmp

+ 1 - 1
package/wpa_supplicant/Makefile

@@ -18,7 +18,7 @@ PKG_DFLT_WPA_SUPPLICANT:=	y if ADK_TARGET_SYSTEM_IBM_X40
 
 WRKSRC=			${WRKDIST}/${PKG_NAME}
 
-PKG_CHOICES_WPA_SUPPLICANT:=	WITH_OPENSSL WITH_GNUTLS WITH_INTERNAL
+PKG_CHOICES_WPA_SUPPLICANT:=	WITH_GNUTLS WITH_OPENSSL WITH_INTERNAL
 PKGCD_WITH_OPENSSL:=		use OpenSSL for crypto
 PKGCS_WITH_OPENSSL:=		libopenssl
 PKGCB_WITH_OPENSSL:=		openssl

+ 26 - 28
rules.mk

@@ -25,37 +25,35 @@ SET_DASHX:=		:
 endif
 
 # Strip off the annoying quoting
-ADK_TARGET_KERNEL:=	$(strip $(subst ",, $(ADK_TARGET_KERNEL)))
-ADK_TARGET_ARCH:=	$(strip $(subst ",, $(ADK_TARGET_ARCH)))
-ADK_TARGET_SYSTEM:=	$(strip $(subst ",, $(ADK_TARGET_SYSTEM)))
-ADK_TARGET_LIBC:=	$(strip $(subst ",, $(ADK_TARGET_LIBC)))
-ADK_TARGET_LIBC_PATH:=	$(strip $(subst ",, $(ADK_TARGET_LIBC_PATH)))
-ADK_TARGET_ENDIAN:=	$(strip $(subst ",, $(ADK_TARGET_ENDIAN)))
-ADK_TARGET_FLOAT:=	$(strip $(subst ",, $(ADK_TARGET_FLOAT)))
-ADK_TARGET_ARM_MODE:=	$(strip $(subst ",, $(ADK_TARGET_ARM_MODE)))
-ADK_TARGET_CPU_ARCH:=	$(strip $(subst ",, $(ADK_TARGET_CPU_ARCH)))
-ADK_TARGET_CFLAGS:=	$(strip $(subst ",, $(ADK_TARGET_CFLAGS)))
-ADK_TARGET_ABI_CFLAGS:=	$(strip $(subst ",, $(ADK_TARGET_ABI_CFLAGS)))
-ADK_TARGET_ABI_LDFLAGS:=	$(strip $(subst ",, $(ADK_TARGET_ABI_LDFLAGS)))
-ADK_TARGET_KERNEL_LDFLAGS:=	$(strip $(subst ",, $(ADK_TARGET_KERNEL_LDFLAGS)))
-ADK_TARGET_ABI:=	$(strip $(subst ",, $(ADK_TARGET_ABI)))
-ADK_TARGET_MIPS_ABI:=	$(strip $(subst ",, $(ADK_TARGET_MIPS_ABI)))
-ADK_TARGET_IP:=		$(strip $(subst ",, $(ADK_TARGET_IP)))
-ADK_TARGET_SUFFIX:=	$(strip $(subst ",, $(ADK_TARGET_SUFFIX)))
-ADK_TARGET_CMDLINE:=	$(strip $(subst ",, $(ADK_TARGET_CMDLINE)))
-ADK_QEMU_ARGS:=		$(strip $(subst ",, $(ADK_QEMU_ARGS)))
-ADK_RUNTIME_TMPFS_SIZE:=	$(strip $(subst ",, $(ADK_RUNTIME_TMPFS_SIZE)))
+ADK_TARGET_KERNEL:=			$(strip $(subst ",, $(ADK_TARGET_KERNEL)))
+ADK_TARGET_ARCH:=			$(strip $(subst ",, $(ADK_TARGET_ARCH)))
+ADK_TARGET_SYSTEM:=			$(strip $(subst ",, $(ADK_TARGET_SYSTEM)))
+ADK_TARGET_LIBC:=			$(strip $(subst ",, $(ADK_TARGET_LIBC)))
+ADK_TARGET_LIBC_PATH:=			$(strip $(subst ",, $(ADK_TARGET_LIBC_PATH)))
+ADK_TARGET_ENDIAN:=			$(strip $(subst ",, $(ADK_TARGET_ENDIAN)))
+ADK_TARGET_FLOAT:=			$(strip $(subst ",, $(ADK_TARGET_FLOAT)))
+ADK_TARGET_ARM_MODE:=			$(strip $(subst ",, $(ADK_TARGET_ARM_MODE)))
+ADK_TARGET_CPU_ARCH:=			$(strip $(subst ",, $(ADK_TARGET_CPU_ARCH)))
+ADK_TARGET_CFLAGS:=			$(strip $(subst ",, $(ADK_TARGET_CFLAGS)))
+ADK_TARGET_ABI_CFLAGS:=			$(strip $(subst ",, $(ADK_TARGET_ABI_CFLAGS)))
+ADK_TARGET_ABI:=			$(strip $(subst ",, $(ADK_TARGET_ABI)))
+ADK_TARGET_MIPS_ABI:=			$(strip $(subst ",, $(ADK_TARGET_MIPS_ABI)))
+ADK_TARGET_IP:=				$(strip $(subst ",, $(ADK_TARGET_IP)))
+ADK_TARGET_SUFFIX:=			$(strip $(subst ",, $(ADK_TARGET_SUFFIX)))
+ADK_TARGET_CMDLINE:=			$(strip $(subst ",, $(ADK_TARGET_CMDLINE)))
+ADK_QEMU_ARGS:=				$(strip $(subst ",, $(ADK_QEMU_ARGS)))
+ADK_RUNTIME_TMPFS_SIZE:=		$(strip $(subst ",, $(ADK_RUNTIME_TMPFS_SIZE)))
 ADK_RUNTIME_CONSOLE_SERIAL_SPEED:=	$(strip $(subst ",, $(ADK_RUNTIME_CONSOLE_SERIAL_SPEED)))
-ADK_HOST:=		$(strip $(subst ",, $(ADK_HOST)))
-ADK_VENDOR:=		$(strip $(subst ",, $(ADK_VENDOR)))
-ADK_DL_DIR:=		$(strip $(subst ",, $(ADK_DL_DIR)))
-ADK_COMPRESSION_TOOL:=		$(strip $(subst ",, $(ADK_COMPRESSION_TOOL)))
-ADK_TOOLS_ADDPATTERN_ARGS:=	$(strip $(subst ",, $(ADK_TOOLS_ADDPATTERN_ARGS)))
-ADK_KERNEL_VERSION:=		$(strip $(subst ",, $(ADK_KERNEL_VERSION)))
+ADK_RUNTIME_CONSOLE_SERIAL_DEVICE:=	$(strip $(subst ",, $(ADK_RUNTIME_CONSOLE_SERIAL_DEVICE)))
+ADK_HOST:=				$(strip $(subst ",, $(ADK_HOST)))
+ADK_VENDOR:=				$(strip $(subst ",, $(ADK_VENDOR)))
+ADK_DL_DIR:=				$(strip $(subst ",, $(ADK_DL_DIR)))
+ADK_COMPRESSION_TOOL:=			$(strip $(subst ",, $(ADK_COMPRESSION_TOOL)))
+ADK_KERNEL_VERSION:=			$(strip $(subst ",, $(ADK_KERNEL_VERSION)))
 ADK_PARAMETER_NETCONSOLE_SRC_IP:=	$(strip $(subst ",, $(ADK_PARAMETER_NETCONSOLE_SRC_IP)))
 ADK_PARAMETER_NETCONSOLE_DST_IP:=	$(strip $(subst ",, $(ADK_PARAMETER_NETCONSOLE_DST_IP)))
-ADK_JFFS2_OPTS:=	$(strip $(subst ",, $(ADK_JFFS2_OPTS)))
-ADK_WGET_TIMEOUT:=	$(strip $(subst ",, $(ADK_WGET_TIMEOUT)))
+ADK_JFFS2_OPTS:=			$(strip $(subst ",, $(ADK_JFFS2_OPTS)))
+ADK_WGET_TIMEOUT:=			$(strip $(subst ",, $(ADK_WGET_TIMEOUT)))
 
 ifeq ($(strip ${ADK_HAVE_DOT_CONFIG}),y)
 ifneq ($(strip $(wildcard $(TOPDIR)/target/$(ADK_TARGET_ARCH)/target.mk)),)

+ 6 - 0
scripts/scan-tools.sh

@@ -208,6 +208,12 @@ if ! which g++ >/dev/null 2>&1; then
 	out=1
 fi
 
+if ! which git >/dev/null 2>&1; then
+	echo  "You need git to continue."
+	echo
+	out=1
+fi
+
 cd $topdir
 rm -rf tmp
 

+ 1 - 0
target/config/Config.in.adk

@@ -36,6 +36,7 @@ config ADK_DEBUG_STRIP
 config ADK_STATIC
 	bool "Link applications statically by default"
 	default n
+	select BUSYBOX_STATIC
 	help
 	  Useful for toolchain only target devices.
 

+ 39 - 14
target/config/Config.in.runtime

@@ -37,30 +37,55 @@ config ADK_RUNTIME_TIMEZONE
 	  Predefine the timezone for the embedded system.
 
 choice
-prompt "Console output on embedded system"
-default ADK_RUNTIME_CONSOLE_BOTH if ADK_TARGET_WITH_VGA || ADK_TARGET_QEMU_WITH_GRAPHIC && !ADK_TARGET_SYSTEM_RASPBERRY_PI && !ADK_TARGET_SYSTEM_LEMOTE_YEELONG
-default ADK_RUNTIME_CONSOLE_VGA if ADK_TARGET_SYSTEM_RASPBERRY_PI || ADK_TARGET_SYSTEM_LEMOTE_YEELONG
-default ADK_RUNTIME_CONSOLE_SERIAL
+prompt "Start getty or shell after bootup"
+default ADK_RUNTIME_GETTY
 
-config ADK_RUNTIME_CONSOLE_VGA
-	bool "console output on VGA"
+config ADK_RUNTIME_GETTY
+	boolean "start a getty after bootup"
 	help
-          Start getty on VGA console. (tty1-tty6)
+	  Start a getty after bootup.
 
-config ADK_RUNTIME_CONSOLE_SERIAL
-	bool "console output on serial"
+config ADK_RUNTIME_SHELL
+	boolean "start a shell after bootup"
 	help
-	  Start getty on serial console.
+	  Start a shell after bootup
+
+endchoice
+
+config ADK_RUNTIME_GETTY_VGA
+	boolean "start getty on VGA console (tty1-tty6)"
+	depends on ADK_RUNTIME_GETTY
+	default y if ADK_TARGET_QEMU_WITH_GRAPHIC
+	default y if ADK_TARGET_SYSTEM_RASPBERRY_PI
+	default y if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
+	default y if ADK_TARGET_SYSTEM_IBM_X40
+	default n
+	help
+          Start getty on VGA console. (tty1-tty6)
 
-config ADK_RUNTIME_CONSOLE_BOTH
-	bool "console output on VGA and serial"
+config ADK_RUNTIME_GETTY_SERIAL
+	boolean "start getty on serial console"
+	depends on ADK_RUNTIME_GETTY
+	default n if ADK_TARGET_SYSTEM_RASPBERRY_PI
+	default n if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
+	default n if ADK_TARGET_SYSTEM_IBM_X40
+	default y
 	help
-	  Start getty on VGA console and serial device.
+	  Start getty on serial console.
 
-endchoice
+config ADK_RUNTIME_CONSOLE_SERIAL_DEVICE
+	string
+	default "hvc0" if ADK_TARGET_SYSTEM_QEMU_PPC64
+	default "ttyUL0" if ADK_TARGET_QEMU_MICROBLAZE_MODEL_S3ADSP1800
+	default "ttyAMA0" if ADK_TARGET_QEMU_ARM_MODEL_VERSATILEPB || ADK_TARGET_QEMU_ARM_MODEL_VEXPRESS_A9
+	default "ttySC1" if ADK_TARGET_SYSTEM_QEMU_SH4 || ADK_TARGET_SYSTEM_QEMU_SH4EB
+	default "ttymxc0" if ADK_TARGET_SYSTEM_CUBOX_I
+	default "nfcon0" if ADK_TARGET_SYSTEM_ARANYM_M68K
+	default "ttyS0"
 
 config ADK_RUNTIME_CONSOLE_SERIAL_SPEED
 	string
+	default "9600" if ADK_TARGET_SYSTEM_QEMU_PPC
 	default "9600" if ADK_TARGET_SYSTEM_FON_FON2100
 	default "38400" if ADK_TARGET_SYSTEM_PCENGINES_WRAP	
 	default "115200"

+ 0 - 6
target/config/Config.in.tools

@@ -42,9 +42,3 @@ config ADK_HOST_NEED_PCRE
 	boolean
 	default y if ADK_HOST_DARWIN
 	default n
-
-config ADK_TOOLS_ADDPATTERN_ARGS
-	string
-	default "-p W54G -v v4.20.6" if ADK_TARGET_BROADCOM_MODEL_LINKSYS_WRT54G
-	default "-p W54S -v v4.70.6" if ADK_TARGET_BROADCOM_MODEL_LINKSYS_WRT54GS
-	default ""