Browse Source

optimize build for hardware profile (x86/x86_64), optimize chroot installer script

Waldemar Brodkorb 13 years ago
parent
commit
4934009fea

+ 1 - 0
rules.mk

@@ -32,6 +32,7 @@ ADK_VENDOR:=		$(strip $(subst ",, $(ADK_VENDOR)))
 ADK_TARGET_IP:=		$(strip $(subst ",, $(ADK_TARGET_IP)))
 ADK_TARGET_SUFFIX:=	$(strip $(subst ",, $(ADK_TARGET_SUFFIX)))
 ADK_COMPRESSION_TOOL:=	$(strip $(subst ",, $(ADK_COMPRESSION_TOOL)))
+ADK_TARGET_CFLAGS:=	$(strip $(subst ",, $(ADK_TARGET_CFLAGS)))
 
 ifeq ($(strip ${ADK_HAVE_DOT_CONFIG}),y)
 ifneq ($(strip $(wildcard $(TOPDIR)/target/$(ADK_TARGET)/target.mk)),)

+ 50 - 63
scripts/install-chroot.sh

@@ -45,15 +45,19 @@ else
 fi
 
 cfgfs=1
-rb532=0
-while getopts "nr" option
+console=0
+serial=0
+while getopts "nrcs" option
 do
 	case $option in
 		n)
 			cfgfs=0
 			;;
-		r)
-			rb532=1
+		s)
+			serial=1
+			;;
+		c)
+			console=1
 			;;
 		*)
 			printf "Option not recognized\n"
@@ -78,18 +82,6 @@ else
 		printf "$2 is not a file, Exiting\n"
 		exit 1
 	fi
-	if [ $rb532 -eq 1 ];then
-		if [ -z $3 ];then
-			printf "Please give the kernel as third parameter\n"
-			exit 2
-		fi
-		if [ -f $3 ];then
-			printf "Installing $3 on $1\n"
-		else
-			printf "$3 is not a file, Exiting\n"
-			exit 1
-		fi
-	fi
 	if [ -b $1 ];then
 		printf "Using $1 as CF/USB disk for installation\n"
 		printf "This will destroy all data on $1, are you sure?\n"
@@ -141,29 +133,9 @@ case $2 in
 		;;
 esac
 
-if [ $rb532 -ne 0 ];then
-	printf "Create partition and filesystem for rb532\n"
-	rootpart=${1}2
-	$parted -s $1 mklabel msdos
-	sleep 2
-	maxsize=$(env LC_ALL=C $parted $1 -s unit cyl print |awk '/^Disk/ { print $3 }'|sed -e 's/cyl//')
-	rootsize=$(($maxsize-2))
-
-	$parted -s $1 unit cyl mkpart primary ext2 0 1
-	$parted -s $1 unit cyl mkpart primary ext2 1 $rootsize
-	$parted -s $1 unit cyl mkpart primary fat32 $rootsize $maxsize
-	$parted -s $1 set 1 boot on
-	$sfdisk --change-id $1 1 27
-	$sfdisk --change-id $1 3 88
-	sleep 2
-	$mke2fs ${1}2
-	sync
-	dd if=$3 of=${1}1 bs=2048
-	sync
-else
-	rootpart=${1}1
-	if [ $cfgfs -eq 0 ];then
-		printf "Create partition and filesystem without cfgfs\n"
+rootpart=${1}1
+if [ $cfgfs -eq 0 ];then
+	printf "Create partition and filesystem without cfgfs\n"
 $sfdisk $1 << EOF
 ,,L
 ;
@@ -171,20 +143,19 @@ $sfdisk $1 << EOF
 ;
 y
 EOF
-		$mke2fs ${rootpart}
-	else
-		printf "Create partition and filesystem with cfgfs\n"
-		$parted -s $1 mklabel msdos
-		sleep 2
-		maxsize=$(env LC_ALL=C $parted $1 -s unit cyl print |awk '/^Disk/ { print $3 }'|sed -e 's/cyl//')
-		rootsize=$(($maxsize-2))
-
-		$parted -s $1 unit cyl mkpart primary ext2 0 $rootsize
-		$parted -s $1 unit cyl mkpart primary fat32 $rootsize $maxsize
-		$parted -s $1 set 1 boot on
-		$sfdisk --change-id $1 2 88
-		$mke2fs ${1}1
-	fi
+	$mke2fs ${rootpart}
+else
+	printf "Create partition and filesystem with cfgfs\n"
+	$parted -s $1 mklabel msdos
+	sleep 2
+	maxsize=$(env LC_ALL=C $parted $1 -s unit cyl print |awk '/^Disk/ { print $3 }'|sed -e 's/cyl//')
+	rootsize=$(($maxsize-2))
+
+	$parted -s $1 unit cyl mkpart primary ext2 0 $rootsize
+	$parted -s $1 unit cyl mkpart primary fat32 $rootsize $maxsize
+	$parted -s $1 set 1 boot on
+	$sfdisk --change-id $1 2 88
+	$mke2fs ${1}1
 fi
 
 if [ $? -eq 0 ];then
@@ -211,12 +182,13 @@ printf "Fixing permissions\n"
 chmod 1777 $tmp/tmp
 chmod 4755 $tmp/bin/busybox
 
-if [ $rb532 -eq 0 ];then
-	printf "Installing GRUB bootloader\n"
-	mkdir -p $tmp/boot/grub
-	mount -o bind /dev $tmp/dev
-	chroot $tmp mount -t proc /proc /proc
-	chroot $tmp mount -t sysfs /sys /sys
+printf "Installing GRUB bootloader\n"
+mkdir -p $tmp/boot/grub
+mount -o bind /dev $tmp/dev
+chroot $tmp mount -t proc /proc /proc
+chroot $tmp mount -t sysfs /sys /sys
+
+if [ $serial -eq 1 ];then
 cat << EOF > $tmp/boot/grub/grub.cfg
 set default=0
 set timeout=1
@@ -230,12 +202,27 @@ menuentry "GNU/Linux (OpenADK)" {
 	linux /boot/vmlinuz-adk ro init=/init console=ttyS0,$speed console=tty0 panic=10
 }
 EOF
-	chroot $tmp grub-install $1
-	umount $tmp/proc
-	umount $tmp/sys
-	umount $tmp/dev
 fi
 
+if [ $console -eq 1 ];then
+cat << EOF > $tmp/boot/grub/grub.cfg
+set default=0
+set timeout=1
+terminal_output console 
+terminal_input console
+
+menuentry "GNU/Linux (OpenADK)" {
+	insmod ext2
+	set root=(hd0,1)
+	linux /boot/vmlinuz-adk ro init=/init console=tty0 panic=10
+}
+EOF
+fi
+
+chroot $tmp grub-install $1
+umount $tmp/proc
+umount $tmp/sys
+umount $tmp/dev
 umount $tmp
 
 printf "Successfully installed.\n"

+ 2 - 0
scripts/install.sh

@@ -21,6 +21,8 @@ fi
 
 cfgfs=1
 quiet=0
+console=0
+serial=0
 while getopts "nq" option
 do
 	case $option in

+ 35 - 20
target/Config.in

@@ -170,6 +170,20 @@ config ADK_TARGET
 	default "wag54g"  if ADK_wag54g
 	default "ag241"  if ADK_ag241
 
+config ADK_CPU_I686
+	boolean
+
+config ADK_CPU_PENTIUM_M
+	boolean
+
+config ADK_CPU_AMDFAM10
+	boolean
+
+config ADK_TARGET_CFLAGS
+	string
+	default "-march=i686" if ADK_CPU_I686
+	default "-march=pentium-m" if ADK_CPU_PENTIUM_M
+	default "-march=amdfam10" if ADK_CPU_AMDFAM10
 
 # c library
 config ADK_uclibc
@@ -205,12 +219,32 @@ config ADK_LINUX_NATIVE
 	  No toolchain will be created.
 
 config ADK_LINUX_X86_ALIX
-	bool "ALIX boards"
+	bool "PC Engines ALIX boards"
 	select ADK_x86
 	select ADK_alix
 	help
 	  Support for Alix boards.
 	  http://www.pcengines.ch
+	  Status: stable
+
+config ADK_LINUX_X86_WRAP
+	bool "PC Engines WRAP boards"
+	select ADK_x86
+	select ADK_wrap
+	select ADK_KERNEL_SCSI
+	select ADK_KERNEL_ATA
+	select ADK_KERNEL_BLK_DEV_SD
+	select ADK_KERNEL_EXT2_FS
+	select ADK_KERNEL_NET_PCI
+	select ADK_KERNEL_NETDEVICES
+	select ADK_KERNEL_NET_ETHERNET
+	select ADK_KERNEL_MII
+	select ADK_TARGET_WITH_WATCHDOG
+	select ADK_TARGET_WITH_RTC
+	help
+	  End of life.
+	  http://www.pcengines.ch/
+	  Status: stable
 
 config ADK_LINUX_ARM_FOXG20
 	bool "Foxboard (FOXG20)"
@@ -328,25 +362,6 @@ config ADK_LINUX_X86_64
 	help
 	  Support for a x86_64/amd64 system.
 
-config ADK_LINUX_X86_WRAP
-	bool "PC Engines WRAP"
-	select ADK_x86
-	select ADK_wrap
-	select ADK_KERNEL_SCSI
-	select ADK_KERNEL_ATA
-	select ADK_KERNEL_BLK_DEV_SD
-	select ADK_KERNEL_EXT2_FS
-	select ADK_KERNEL_NET_PCI
-	select ADK_KERNEL_NETDEVICES
-	select ADK_KERNEL_NET_ETHERNET
-	select ADK_KERNEL_MII
-	select ADK_TARGET_WITH_WATCHDOG
-	select ADK_TARGET_WITH_RTC
-	help
-	  End of life, but I still have one board.
-	  http://www.pcengines.ch/
-	  Status: stable
-
 endchoice
 
 choice

+ 3 - 1
target/Config.in.x86

@@ -3,12 +3,14 @@ depends on ADK_LINUX_X86
 prompt "Hardware model"
 
 config ADK_HARDWARE_GENERIC
-	bool "Generic x86 system"
+	bool "Generic x86 system (i686)"
+	select ADK_CPU_I686
 	help
 	  Generic x86 system.
 
 config ADK_HARDWARE_IBMX40
 	bool "IBM X40 laptop"
+	select ADK_CPU_PENTIUM_M
 	select ADK_TARGET_WITH_USB
 	select ADK_TARGET_WITH_PCI
 	select ADK_TARGET_WITH_VGA

+ 6 - 9
target/Config.in.x86_64

@@ -10,6 +10,7 @@ config ADK_HARDWARE_GENERIC
 config ADK_HARDWARE_SHUTTLE
 	bool "Shuttle PC"
 	select ADK_shuttle
+	select ADK_CPU_AMDFAM10
 	select ADK_TARGET_WITH_USB
 	select ADK_TARGET_WITH_VGA
 	select ADK_TARGET_WITH_PCI
@@ -21,15 +22,11 @@ config ADK_HARDWARE_SHUTTLE
 	select ADK_KERNEL_NETDEVICES
 	select ADK_KERNEL_NET_PCI
 	select ADK_KERNEL_NET_ETHERNET
-	select ADK_KERNEL_SATA_AHCI if ADK_TARGET_ROOTFS_ARCHIVE
-	select ADK_KERNEL_BLK_DEV_SD if ADK_TARGET_ROOTFS_ARCHIVE
-	select ADK_KERNEL_BLK_DEV_MD if ADK_TARGET_ROOTFS_ARCHIVE
-	select ADK_KERNEL_MD_RAID0 if ADK_TARGET_ROOTFS_ARCHIVE
-	select ADK_KERNEL_MD_RAID1 if ADK_TARGET_ROOTFS_ARCHIVE
-	select ADK_KPACKAGE_KMOD_SATA_AHCI if ADK_TARGET_ROOTFS_INITRAMFS_PIGGYBACK
-	select ADK_KPACKAGE_KMOD_BLK_DEV_MD if ADK_TARGET_ROOTFS_INITRAMFS_PIGGYBACK
-	select ADK_KPACKAGE_KMOD_MD_RAID0 if ADK_TARGET_ROOTFS_INITRAMFS_PIGGYBACK
-	select ADK_KPACKAGE_KMOD_MD_RAID1 if ADK_TARGET_ROOTFS_INITRAMFS_PIGGYBACK
+	select ADK_KERNEL_SATA_AHCI
+	select ADK_KERNEL_BLK_DEV_SD
+	select ADK_KERNEL_BLK_DEV_MD
+	select ADK_KERNEL_MD_RAID0
+	select ADK_KERNEL_MD_RAID1
 	help
 	  Support for a nice and fast shuttle xpc with AMD quad-core CPU.
 	  Status: development

+ 22 - 40
target/linux/config/Config.in.netdevice

@@ -2,87 +2,82 @@ menu "Network devices support"
 
 config ADK_KERNEL_NETDEVICES
 	boolean
-	default n
 
 config ADK_KERNEL_NET_ETHERNET
 	boolean
-	default n
 
 config ADK_KERNEL_MII
 	boolean
-	default n
 
 config ADK_KERNEL_NET_PCI
 	boolean
-	default n
 
 config ADK_KERNEL_NETDEV_1000
 	boolean
-	default n
 
 menu "Ethernet card support"
 depends on ADK_TARGET_WITH_PCI
 
 config ADK_KPACKAGE_KMOD_NE2K_PCI
 	prompt "kmod-net-ne2k-pci............. NE2000 PCI driver"
+	tristate
 	select ADK_KERNEL_NETDEVICES
 	select ADK_KERNEL_NET_ETHERNET
 	select ADK_KERNEL_NET_PCI
 	select ADK_KERNEL_MII
-	tristate
 	default n
 	help
 	  NE2000 pci driver
 
 config ADK_KPACKAGE_KMOD_PCNET32
 	prompt "kmod-net-pcnet32.............. AMD PCNet32 PCI driver"
+	tristate
 	select ADK_KERNEL_NETDEVICES
 	select ADK_KERNEL_NET_ETHERNET
 	select ADK_KERNEL_NET_PCI
 	select ADK_KERNEL_MII
-	tristate
 	default n
 	help
 	  AMD PCnet32 driver
 
 config ADK_KPACKAGE_KMOD_8139CP
 	prompt "kmod-net-rtl8139cp............ RTL8139C+ PCI driver"
+	tristate
 	select ADK_KERNEL_NETDEVICES
 	select ADK_KERNEL_NET_ETHERNET
 	select ADK_KERNEL_NET_PCI
 	select ADK_KERNEL_MII
-	tristate
 	default n
 	help
 	  RTL8139C+ pci driver
 
 config ADK_KPACKAGE_KMOD_8139TOO
 	prompt "kmod-net-rtl8139.............. RTL8139 PCI driver"
+	tristate
 	select ADK_KERNEL_NETDEVICES
 	select ADK_KERNEL_NET_ETHERNET
 	select ADK_KERNEL_NET_PCI
 	select ADK_KERNEL_MII
-	tristate
 	default n
 	help
 	  RTL8139 pci driver
 
 config ADK_KPACKAGE_KMOD_E100
 	prompt "kmod-net-e100................. Intel(R) PRO/100+ driver"
+	tristate
 	select ADK_KERNEL_NETDEVICES
 	select ADK_KERNEL_NET_PCI
 	select ADK_KERNEL_MII
-	tristate
 	default n
 	help
 	  Intel(R) PRO/100+ cards kernel support
 
 config ADK_KPACKAGE_KMOD_E1000
 	prompt "kmod-net-e1000................ Intel(R) PRO/1000 Gigabit Ethernet driver"
+	tristate
 	select ADK_KERNEL_NETDEVICES
 	select ADK_KERNEL_NET_ETHERNET
 	select ADK_KERNEL_NETDEV_1000
-	tristate
 	default y if ADK_HARDWARE_IBMX40
 	default n
 	help
@@ -94,10 +89,11 @@ config ADK_KPACKAGE_KMOD_E1000
 
 config ADK_KPACKAGE_KMOD_SKY2
 	prompt "kmod-net-sky2................. Marvell Yukon driver"
+	tristate
 	select ADK_KERNEL_NETDEVICES
 	select ADK_KERNEL_NET_ETHERNET
 	select ADK_KERNEL_NETDEV_1000
-	tristate
+	default y if ADK_HARDWARE_SHUTTLE
 	default n
 	help
 
@@ -105,52 +101,41 @@ endmenu
 
 config ADK_KERNEL_WIRELESS
 	boolean
-	default n
 
 config ADK_KERNEL_WIRELESS_EXT
 	boolean
-	default n
 
 config ADK_KERNEL_MAC80211_LEDS
-	bool
+	boolean
 	select ADK_KPACKAGE_KMOD_LEDS_CLASS
 	select ADK_KERNEL_NEW_LEDS
-	default n
 
 config ADK_KERNEL_WLAN_80211
 	boolean
-	default n
 
 config ADK_KPACKAGE_KMOD_RT2X00
 	tristate
-	default n
 
 config ADK_KERNEL_RT2X00
 	boolean
 	select ADK_KPACKAGE_KMOD_RT2X00
 	select ADK_KPACKAGE_KMOD_FW_LOADER
 	select ADK_KPACKAGE_KMOD_EEPROM_93CX6
-	default n
 
 config ADK_MOD_KERNEL_CFG80211
 	tristate
-	default n
 
 config ADK_MOD_KERNEL_LIB80211
 	tristate
-	default n
 
 config ADK_KERNEL_CFG80211_WEXT
 	boolean
-	default n
 
 config ADK_KERNEL_ATH_COMMON
 	tristate
-	default n
 
 config ADK_KPACKAGE_KMOD_P54_COMMON
 	tristate
-	default n
 
 config ADK_MOD_KERNEL_MAC80211
 	tristate
@@ -164,21 +149,18 @@ config ADK_MOD_KERNEL_MAC80211
 	select ADK_KERNEL_WLAN_80211
 	default n
 
-menu "Wireless card support"
-depends on ADK_TARGET_WITH_MINIPCI || ADK_TARGET_WITH_PCI || ADK_TARGET_WITH_USB || ADK_TARGET_WITH_SSB
-
 config ADK_KERNEL_MAC80211_DEBUG_MENU
 	boolean
-	default n
 
 config ADK_KERNEL_MAC80211_VERBOSE_DEBUG
 	select ADK_KERNEL_MAC80211_DEBUG_MENU
 	boolean
-	default n
 
 config ADK_KERNEL_MAC80211_DEBUGFS
 	boolean
-	default n
+
+menu "Wireless card support"
+depends on ADK_TARGET_WITH_MINIPCI || ADK_TARGET_WITH_PCI || ADK_TARGET_WITH_USB || ADK_TARGET_WITH_SSB
 
 config ADK_KPACKAGE_KMOD_MAC80211
 	prompt "kmod-mac80211.................. mac80211 softmac"
@@ -200,8 +182,8 @@ config ADK_DEBUG_MAC80211
 	select ADK_KERNEL_MAC80211_VERBOSE_DEBUG
 	select ADK_KERNEL_MAC80211_DEBUGFS
 	select ADK_KERNEL_DEBUG_FS
-	default n
 	depends on ADK_KPACKAGE_KMOD_MAC80211
+	default n
 	help
 
 config ADK_KPACKAGE_KMOD_ATH5K
@@ -218,10 +200,10 @@ config ADK_KPACKAGE_KMOD_ATH5K
 
 config ADK_KERNEL_ATH5K_DEBUG
 	prompt "enable debugging info via debugfs"
+	boolean
+	select ADK_KERNEL_DEBUG_FS
 	depends on ADK_KPACKAGE_KMOD_ATH5K
 	default n
-	select ADK_KERNEL_DEBUG_FS
-	boolean
 	help
    	  Atheros 5xxx debugging messages.
 	  Say Y, if and you will get debug options for ath5k.
@@ -237,8 +219,8 @@ config ADK_KERNEL_ATH5K_DEBUG
 config ADK_KPACKAGE_KMOD_B43
 	prompt "kmod-b43..................... Broadcom B43xx wireless cards"
 	tristate
-	depends on ADK_KPACKAGE_KMOD_MAC80211
 	select ADK_KPACKAGE_KMOD_FW_LOADER
+	depends on ADK_KPACKAGE_KMOD_MAC80211
 	depends on ADK_TARGET_WITH_SSB || ADK_TARGET_WITH_MINIPCI
 	default n
 	help
@@ -255,11 +237,11 @@ config ADK_KPACKAGE_KMOD_RTL8187
 config ADK_KPACKAGE_KMOD_P54_USB
 	prompt "kmod-p54-usb................. Prism54 USB support"
 	tristate
-	depends on ADK_KPACKAGE_KMOD_MAC80211
-	depends on ADK_PACKAGE_KMOD_USB_CONTROLLER
 	select ADK_KPACKAGE_KMOD_P54_COMMON
 	select ADK_KPACKAGE_KMOD_FW_LOADER
 	select ADK_PACKAGE_P54_FIRMWARE
+	depends on ADK_KPACKAGE_KMOD_MAC80211
+	depends on ADK_PACKAGE_KMOD_USB_CONTROLLER
 	default n
 	help
 	  Driver for Prism54 USB adaptors.
@@ -267,11 +249,11 @@ config ADK_KPACKAGE_KMOD_P54_USB
 config ADK_KPACKAGE_KMOD_RT2400PCI
 	prompt "kmod-rt2400pci............... Ralink rt2400"
 	tristate
-	default n
 	select ADK_KERNEL_RT2X00
 	select ADK_KERNEL_MAC80211_LEDS
 	depends on ADK_KPACKAGE_KMOD_MAC80211
 	depends on ADK_TARGET_WITH_MINIPCI || ADK_TARGET_WITH_PCI
+	default n
 	help
 	  This adds support for rt2400 wireless chipset family.
 	  Supported chips: RT2460.
@@ -279,11 +261,11 @@ config ADK_KPACKAGE_KMOD_RT2400PCI
 config ADK_KPACKAGE_KMOD_RT2500PCI
 	prompt "kmod-rt2500pci............... Ralink rt2500"
 	tristate
-	default n
 	select ADK_KERNEL_RT2X00
 	select ADK_KERNEL_MAC80211_LEDS
 	depends on ADK_KPACKAGE_KMOD_MAC80211
 	depends on ADK_TARGET_WITH_MINIPCI || ADK_TARGET_WITH_PCI
+	default n
 	help
 	  This adds support for rt2500 wireless chipset family.
 	  Supported chips: RT2560.
@@ -291,24 +273,24 @@ config ADK_KPACKAGE_KMOD_RT2500PCI
 config ADK_KPACKAGE_KMOD_RT61PCI
 	prompt "kmod-rt61pci................. Ralink rt2501/rt61"
 	tristate
-	default n
 	select ADK_KERNEL_RT2X00
 	select ADK_KERNEL_MAC80211_LEDS
 	select ADK_KPACKAGE_KMOD_CRC_ITU_T
 	select ADK_PACKAGE_RT61_FIRMWARE
 	depends on ADK_KPACKAGE_KMOD_MAC80211
 	depends on ADK_TARGET_WITH_MINIPCI || ADK_TARGET_WITH_PCI
+	default n
 	help
 	  This adds support for rt2501 wireless chipset family.
 	  Supported chips: RT2561, RT2561S & RT2661.
 
 config ADK_KERNEL_RT2X00_DEBUG
 	prompt "enable debugging info"
+	boolean
 	depends on ADK_KPACKAGE_KMOD_RT61PCI || \
 		ADK_KPACKAGE_KMOD_RT2500PCI || \
 		ADK_KPACKAGE_KMOD_RT2400PCI	
 	default n
-	boolean
 	help
 
 endmenu

+ 1 - 1
target/x86/target.mk

@@ -2,4 +2,4 @@ include $(TOPDIR)/mk/kernel-ver.mk
 ARCH:=			x86
 CPU_ARCH:=		i686
 TARGET_OPTIMIZATION:=	-O2 -pipe
-TARGET_CFLAGS_ARCH:=	-march=pentium-m
+TARGET_CFLAGS_ARCH:=	$(ADK_TARGET_CFLAGS)

+ 1 - 1
target/x86_64/target.mk

@@ -2,4 +2,4 @@ include $(TOPDIR)/mk/kernel-ver.mk
 ARCH:=			x86
 CPU_ARCH:=		x86_64
 TARGET_OPTIMIZATION:=	-O2 -pipe
-TARGET_CFLAGS_ARCH:=	-march=amdfam10
+TARGET_CFLAGS_ARCH:=	$(ADK_TARGET_CFLAGS)