Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 3/4] cubieboard: update build support for cubieboard 1/2/3.
@ 2015-07-21  1:49 Scott Fan
  2015-07-21  1:49 ` [Buildroot] [PATCH 4/4] cubieboard: [PATCH] ipconfig: add nameserver IPs to kernel-parameter ip= Scott Fan
  2015-07-21 21:38 ` [Buildroot] [PATCH 3/4] cubieboard: update build support for cubieboard 1/2/3 Thomas Petazzoni
  0 siblings, 2 replies; 4+ messages in thread
From: Scott Fan @ 2015-07-21  1:49 UTC (permalink / raw)
  To: buildroot

This patch update the cb1/cb2's defconfig to mainline u-boot version,
and bump their linux-sunxi kernel to latest stage/sunxi-3.4 branch.

Additionally, add defconfig for cubieboard3 (a.k.a. cubietruck).

Finally, support set up the SD card only to boot from network.

Signed-off-by: Scott Fan <fancp2007@gmail.com>
---
 board/cubietech/cubieboard/boot.cmd                |   7 +-
 board/cubietech/cubieboard/boot.env                |  20 +
 .../cubietech/cubieboard/linux-cubieboard2.config  | 749 ---------------------
 board/cubietech/cubieboard/mkcubiecard.sh          | 125 ++--
 board/cubietech/cubieboard/post-build.sh           |  14 -
 board/cubietech/cubieboard/post-image.sh           |  26 +
 board/cubietech/cubieboard/readme.txt              |  31 +-
 board/cubietech/cubieboard/sun4i-cubieboard.config |   4 +
 .../cubietech/cubieboard/sun7i-cubieboard2.config  |   4 +
 board/cubietech/cubieboard/sun7i-cubietruck.config |   4 +
 configs/cubieboard2_defconfig                      |  39 +-
 configs/cubieboard_defconfig                       |  38 +-
 configs/cubietruck_defconfig                       |  21 +
 13 files changed, 205 insertions(+), 877 deletions(-)
 create mode 100644 board/cubietech/cubieboard/boot.env
 delete mode 100644 board/cubietech/cubieboard/linux-cubieboard2.config
 delete mode 100755 board/cubietech/cubieboard/post-build.sh
 create mode 100755 board/cubietech/cubieboard/post-image.sh
 create mode 100644 board/cubietech/cubieboard/sun4i-cubieboard.config
 create mode 100644 board/cubietech/cubieboard/sun7i-cubieboard2.config
 create mode 100644 board/cubietech/cubieboard/sun7i-cubietruck.config
 create mode 100644 configs/cubietruck_defconfig

diff --git a/board/cubietech/cubieboard/boot.cmd b/board/cubietech/cubieboard/boot.cmd
index 849ed00..519b0e7 100644
--- a/board/cubietech/cubieboard/boot.cmd
+++ b/board/cubietech/cubieboard/boot.cmd
@@ -1,4 +1,5 @@
+setenv bootm_boot_mode sec
 setenv bootargs console=ttyS0,115200 root=/dev/mmcblk0p2 rootwait panic=10 ${extra}
-fatload mmc 0 0x43000000 script.bin
-fatload mmc 0 0x48000000 uImage
-bootm 0x48000000
+load mmc 0:1 0x43000000 script.bin || load mmc 0:1 0x43000000 boot/script.bin
+load mmc 0:1 0x42000000 uImage || load mmc 0:1 0x42000000 boot/uImage
+bootm 0x42000000
diff --git a/board/cubietech/cubieboard/boot.env b/board/cubietech/cubieboard/boot.env
new file mode 100644
index 0000000..8d8fbd4
--- /dev/null
+++ b/board/cubietech/cubieboard/boot.env
@@ -0,0 +1,20 @@
+autoload=no
+nfsroot=/tftpboot/rootfs
+
+stderr=serial,vga
+stdin=serial,usbkbd
+stdout=serial,vga
+
+scriptfile=script.bin
+scriptaddr=0x43000000
+
+kernelfile=uImage
+kernel_addr_r=0x42000000
+
+bootm_boot_mode=sec
+console=ttyS0,115200
+
+netargs=setenv bootargs console=${console} root=/dev/nfs nfsroot=${serverip}:${nfsroot} ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}:eth0:off:${dnsip} ${extra}
+netboot=if test -s ${ipaddr}; then if test -s ${serverip}; then run netargs; tftp ${scriptaddr} ${serverip}:${scriptfile}; tftp ${kernel_addr_r} ${serverip}:${kernelfile}; bootm ${kernel_addr_r}; else echo WARN: Cannot find the environment variable serverip, please setenv, then saveenv and boot; fi; else run bootcmd; fi;
+
+bootcmd=dhcp; run netboot;
diff --git a/board/cubietech/cubieboard/linux-cubieboard2.config b/board/cubietech/cubieboard/linux-cubieboard2.config
deleted file mode 100644
index 1ae1519..0000000
--- a/board/cubietech/cubieboard/linux-cubieboard2.config
+++ /dev/null
@@ -1,749 +0,0 @@
-CONFIG_EXPERIMENTAL=y
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_SYSVIPC=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_BSD_PROCESS_ACCT_V3=y
-CONFIG_TASKSTATS=y
-CONFIG_TASK_DELAY_ACCT=y
-CONFIG_TASK_XACCT=y
-CONFIG_TASK_IO_ACCOUNTING=y
-CONFIG_AUDIT=y
-CONFIG_IRQ_DOMAIN_DEBUG=y
-CONFIG_RCU_FAST_NO_HZ=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=19
-CONFIG_CGROUPS=y
-CONFIG_CGROUP_FREEZER=y
-CONFIG_CGROUP_DEVICE=y
-CONFIG_CPUSETS=y
-CONFIG_CGROUP_CPUACCT=y
-CONFIG_RESOURCE_COUNTERS=y
-CONFIG_CGROUP_MEM_RES_CTLR=y
-CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
-CONFIG_CGROUP_MEM_RES_CTLR_KMEM=y
-CONFIG_CGROUP_PERF=y
-CONFIG_CGROUP_SCHED=y
-CONFIG_CFS_BANDWIDTH=y
-CONFIG_RT_GROUP_SCHED=y
-CONFIG_BLK_CGROUP=y
-CONFIG_RELAY=y
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_KALLSYMS_ALL=y
-CONFIG_PERF_COUNTERS=y
-# CONFIG_COMPAT_BRK is not set
-CONFIG_JUMP_LABEL=y
-CONFIG_MODULES=y
-CONFIG_MODULE_FORCE_LOAD=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODVERSIONS=y
-CONFIG_MODULE_SRCVERSION_ALL=y
-CONFIG_BLK_DEV_BSGLIB=y
-CONFIG_BLK_DEV_INTEGRITY=y
-CONFIG_PARTITION_ADVANCED=y
-CONFIG_OSF_PARTITION=y
-CONFIG_AMIGA_PARTITION=y
-CONFIG_MAC_PARTITION=y
-CONFIG_BSD_DISKLABEL=y
-CONFIG_MINIX_SUBPARTITION=y
-CONFIG_SOLARIS_X86_PARTITION=y
-CONFIG_UNIXWARE_DISKLABEL=y
-CONFIG_SGI_PARTITION=y
-CONFIG_SUN_PARTITION=y
-CONFIG_KARMA_PARTITION=y
-CONFIG_EFI_PARTITION=y
-CONFIG_CFQ_GROUP_IOSCHED=y
-CONFIG_ARCH_SUN7I=y
-CONFIG_SUNXI_SCALING_MIN=408
-# CONFIG_CACHE_L2X0 is not set
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_SMP=y
-CONFIG_ARM_ARCH_TIMER=y
-CONFIG_NR_CPUS=2
-CONFIG_PREEMPT=y
-CONFIG_AEABI=y
-# CONFIG_OABI_COMPAT is not set
-CONFIG_HIGHMEM=y
-CONFIG_COMPACTION=y
-CONFIG_KSM=y
-CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/mmc0p1 rw init=/init loglevel=8"
-CONFIG_KEXEC=y
-CONFIG_CPU_FREQ=y
-CONFIG_CPU_FREQ_STAT=m
-CONFIG_CPU_FREQ_DEFAULT_GOV_FANTASY=y
-CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
-CONFIG_CPU_FREQ_GOV_POWERSAVE=m
-CONFIG_CPU_FREQ_GOV_USERSPACE=m
-CONFIG_CPU_FREQ_GOV_ONDEMAND=y
-CONFIG_CPU_FREQ_GOV_INTERACTIVE=y
-CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
-CONFIG_CPU_FREQ_USR_EVNT_NOTIFY=y
-CONFIG_CPU_FREQ_DVFS=y
-CONFIG_CPU_IDLE=y
-CONFIG_VFP=y
-CONFIG_NEON=y
-CONFIG_BINFMT_MISC=y
-CONFIG_PM_RUNTIME=y
-CONFIG_PM_DEBUG=y
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_XFRM_USER=y
-CONFIG_NET_KEY=y
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-CONFIG_IP_ADVANCED_ROUTER=y
-CONFIG_IP_FIB_TRIE_STATS=y
-CONFIG_IP_MULTIPLE_TABLES=y
-CONFIG_IP_ROUTE_MULTIPATH=y
-CONFIG_IP_ROUTE_VERBOSE=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-CONFIG_IP_PNP_BOOTP=y
-CONFIG_IP_PNP_RARP=y
-CONFIG_NET_IPIP=y
-CONFIG_NET_IPGRE_DEMUX=m
-CONFIG_NET_IPGRE=m
-CONFIG_NET_IPGRE_BROADCAST=y
-CONFIG_IP_MROUTE=y
-CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
-CONFIG_IP_PIMSM_V1=y
-CONFIG_IP_PIMSM_V2=y
-CONFIG_ARPD=y
-CONFIG_SYN_COOKIES=y
-CONFIG_INET_AH=y
-CONFIG_INET_ESP=y
-CONFIG_INET_IPCOMP=y
-CONFIG_INET_DIAG=m
-CONFIG_INET_UDP_DIAG=m
-CONFIG_TCP_CONG_ADVANCED=y
-CONFIG_TCP_CONG_BIC=y
-CONFIG_TCP_CONG_WESTWOOD=y
-CONFIG_TCP_CONG_HTCP=y
-CONFIG_TCP_CONG_HSTCP=y
-CONFIG_TCP_CONG_HYBLA=y
-CONFIG_TCP_CONG_SCALABLE=y
-CONFIG_TCP_CONG_LP=y
-CONFIG_TCP_CONG_VENO=y
-CONFIG_TCP_CONG_YEAH=y
-CONFIG_TCP_CONG_ILLINOIS=y
-CONFIG_TCP_MD5SIG=y
-CONFIG_IPV6=y
-CONFIG_IPV6_PRIVACY=y
-CONFIG_IPV6_ROUTER_PREF=y
-CONFIG_IPV6_ROUTE_INFO=y
-CONFIG_IPV6_OPTIMISTIC_DAD=y
-CONFIG_INET6_AH=m
-CONFIG_INET6_ESP=m
-CONFIG_INET6_IPCOMP=m
-CONFIG_IPV6_MIP6=m
-CONFIG_INET6_XFRM_MODE_TRANSPORT=m
-CONFIG_INET6_XFRM_MODE_TUNNEL=m
-CONFIG_INET6_XFRM_MODE_BEET=m
-CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
-CONFIG_IPV6_SIT=m
-CONFIG_IPV6_SIT_6RD=y
-CONFIG_IPV6_TUNNEL=m
-CONFIG_IPV6_MULTIPLE_TABLES=y
-CONFIG_IPV6_SUBTREES=y
-CONFIG_IPV6_MROUTE=y
-CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
-CONFIG_IPV6_PIMSM_V2=y
-# CONFIG_ANDROID_PARANOID_NETWORK is not set
-CONFIG_NETWORK_SECMARK=y
-CONFIG_NETWORK_PHY_TIMESTAMPING=y
-CONFIG_NETFILTER=y
-CONFIG_NF_CONNTRACK=m
-CONFIG_NF_CONNTRACK_SECMARK=y
-CONFIG_NF_CONNTRACK_ZONES=y
-CONFIG_NF_CONNTRACK_EVENTS=y
-CONFIG_NF_CONNTRACK_TIMEOUT=y
-CONFIG_NF_CONNTRACK_TIMESTAMP=y
-CONFIG_NF_CT_PROTO_DCCP=m
-CONFIG_NF_CT_PROTO_SCTP=m
-CONFIG_NF_CT_PROTO_UDPLITE=m
-CONFIG_NF_CONNTRACK_AMANDA=m
-CONFIG_NF_CONNTRACK_FTP=m
-CONFIG_NF_CONNTRACK_H323=m
-CONFIG_NF_CONNTRACK_IRC=m
-CONFIG_NF_CONNTRACK_NETBIOS_NS=m
-CONFIG_NF_CONNTRACK_SNMP=m
-CONFIG_NF_CONNTRACK_PPTP=m
-CONFIG_NF_CONNTRACK_SANE=m
-CONFIG_NF_CONNTRACK_SIP=m
-CONFIG_NF_CONNTRACK_TFTP=m
-CONFIG_NF_CT_NETLINK=m
-CONFIG_NF_CT_NETLINK_TIMEOUT=m
-CONFIG_NETFILTER_TPROXY=m
-CONFIG_NETFILTER_XT_SET=m
-CONFIG_NETFILTER_XT_TARGET_AUDIT=m
-CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
-CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
-CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
-CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
-CONFIG_NETFILTER_XT_TARGET_CT=m
-CONFIG_NETFILTER_XT_TARGET_DSCP=m
-CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
-CONFIG_NETFILTER_XT_TARGET_LED=m
-CONFIG_NETFILTER_XT_TARGET_LOG=m
-CONFIG_NETFILTER_XT_TARGET_MARK=m
-CONFIG_NETFILTER_XT_TARGET_NFLOG=m
-CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
-CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
-CONFIG_NETFILTER_XT_TARGET_TEE=m
-CONFIG_NETFILTER_XT_TARGET_TPROXY=m
-CONFIG_NETFILTER_XT_TARGET_TRACE=m
-CONFIG_NETFILTER_XT_TARGET_SECMARK=m
-CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
-CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
-CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
-CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
-CONFIG_NETFILTER_XT_MATCH_COMMENT=m
-CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
-CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
-CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
-CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
-CONFIG_NETFILTER_XT_MATCH_CPU=m
-CONFIG_NETFILTER_XT_MATCH_DCCP=m
-CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
-CONFIG_NETFILTER_XT_MATCH_DSCP=m
-CONFIG_NETFILTER_XT_MATCH_ESP=m
-CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
-CONFIG_NETFILTER_XT_MATCH_HELPER=m
-CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
-CONFIG_NETFILTER_XT_MATCH_IPVS=m
-CONFIG_NETFILTER_XT_MATCH_LENGTH=m
-CONFIG_NETFILTER_XT_MATCH_LIMIT=m
-CONFIG_NETFILTER_XT_MATCH_MAC=m
-CONFIG_NETFILTER_XT_MATCH_MARK=m
-CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
-CONFIG_NETFILTER_XT_MATCH_NFACCT=m
-CONFIG_NETFILTER_XT_MATCH_OSF=m
-CONFIG_NETFILTER_XT_MATCH_OWNER=m
-CONFIG_NETFILTER_XT_MATCH_POLICY=m
-CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
-CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
-CONFIG_NETFILTER_XT_MATCH_QUOTA=m
-CONFIG_NETFILTER_XT_MATCH_QUOTA2=m
-CONFIG_NETFILTER_XT_MATCH_RATEEST=m
-CONFIG_NETFILTER_XT_MATCH_REALM=m
-CONFIG_NETFILTER_XT_MATCH_RECENT=m
-CONFIG_NETFILTER_XT_MATCH_SCTP=m
-CONFIG_NETFILTER_XT_MATCH_SOCKET=m
-CONFIG_NETFILTER_XT_MATCH_STATE=m
-CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
-CONFIG_NETFILTER_XT_MATCH_STRING=m
-CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
-CONFIG_NETFILTER_XT_MATCH_TIME=m
-CONFIG_NETFILTER_XT_MATCH_U32=m
-CONFIG_IP_SET=m
-CONFIG_IP_SET_BITMAP_IP=m
-CONFIG_IP_SET_BITMAP_IPMAC=m
-CONFIG_IP_SET_BITMAP_PORT=m
-CONFIG_IP_SET_HASH_IP=m
-CONFIG_IP_SET_HASH_IPPORT=m
-CONFIG_IP_SET_HASH_IPPORTIP=m
-CONFIG_IP_SET_HASH_IPPORTNET=m
-CONFIG_IP_SET_HASH_NET=m
-CONFIG_IP_SET_HASH_NETPORT=m
-CONFIG_IP_SET_HASH_NETIFACE=m
-CONFIG_IP_SET_LIST_SET=m
-CONFIG_IP_VS=m
-CONFIG_IP_VS_IPV6=y
-CONFIG_IP_VS_PROTO_TCP=y
-CONFIG_IP_VS_PROTO_UDP=y
-CONFIG_IP_VS_PROTO_ESP=y
-CONFIG_IP_VS_PROTO_AH=y
-CONFIG_IP_VS_PROTO_SCTP=y
-CONFIG_IP_VS_RR=m
-CONFIG_IP_VS_WRR=m
-CONFIG_IP_VS_LC=m
-CONFIG_IP_VS_WLC=m
-CONFIG_IP_VS_LBLC=m
-CONFIG_IP_VS_LBLCR=m
-CONFIG_IP_VS_DH=m
-CONFIG_IP_VS_SH=m
-CONFIG_IP_VS_SED=m
-CONFIG_IP_VS_NQ=m
-CONFIG_IP_VS_FTP=m
-CONFIG_IP_VS_PE_SIP=m
-CONFIG_NF_CONNTRACK_IPV4=m
-CONFIG_IP_NF_QUEUE=m
-CONFIG_IP_NF_IPTABLES=m
-CONFIG_IP_NF_MATCH_AH=m
-CONFIG_IP_NF_MATCH_ECN=m
-CONFIG_IP_NF_MATCH_RPFILTER=m
-CONFIG_IP_NF_MATCH_TTL=m
-CONFIG_IP_NF_FILTER=m
-CONFIG_IP_NF_TARGET_REJECT=m
-CONFIG_IP_NF_TARGET_REJECT_SKERR=y
-CONFIG_IP_NF_TARGET_ULOG=m
-CONFIG_NF_NAT=m
-CONFIG_IP_NF_TARGET_MASQUERADE=m
-CONFIG_IP_NF_TARGET_NETMAP=m
-CONFIG_IP_NF_TARGET_REDIRECT=m
-CONFIG_IP_NF_MANGLE=m
-CONFIG_IP_NF_TARGET_CLUSTERIP=m
-CONFIG_IP_NF_TARGET_ECN=m
-CONFIG_IP_NF_TARGET_TTL=m
-CONFIG_IP_NF_RAW=m
-CONFIG_IP_NF_ARPTABLES=m
-CONFIG_IP_NF_ARPFILTER=m
-CONFIG_IP_NF_ARP_MANGLE=m
-CONFIG_NF_CONNTRACK_IPV6=m
-CONFIG_IP6_NF_QUEUE=m
-CONFIG_IP6_NF_IPTABLES=m
-CONFIG_IP6_NF_MATCH_AH=m
-CONFIG_IP6_NF_MATCH_EUI64=m
-CONFIG_IP6_NF_MATCH_FRAG=m
-CONFIG_IP6_NF_MATCH_OPTS=m
-CONFIG_IP6_NF_MATCH_HL=m
-CONFIG_IP6_NF_MATCH_IPV6HEADER=m
-CONFIG_IP6_NF_MATCH_MH=m
-CONFIG_IP6_NF_MATCH_RPFILTER=m
-CONFIG_IP6_NF_MATCH_RT=m
-CONFIG_IP6_NF_TARGET_HL=m
-CONFIG_IP6_NF_FILTER=m
-CONFIG_IP6_NF_TARGET_REJECT=m
-CONFIG_IP6_NF_TARGET_REJECT_SKERR=y
-CONFIG_IP6_NF_MANGLE=m
-CONFIG_IP6_NF_RAW=m
-CONFIG_BRIDGE_NF_EBTABLES=m
-CONFIG_BRIDGE_EBT_BROUTE=m
-CONFIG_BRIDGE_EBT_T_FILTER=m
-CONFIG_BRIDGE_EBT_T_NAT=m
-CONFIG_BRIDGE_EBT_802_3=m
-CONFIG_BRIDGE_EBT_AMONG=m
-CONFIG_BRIDGE_EBT_ARP=m
-CONFIG_BRIDGE_EBT_IP=m
-CONFIG_BRIDGE_EBT_IP6=m
-CONFIG_BRIDGE_EBT_LIMIT=m
-CONFIG_BRIDGE_EBT_MARK=m
-CONFIG_BRIDGE_EBT_PKTTYPE=m
-CONFIG_BRIDGE_EBT_STP=m
-CONFIG_BRIDGE_EBT_VLAN=m
-CONFIG_BRIDGE_EBT_ARPREPLY=m
-CONFIG_BRIDGE_EBT_DNAT=m
-CONFIG_BRIDGE_EBT_MARK_T=m
-CONFIG_BRIDGE_EBT_REDIRECT=m
-CONFIG_BRIDGE_EBT_SNAT=m
-CONFIG_BRIDGE_EBT_LOG=m
-CONFIG_BRIDGE_EBT_ULOG=m
-CONFIG_BRIDGE_EBT_NFLOG=m
-CONFIG_L2TP=m
-CONFIG_L2TP_V3=y
-CONFIG_L2TP_IP=m
-CONFIG_L2TP_ETH=m
-CONFIG_BRIDGE=m
-CONFIG_VLAN_8021Q=m
-CONFIG_VLAN_8021Q_GVRP=y
-CONFIG_BATMAN_ADV=m
-CONFIG_OPENVSWITCH=m
-CONFIG_NETPRIO_CGROUP=m
-CONFIG_NET_PKTGEN=m
-CONFIG_IRDA=m
-CONFIG_IRLAN=m
-CONFIG_IRNET=m
-CONFIG_IRCOMM=m
-CONFIG_IRDA_ULTRA=y
-CONFIG_IRTTY_SIR=m
-CONFIG_KINGSUN_DONGLE=m
-CONFIG_KSDAZZLE_DONGLE=m
-CONFIG_KS959_DONGLE=m
-CONFIG_USB_IRDA=m
-CONFIG_SIGMATEL_FIR=m
-CONFIG_MCS_FIR=m
-CONFIG_BT=m
-CONFIG_BT_RFCOMM=m
-CONFIG_BT_RFCOMM_TTY=y
-CONFIG_BT_BNEP=m
-CONFIG_BT_BNEP_MC_FILTER=y
-CONFIG_BT_BNEP_PROTO_FILTER=y
-CONFIG_BT_HIDP=m
-CONFIG_BT_HCIBTUSB=m
-CONFIG_BT_HCIBTSDIO=m
-CONFIG_BT_HCIBCM203X=m
-CONFIG_BT_HCIBPA10X=m
-CONFIG_BT_HCIBFUSB=m
-CONFIG_BT_MRVL=m
-CONFIG_BT_MRVL_SDIO=m
-CONFIG_BT_ATH3K=m
-CONFIG_AF_RXRPC=m
-CONFIG_RXKAD=m
-CONFIG_CFG80211=y
-CONFIG_CFG80211_DEVELOPER_WARNINGS=y
-CONFIG_WIRELESS_EXT_SYSFS=y
-CONFIG_LIB80211=m
-CONFIG_CFG80211_ALLOW_RECONNECT=y
-CONFIG_MAC80211=m
-CONFIG_MAC80211_MESH=y
-CONFIG_WIMAX=m
-CONFIG_RFKILL=y
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-# CONFIG_FIRMWARE_IN_KERNEL is not set
-CONFIG_CONNECTOR=y
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLK_DEV_CRYPTOLOOP=y
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=2
-CONFIG_SUNXI_DBGREG=m
-CONFIG_BLK_DEV_SD=y
-CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
-CONFIG_SCSI_MULTI_LUN=y
-CONFIG_ATA=y
-CONFIG_SATA_AHCI_PLATFORM=y
-CONFIG_SW_SATA_AHCI_PLATFORM=y
-CONFIG_NETDEVICES=y
-CONFIG_BONDING=m
-# CONFIG_NET_VENDOR_BROADCOM is not set
-# CONFIG_NET_VENDOR_CHELSIO is not set
-# CONFIG_NET_VENDOR_FARADAY is not set
-# CONFIG_NET_VENDOR_INTEL is not set
-# CONFIG_NET_VENDOR_MARVELL is not set
-# CONFIG_NET_VENDOR_MICREL is not set
-# CONFIG_NET_VENDOR_NATSEMI is not set
-# CONFIG_NET_VENDOR_SEEQ is not set
-# CONFIG_NET_VENDOR_SMSC is not set
-# CONFIG_NET_VENDOR_STMICRO is not set
-CONFIG_SUNXI_EMAC=y
-CONFIG_PHYLIB=y
-CONFIG_PPP=m
-CONFIG_PPP_BSDCOMP=m
-CONFIG_PPP_DEFLATE=m
-CONFIG_PPP_FILTER=y
-CONFIG_PPP_MPPE=m
-CONFIG_PPP_MULTILINK=y
-CONFIG_PPPOE=m
-CONFIG_PPPOLAC=m
-CONFIG_PPPOPNS=m
-CONFIG_PPP_ASYNC=m
-CONFIG_PPP_SYNC_TTY=m
-CONFIG_USB_IPHETH=m
-CONFIG_ATH_COMMON=m
-CONFIG_ATH9K=m
-CONFIG_RTL8192CU=m
-CONFIG_RTL8192CU_SW=m
-CONFIG_RTL8188EU=m
-CONFIG_RTXX7X_SW=m
-CONFIG_INPUT_POLLDEV=y
-# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-CONFIG_INPUT_JOYDEV=y
-CONFIG_INPUT_EVDEV=y
-CONFIG_INPUT_KEYRESET=y
-CONFIG_KEYBOARD_HV2605_KEYBOARD=m
-CONFIG_INPUT_JOYSTICK=y
-CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_TOUCHSCREEN_GT801=m
-CONFIG_TOUCHSCREEN_GT811=m
-CONFIG_TOUCHSCREEN_GT818=m
-CONFIG_TOUCHSCREEN_FT5X_TS=m
-CONFIG_TOUCHSCREEN_ZT8031=m
-CONFIG_GSENSOR=y
-CONFIG_SENSORS_BMA250=m
-CONFIG_MEMSIC_ECOMPASS=m
-CONFIG_SENSORS_MXC622X=m
-CONFIG_VT_HW_CONSOLE_BINDING=y
-CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
-# CONFIG_LEGACY_PTYS is not set
-CONFIG_SERIAL_NONSTANDARD=y
-# CONFIG_DEVKMEM is not set
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_SERIAL_8250_NR_UARTS=8
-CONFIG_SERIAL_8250_RUNTIME_UARTS=8
-# CONFIG_HW_RANDOM is not set
-CONFIG_I2C=y
-CONFIG_I2C_CHARDEV=y
-CONFIG_SPI=y
-CONFIG_SPI_DEBUG=y
-CONFIG_GPIOLIB=y
-CONFIG_GPIO_SYSFS=y
-CONFIG_GPIO_SUNXI=m
-CONFIG_POWER_SUPPLY=y
-CONFIG_AW_AXP=y
-# CONFIG_HWMON is not set
-CONFIG_REGULATOR=y
-CONFIG_MEDIA_SUPPORT=y
-CONFIG_VIDEO_DEV=y
-CONFIG_MEDIA_TUNER_CUSTOMISE=y
-# CONFIG_MEDIA_TUNER_SIMPLE is not set
-# CONFIG_MEDIA_TUNER_TDA8290 is not set
-# CONFIG_MEDIA_TUNER_TDA827X is not set
-# CONFIG_MEDIA_TUNER_TDA18271 is not set
-# CONFIG_MEDIA_TUNER_TDA9887 is not set
-# CONFIG_MEDIA_TUNER_TEA5767 is not set
-# CONFIG_MEDIA_TUNER_MT20XX is not set
-# CONFIG_MEDIA_TUNER_MT2060 is not set
-# CONFIG_MEDIA_TUNER_MT2266 is not set
-# CONFIG_MEDIA_TUNER_MT2131 is not set
-# CONFIG_MEDIA_TUNER_QT1010 is not set
-# CONFIG_MEDIA_TUNER_MXL5005S is not set
-# CONFIG_MEDIA_TUNER_MXL5007T is not set
-# CONFIG_MEDIA_TUNER_MC44S803 is not set
-# CONFIG_MEDIA_TUNER_MAX2165 is not set
-# CONFIG_MEDIA_TUNER_TDA18218 is not set
-# CONFIG_MEDIA_TUNER_TDA18212 is not set
-CONFIG_USB_VIDEO_CLASS=m
-CONFIG_USB_M5602=m
-CONFIG_USB_STV06XX=m
-CONFIG_USB_GL860=m
-CONFIG_USB_GSPCA_BENQ=m
-CONFIG_USB_GSPCA_CONEX=m
-CONFIG_USB_GSPCA_CPIA1=m
-CONFIG_USB_GSPCA_ETOMS=m
-CONFIG_USB_GSPCA_FINEPIX=m
-CONFIG_USB_GSPCA_JEILINJ=m
-CONFIG_USB_GSPCA_JL2005BCD=m
-CONFIG_USB_GSPCA_KINECT=m
-CONFIG_USB_GSPCA_KONICA=m
-CONFIG_USB_GSPCA_MARS=m
-CONFIG_USB_GSPCA_MR97310A=m
-CONFIG_USB_GSPCA_NW80X=m
-CONFIG_USB_GSPCA_OV519=m
-CONFIG_USB_GSPCA_OV534=m
-CONFIG_USB_GSPCA_OV534_9=m
-CONFIG_USB_GSPCA_PAC207=m
-CONFIG_USB_GSPCA_PAC7302=m
-CONFIG_USB_GSPCA_PAC7311=m
-CONFIG_USB_GSPCA_SE401=m
-CONFIG_USB_GSPCA_SN9C2028=m
-CONFIG_USB_GSPCA_SN9C20X=m
-CONFIG_USB_GSPCA_SONIXB=m
-CONFIG_USB_GSPCA_SONIXJ=m
-CONFIG_USB_GSPCA_SPCA500=m
-CONFIG_USB_GSPCA_SPCA501=m
-CONFIG_USB_GSPCA_SPCA505=m
-CONFIG_USB_GSPCA_SPCA506=m
-CONFIG_USB_GSPCA_SPCA508=m
-CONFIG_USB_GSPCA_SPCA561=m
-CONFIG_USB_GSPCA_SPCA1528=m
-CONFIG_USB_GSPCA_SQ905=m
-CONFIG_USB_GSPCA_SQ905C=m
-CONFIG_USB_GSPCA_SQ930X=m
-CONFIG_USB_GSPCA_STK014=m
-CONFIG_USB_GSPCA_STV0680=m
-CONFIG_USB_GSPCA_SUNPLUS=m
-CONFIG_USB_GSPCA_T613=m
-CONFIG_USB_GSPCA_TOPRO=m
-CONFIG_USB_GSPCA_TV8532=m
-CONFIG_USB_GSPCA_VC032X=m
-CONFIG_USB_GSPCA_VICAM=m
-CONFIG_USB_GSPCA_XIRLINK_CIT=m
-CONFIG_USB_GSPCA_ZC3XX=m
-CONFIG_VIDEO_PVRUSB2=m
-CONFIG_VIDEO_HDPVR=m
-CONFIG_VIDEO_EM28XX=m
-CONFIG_VIDEO_EM28XX_ALSA=m
-CONFIG_VIDEO_CX231XX=m
-CONFIG_VIDEO_CX231XX_ALSA=m
-CONFIG_VIDEO_TM6000=m
-CONFIG_VIDEO_TM6000_ALSA=m
-CONFIG_VIDEO_USBVISION=m
-CONFIG_USB_ET61X251=m
-CONFIG_USB_SN9C102=m
-CONFIG_USB_PWC=m
-CONFIG_VIDEO_CPIA2=m
-CONFIG_USB_ZR364XX=m
-CONFIG_USB_STKWEBCAM=m
-CONFIG_USB_S2255=m
-CONFIG_V4L_PLATFORM_DRIVERS=y
-CONFIG_SOC_CAMERA=m
-CONFIG_SOC_CAMERA_IMX074=m
-CONFIG_SOC_CAMERA_MT9M001=m
-CONFIG_SOC_CAMERA_MT9M111=m
-CONFIG_SOC_CAMERA_MT9T031=m
-CONFIG_SOC_CAMERA_MT9T112=m
-CONFIG_SOC_CAMERA_MT9V022=m
-CONFIG_SOC_CAMERA_RJ54N1=m
-CONFIG_SOC_CAMERA_TW9910=m
-CONFIG_SOC_CAMERA_PLATFORM=m
-CONFIG_SOC_CAMERA_OV2640=m
-CONFIG_SOC_CAMERA_OV5642=m
-CONFIG_SOC_CAMERA_OV6650=m
-CONFIG_SOC_CAMERA_OV772X=m
-CONFIG_SOC_CAMERA_OV9640=m
-CONFIG_SOC_CAMERA_OV9740=m
-CONFIG_V4L_MEM2MEM_DRIVERS=y
-# CONFIG_VIDEO_CSI_SUN4I is not set
-CONFIG_RADIO_SI470X=y
-CONFIG_USB_SI470X=m
-CONFIG_I2C_SI470X=m
-CONFIG_USB_MR800=m
-CONFIG_USB_DSBR=m
-CONFIG_RADIO_SI4713=m
-CONFIG_USB_KEENE=m
-CONFIG_RADIO_TEA5764=m
-CONFIG_RADIO_SAA7706H=m
-CONFIG_RADIO_TEF6862=m
-CONFIG_RADIO_WL1273=m
-CONFIG_AUDIO_ENGINE=y
-CONFIG_PA_CONTROL=y
-CONFIG_DRM=m
-CONFIG_DRM_MALI=m
-CONFIG_DRM_UDL=m
-CONFIG_MALI=m
-CONFIG_MALI400_DEBUG=y
-CONFIG_MALI400_GPU_UTILIZATION=y
-CONFIG_FB=y
-CONFIG_FB_SUNXI=y
-CONFIG_FB_SUNXI_LCD=y
-CONFIG_FB_SUNXI_HDMI=y
-CONFIG_HDMI_CEC=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_LOGO=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-# CONFIG_LOGO_LINUX_CLUT224 is not set
-CONFIG_SOUND=y
-CONFIG_SND=y
-CONFIG_SND_SEQUENCER=m
-CONFIG_SND_MIXER_OSS=m
-CONFIG_SND_PCM_OSS=m
-CONFIG_SND_SEQUENCER_OSS=y
-CONFIG_SND_HRTIMER=m
-CONFIG_SND_VERBOSE_PRINTK=y
-CONFIG_SND_ALOOP=m
-CONFIG_SND_USB_AUDIO=m
-CONFIG_SND_SOC=y
-CONFIG_SND_SUNXI_SOC_SPDIF=y
-CONFIG_HIDRAW=y
-CONFIG_UHID=y
-CONFIG_HID_PID=y
-CONFIG_USB_HIDDEV=y
-CONFIG_HID_KYE=y
-CONFIG_HID_LOGITECH_DJ=y
-CONFIG_LOGITECH_FF=y
-# CONFIG_LOGIWHEELS_FF is not set
-CONFIG_USB=y
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_EHCI_ROOT_HUB_TT=y
-CONFIG_USB_OHCI_HCD=y
-CONFIG_USB_STORAGE=y
-CONFIG_USB_STORAGE_REALTEK=y
-CONFIG_USB_STORAGE_DATAFAB=y
-CONFIG_USB_STORAGE_FREECOM=y
-CONFIG_USB_STORAGE_ISD200=y
-CONFIG_USB_STORAGE_USBAT=y
-CONFIG_USB_STORAGE_SDDR09=y
-CONFIG_USB_STORAGE_SDDR55=y
-CONFIG_USB_STORAGE_JUMPSHOT=y
-CONFIG_USB_STORAGE_ALAUDA=y
-CONFIG_USB_STORAGE_ONETOUCH=y
-CONFIG_USB_STORAGE_KARMA=y
-CONFIG_USB_STORAGE_CYPRESS_ATACB=y
-CONFIG_USB_STORAGE_ENE_UB6250=y
-CONFIG_USB_SERIAL=y
-CONFIG_USB_SERIAL_CONSOLE=y
-CONFIG_USB_SERIAL_GENERIC=y
-CONFIG_USB_SERIAL_FTDI_SIO=m
-CONFIG_USB_SERIAL_PL2303=m
-CONFIG_USB_GADGET=y
-CONFIG_USB_FILE_STORAGE=m
-CONFIG_USB_FILE_STORAGE_TEST=y
-CONFIG_MMC=y
-# CONFIG_MMC_BLOCK_BOUNCE is not set
-CONFIG_MMC_USHC=y
-CONFIG_MMC_SUNXI_POWER_CONTROL=y
-CONFIG_LEDS_CLASS=y
-CONFIG_LEDS_SUNXI=y
-CONFIG_LEDS_TRIGGER_TIMER=y
-CONFIG_LEDS_TRIGGER_HEARTBEAT=y
-CONFIG_LEDS_TRIGGER_BACKLIGHT=y
-CONFIG_LEDS_TRIGGER_CPU=y
-CONFIG_LEDS_TRIGGER_GPIO=y
-CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_SUN4I=y
-CONFIG_STAGING=y
-CONFIG_ANDROID=y
-CONFIG_ANDROID_BINDER_IPC=y
-CONFIG_ANDROID_LOGGER=y
-CONFIG_ANDROID_RAM_CONSOLE=y
-CONFIG_ANDROID_LOW_MEMORY_KILLER=y
-CONFIG_EXT2_FS=y
-CONFIG_EXT3_FS=y
-CONFIG_EXT4_FS=y
-CONFIG_EXT4_FS_POSIX_ACL=y
-CONFIG_EXT4_FS_SECURITY=y
-CONFIG_REISERFS_FS=y
-CONFIG_QUOTA=y
-CONFIG_QUOTA_NETLINK_INTERFACE=y
-# CONFIG_PRINT_QUOTA_WARNING is not set
-CONFIG_QFMT_V2=y
-CONFIG_AUTOFS4_FS=y
-CONFIG_FUSE_FS=y
-CONFIG_CUSE=y
-CONFIG_FSCACHE=y
-CONFIG_FSCACHE_STATS=y
-CONFIG_CACHEFILES=y
-CONFIG_ISO9660_FS=y
-CONFIG_JOLIET=y
-CONFIG_ZISOFS=y
-CONFIG_UDF_FS=y
-CONFIG_MSDOS_FS=y
-CONFIG_VFAT_FS=y
-CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
-CONFIG_NTFS_FS=y
-CONFIG_NTFS_RW=y
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-CONFIG_CONFIGFS_FS=y
-CONFIG_HFS_FS=y
-CONFIG_HFSPLUS_FS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-CONFIG_NFS_V3_ACL=y
-CONFIG_NFS_V4=y
-CONFIG_NFS_V4_1=y
-CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="y"
-CONFIG_ROOT_NFS=y
-CONFIG_NFS_USE_LEGACY_DNS=y
-CONFIG_NFSD=m
-CONFIG_NFSD_V3_ACL=y
-CONFIG_NFSD_V4=y
-CONFIG_NFSD_FAULT_INJECTION=y
-CONFIG_CIFS=y
-CONFIG_CIFS_DFS_UPCALL=y
-CONFIG_NLS_DEFAULT="utf8"
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_CODEPAGE_936=y
-CONFIG_NLS_CODEPAGE_950=y
-CONFIG_NLS_CODEPAGE_932=y
-CONFIG_NLS_CODEPAGE_949=y
-CONFIG_NLS_ASCII=y
-CONFIG_NLS_ISO8859_1=y
-CONFIG_PRINTK_TIME=y
-# CONFIG_ENABLE_WARN_DEPRECATED is not set
-CONFIG_FRAME_WARN=2048
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_STRIP_ASM_SYMS=y
-CONFIG_DEBUG_FS=y
-CONFIG_DEBUG_SECTION_MISMATCH=y
-CONFIG_DEBUG_KERNEL=y
-CONFIG_DEBUG_SHIRQ=y
-CONFIG_DETECT_HUNG_TASK=y
-CONFIG_SCHEDSTATS=y
-CONFIG_TIMER_STATS=y
-CONFIG_DEBUG_INFO=y
-CONFIG_DEBUG_LIST=y
-CONFIG_BOOT_PRINTK_DELAY=y
-CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y
-# CONFIG_FTRACE is not set
-CONFIG_DYNAMIC_DEBUG=y
-CONFIG_STRICT_DEVMEM=y
-CONFIG_DEBUG_LL=y
-CONFIG_SECURITYFS=y
-# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
-CONFIG_CRYPTO_GF128MUL=y
-CONFIG_CRYPTO_SEQIV=y
-CONFIG_CRYPTO_SHA256=m
-CONFIG_CRYPTO_SHA512=m
-CONFIG_CRYPTO_AES=y
-CONFIG_CRYPTO_ZLIB=y
-CONFIG_CRYPTO_LZO=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-# CONFIG_CRYPTO_HW is not set
-CONFIG_LIBCRC32C=y
diff --git a/board/cubietech/cubieboard/mkcubiecard.sh b/board/cubietech/cubieboard/mkcubiecard.sh
index f1d5a9f..a5bd8ec 100755
--- a/board/cubietech/cubieboard/mkcubiecard.sh
+++ b/board/cubietech/cubieboard/mkcubiecard.sh
@@ -1,4 +1,9 @@
-#! /bin/sh
+#!/bin/sh
+### BEGIN INTRO
+# mkcubiecard.sh v0.2:
+# 2015, Scott Fan <fancp2007@gmail.com>
+# rewrite this script more clear;
+# add the 'netboot' argument, to make a network-bootable card.
 # mkCubieCard.sh v0.1:
 # 2013, Carlo Caione <carlo.caione@gmail.com>
 # heavely based on :
@@ -9,13 +14,21 @@
 # (c) Copyright 2009 Graeme Gregory <dp@xora.org.uk>
 # Licensed under terms of GPLv2
 #
+# Bootable SD card
+# http://linux-sunxi.org/Bootable_SD_card
+#
 # Parts of the procudure base on the work of Denys Dmytriyenko
 # http://wiki.omap.com/index.php/MMC_Boot_Format
+### END INTRO
 
 IMAGES_DIR=$1
+DRIVE=$2
+NETBOOT=$3
+
 SPL_IMG=$IMAGES_DIR/sunxi-spl.bin
 SPL_UBOOT=$IMAGES_DIR/u-boot-sunxi-with-spl.bin
 UBOOT_IMG=$IMAGES_DIR/u-boot.bin
+UBOOT_ENV=$IMAGES_DIR/u-boot-env.bin
 UIMAGE=$IMAGES_DIR/uImage
 BIN_BOARD_FILE=$IMAGES_DIR/script.bin
 ROOTFS=$IMAGES_DIR/rootfs.tar
@@ -23,8 +36,8 @@ BOOT_CMD_H=$IMAGES_DIR/boot.scr
 
 export LC_ALL=C
 
-if [ $# -ne 2 ]; then
-	echo "Usage: $0 <images_dir> <drive>"
+if [ $# -lt 2 ]; then
+	echo "Usage: $0 <images_dir> <drive> [netboot: yes|no]"
 	exit 1;
 fi
 
@@ -35,6 +48,7 @@ fi
 
 if [ ! -f $SPL_IMG  -a ! -f $SPL_UBOOT ] ||
    [ ! -f $UBOOT_IMG ] ||
+   [ ! -f $UBOOT_ENV ] ||
    [ ! -f $UIMAGE ] ||
    [ ! -f $BIN_BOARD_FILE ] ||
    [ ! -f $ROOTFS ] ||
@@ -43,57 +57,81 @@ if [ ! -f $SPL_IMG  -a ! -f $SPL_UBOOT ] ||
 	exit 1
 fi
 
-DRIVE=$2
-P1=`mktemp -d`
-P2=`mktemp -d`
 
-dd if=/dev/zero of=$DRIVE bs=1M count=3
+####################
+# Preparing
+####################
+echo `fdisk -l $DRIVE | grep Disk | grep bytes`
 
-SIZE=`fdisk -l $DRIVE | grep Disk | grep bytes | awk '{print $5}'`
+# erase the first part of your card except the partition table
+echo "\n>>>> Erasing the first part of $DRIVE ..."
+dd if=/dev/zero of=$DRIVE bs=1024 count=1023 seek=1
 
-echo DISK SIZE - $SIZE bytes
+####################
+# Bootloader
+####################
+if [ -e $SPL_UBOOT ]; then
+	echo "\n>>>> Writing $SPL_UBOOT ..."
+	dd if=$SPL_UBOOT of=$DRIVE bs=1024 seek=8
+else
+	# write SPL
+	echo "\n>>>> Writing $SPL_IMG ..."
+	dd if=$SPL_IMG of=$DRIVE bs=1024 seek=8
+	# write u-boot
+	echo "\n>>>> Writing $UBOOT_IMG ..."
+	dd if=$UBOOT_IMG of=$DRIVE bs=1024 seek=32
+fi
 
+if [ "xyes" = "x$NETBOOT" ]; then
+	# write environment for netboot
+	echo "\n>>>> Writing $UBOOT_ENV ..."
+	dd if=$UBOOT_ENV of=$DRIVE bs=1024 seek=544
+	exit 0
+fi
 
-# ~2048, 16MB, FAT, bootable
-# ~rest of drive, Ext4
-{
-echo 32,512,0x0C,*
-echo 544,,,-
-} | sfdisk -D $DRIVE
+####################
+# Partitioning
+####################
+# a 16MB boot partition starting at 1MB,
+# and the rest as rootfs partition
+echo "\n>>>> Partitioning ..."
+sfdisk -R $DRIVE
+cat <<EOT | sfdisk --in-order -L -uM $DRIVE
+1,16,c
+,,L
+EOT
 
 sleep 1
 
-if [ -b ${DRIVE}1 ]; then
-	D1=${DRIVE}1
-	umount ${DRIVE}1
-	mkfs.vfat -n "boot" ${DRIVE}1
+# format the first partition
+[ -b ${DRIVE}1 ] && D1=${DRIVE}1
+[ -b ${DRIVE}p1 ] && D1=${DRIVE}p1
+
+if [ -n $D1 ]; then
+	echo "\n>>>> Formatting boot partition $D1 ..."
+	mkfs.vfat -v -n "BOOT" $D1
 else
-	if [ -b ${DRIVE}p1 ]; then
-		D1=${DRIVE}p1
-		umount ${DRIVE}p1
-		mkfs.vfat -n "boot" ${DRIVE}p1
-	else
-		echo "Cant find boot partition in /dev"
-		exit 1
-	fi
+	echo "Cannot find boot partition in /dev"
+	exit 1
 fi
 
+# format the second partition
+[ -b ${DRIVE}2 ] && D2=${DRIVE}2
+[ -b ${DRIVE}p2 ] && D2=${DRIVE}p2
 
-if [ -b ${DRIVE}2 ]; then
-	D2=${DRIVE}2
-	umount ${DRIVE}2
-	mkfs.ext4 -L "Cubie" ${DRIVE}2
+if [ -n $D2 ]; then
+	echo "\n>>>> Formatting rootfs partition $D2 ..."
+	mkfs.ext4 -v -L "Cubie" $D2
 else
-	if [ -b ${DRIVE}p2 ]; then
-		D2=${DRIVE}p2
-		umount ${DRIVE}p2
-		mkfs.ext4 -L "Cubie" ${DRIVE}p2
-	else
-		echo "Cant find rootfs partition in /dev"
-		exit 1
-	fi
+	echo "Cannot find rootfs partition in /dev"
+	exit 1
 fi
 
+echo ">>>> Writing boot files and rootfs files ..."
+
+P1=`mktemp -d`
+P2=`mktemp -d`
+
 mount $D1 $P1
 mount $D2 $P2
 
@@ -114,11 +152,4 @@ umount $D2
 rm -fr $P1
 rm -fr $P2
 
-if [ -e $SPL_UBOOT ]; then
-	dd if=$SPL_UBOOT of=$DRIVE bs=1024 seek=8
-else
-	# write SPL
-	dd if=$SPL_IMG of=$DRIVE bs=1024 seek=8
-	# write mele u-boot
-	dd if=$UBOOT_IMG of=$DRIVE bs=1024 seek=32
-fi
+echo "All completed."
diff --git a/board/cubietech/cubieboard/post-build.sh b/board/cubietech/cubieboard/post-build.sh
deleted file mode 100755
index 1b0258c..0000000
--- a/board/cubietech/cubieboard/post-build.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/sh
-# post-build.sh for CubieBoard
-# 2013, Carlo Caione <carlo.caione@gmail.com>
-
-BOARD_DIR="$(dirname $0)"
-MKIMAGE=$HOST_DIR/usr/bin/mkimage
-BOOT_CMD=$BOARD_DIR/boot.cmd
-BOOT_CMD_H=$BINARIES_DIR/boot.scr
-
-# U-Boot script
-if [ -e $MKIMAGE -a -e $BOOT_CMD ];
-then
-	$MKIMAGE -C none -A arm -T script -d $BOOT_CMD $BOOT_CMD_H
-fi
diff --git a/board/cubietech/cubieboard/post-image.sh b/board/cubietech/cubieboard/post-image.sh
new file mode 100755
index 0000000..4d792a4
--- /dev/null
+++ b/board/cubietech/cubieboard/post-image.sh
@@ -0,0 +1,26 @@
+#!/bin/sh
+# post-image.sh for CubieBoard
+# 2015, Scott Fan <fancp2007@gmail.com>
+# 2013, Carlo Caione <carlo.caione@gmail.com>
+
+BOARD_DIR="$(dirname $0)"
+MKIMAGE=$HOST_DIR/usr/bin/mkimage
+BOOT_CMD=$BOARD_DIR/boot.cmd
+BOOT_CMD_H=$BINARIES_DIR/boot.scr
+
+MKENVIMAGE=$HOST_DIR/usr/bin/mkenvimage
+BOOT_ENV_SIZE=0x20000
+BOOT_ENV_SRC=$BOARD_DIR/boot.env
+BOOT_ENV_BIN=$BINARIES_DIR/u-boot-env.bin
+
+# U-Boot script
+if [ -e $MKIMAGE -a -e $BOOT_CMD ];
+then
+	$MKIMAGE -C none -A arm -T script -d $BOOT_CMD $BOOT_CMD_H
+fi
+
+# U-Boot environment
+if [ -e $MKENVIMAGE -a -e $BOOT_ENV_SRC ];
+then
+	$MKENVIMAGE -s $BOOT_ENV_SIZE -o $BOOT_ENV_BIN $BOOT_ENV_SRC
+fi
diff --git a/board/cubietech/cubieboard/readme.txt b/board/cubietech/cubieboard/readme.txt
index 81cc5e4..af3e997 100644
--- a/board/cubietech/cubieboard/readme.txt
+++ b/board/cubietech/cubieboard/readme.txt
@@ -1,4 +1,4 @@
-cubieboard and cubieboard2
+cubieboard, cubieboard2 and cubietruck
 
 -----
 Intro
@@ -13,11 +13,16 @@ For more information, please see http://linux-sunxi.org/FirstSteps
 How to build it
 ---------------
 
-You need to use the cubieboard_defconfig or cubieboard2_defconfig, to do so:
+You need to use the cubie*_defconfig, to do so:
+cubieboard1 (a.k.a. cubieboard):
  * make cubieboard_defconfig
-or
+
+cubieboard2:
  * make cubieboard2_defconfig
 
+cubieboard3 (a.k.a. cubietruck):
+ * make cubietruck_defconfig
+
 And to compile:
  * make
 
@@ -31,10 +36,10 @@ After building, you should obtain this tree:
     +-- rootfs.tar
     +-- boot.scr
     +-- script.bin
-    +-- sunxi-spl.bin
     +-- u-boot.bin
-    +-- u-boot-sunxi-with-spl.bin (optional)
-    `-- uImage
+    +-- u-boot-env.bin
+    +-- u-boot-sunxi-with-spl.bin
+    +-- uImage
 
 --------------------------
 How setting up the SD card
@@ -54,9 +59,21 @@ Use dmesg to find out where the SD card is attached in the /dev tree
 where:
  - <images_dir> is the directory containing the generated files (usually
    output/images)
- - <device> is the device file of the SD card (usually /dev/sdX)
+ - <device> is the device file of the SD card (usually /dev/mmcblk0 or /dev/sdX)
+
 
+Alternately, you may set up the SD card only to boot from the network:
+
+# sudo ./mkcubiecard.sh <images_dir> <device> [netboot]
+
+where:
+ - <images_dir> and <device> as above
+ - [netboot] specify whether to boot from network (should yes, if you want)
 
+ATTENTION: This operation will keep the partition table of your SD card, will not
+           write any data to the existing partitions. However, if the first
+           partition ahead of the 1MB offset, it will be damaged.
 
 --
+Scott Fan <fancp2007@gmail.com>
 Carlo Caione <carlo.caione@gmail.com>
diff --git a/board/cubietech/cubieboard/sun4i-cubieboard.config b/board/cubietech/cubieboard/sun4i-cubieboard.config
new file mode 100644
index 0000000..43eee73
--- /dev/null
+++ b/board/cubietech/cubieboard/sun4i-cubieboard.config
@@ -0,0 +1,4 @@
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_ROOT_NFS=y
+CONFIG_SUNXI_EMAC=y
diff --git a/board/cubietech/cubieboard/sun7i-cubieboard2.config b/board/cubietech/cubieboard/sun7i-cubieboard2.config
new file mode 100644
index 0000000..43eee73
--- /dev/null
+++ b/board/cubietech/cubieboard/sun7i-cubieboard2.config
@@ -0,0 +1,4 @@
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_ROOT_NFS=y
+CONFIG_SUNXI_EMAC=y
diff --git a/board/cubietech/cubieboard/sun7i-cubietruck.config b/board/cubietech/cubieboard/sun7i-cubietruck.config
new file mode 100644
index 0000000..ff7813f
--- /dev/null
+++ b/board/cubietech/cubieboard/sun7i-cubietruck.config
@@ -0,0 +1,4 @@
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_ROOT_NFS=y
+CONFIG_SUNXI_GMAC=y
diff --git a/configs/cubieboard2_defconfig b/configs/cubieboard2_defconfig
index f85760d..41d5266 100644
--- a/configs/cubieboard2_defconfig
+++ b/configs/cubieboard2_defconfig
@@ -1,40 +1,21 @@
-# Architecture
 BR2_arm=y
 BR2_cortex_a7=y
-
-# System configuration
+BR2_KERNEL_HEADERS_3_4=y
 BR2_TARGET_GENERIC_HOSTNAME="Cubieboard2"
 BR2_TARGET_GENERIC_ISSUE="Welcome to use Cubieboard!"
-BR2_TARGET_GENERIC_GETTY=y
 BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
-BR2_ROOTFS_POST_IMAGE_SCRIPT="board/cubietech/cubieboard/post-build.sh"
-
-# Additional tools
-BR2_PACKAGE_HOST_SUNXI_TOOLS=y
-BR2_PACKAGE_HOST_UBOOT_TOOLS=y
-BR2_PACKAGE_SUNXI_TOOLS=y
-BR2_PACKAGE_SUNXI_BOARDS=y
-BR2_PACKAGE_SUNXI_BOARDS_FEX_FILE="a20/cubieboard2.fex"
-
-# Kernel headers
-BR2_KERNEL_HEADERS_3_4=y
-
-# Kernel
+BR2_ROOTFS_POST_IMAGE_SCRIPT="board/cubietech/cubieboard/post-image.sh"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_GIT=y
 BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux-sunxi/linux-sunxi.git"
-BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="5dda5145c877335e17bd9ca48954841acc0f785a"
-BR2_LINUX_KERNEL_VERSION="sunxi-3.4"
-BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
-BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/cubietech/cubieboard/linux-cubieboard2.config"
-
-# Bootloaders
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="d47d367036be38c5180632ec8a3ad169a4593a88"
+BR2_LINUX_KERNEL_DEFCONFIG="sun7i"
+BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/cubietech/cubieboard/sun7i-cubieboard2.config"
+BR2_PACKAGE_SUNXI_TOOLS=y
+BR2_PACKAGE_SUNXI_BOARDS=y
+BR2_PACKAGE_SUNXI_BOARDS_FEX_FILE="a20/cubieboard2.fex"
 BR2_TARGET_UBOOT=y
-BR2_TARGET_UBOOT_BOARDNAME="cubieboard2"
-BR2_TARGET_UBOOT_CUSTOM_GIT=y
-BR2_TARGET_UBOOT_VERSION="sunxi"
-BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux-sunxi/u-boot-sunxi.git"
-BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="b4bca5e0651b460a4511582f07a935cb48f74948"
-BR2_TARGET_UBOOT_FORMAT_BIN=y
+BR2_TARGET_UBOOT_BOARDNAME="Cubieboard2"
 BR2_TARGET_UBOOT_SPL=y
 BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin"
+BR2_PACKAGE_HOST_UBOOT_TOOLS=y
diff --git a/configs/cubieboard_defconfig b/configs/cubieboard_defconfig
index 1da019f..85dc794 100644
--- a/configs/cubieboard_defconfig
+++ b/configs/cubieboard_defconfig
@@ -1,39 +1,21 @@
-# Architecture
 BR2_arm=y
 BR2_cortex_a8=y
-
-# System configuration
+BR2_KERNEL_HEADERS_3_4=y
 BR2_TARGET_GENERIC_HOSTNAME="Cubieboard"
 BR2_TARGET_GENERIC_ISSUE="Welcome to use Cubieboard!"
-BR2_TARGET_GENERIC_GETTY=y
 BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
-BR2_ROOTFS_POST_IMAGE_SCRIPT="board/cubietech/cubieboard/post-build.sh"
-
-# Additional tools
-BR2_PACKAGE_HOST_SUNXI_TOOLS=y
-BR2_PACKAGE_HOST_UBOOT_TOOLS=y
-BR2_PACKAGE_SUNXI_TOOLS=y
-BR2_PACKAGE_SUNXI_BOARDS=y
-BR2_PACKAGE_SUNXI_BOARDS_FEX_FILE="a10/cubieboard.fex"
-
-# Kernel headers
-BR2_KERNEL_HEADERS_3_4=y
-
-# Kernel
+BR2_ROOTFS_POST_IMAGE_SCRIPT="board/cubietech/cubieboard/post-image.sh"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_GIT=y
 BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux-sunxi/linux-sunxi.git"
-BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="274a66a7bfcbaabb88d63e4eba161965383cc416"
-BR2_LINUX_KERNEL_VERSION="sunxi-3.4"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="d47d367036be38c5180632ec8a3ad169a4593a88"
 BR2_LINUX_KERNEL_DEFCONFIG="sun4i"
-
-# Bootloaders
+BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/cubietech/cubieboard/sun4i-cubieboard.config"
+BR2_PACKAGE_SUNXI_TOOLS=y
+BR2_PACKAGE_SUNXI_BOARDS=y
+BR2_PACKAGE_SUNXI_BOARDS_FEX_FILE="a10/cubieboard.fex"
 BR2_TARGET_UBOOT=y
-BR2_TARGET_UBOOT_BOARDNAME="cubieboard"
-BR2_TARGET_UBOOT_CUSTOM_GIT=y
-BR2_TARGET_UBOOT_VERSION="sunxi"
-BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux-sunxi/u-boot-sunxi.git"
-BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="1a8ac55429f7f8cc9f100c1cf2dc0195cf81e76f"
-BR2_TARGET_UBOOT_FORMAT_BIN=y
+BR2_TARGET_UBOOT_BOARDNAME="Cubieboard"
 BR2_TARGET_UBOOT_SPL=y
-BR2_TARGET_UBOOT_SPL_NAME="spl/sunxi-spl.bin"
+BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin"
+BR2_PACKAGE_HOST_UBOOT_TOOLS=y
diff --git a/configs/cubietruck_defconfig b/configs/cubietruck_defconfig
new file mode 100644
index 0000000..01a5fc2
--- /dev/null
+++ b/configs/cubietruck_defconfig
@@ -0,0 +1,21 @@
+BR2_arm=y
+BR2_cortex_a7=y
+BR2_KERNEL_HEADERS_3_4=y
+BR2_TARGET_GENERIC_HOSTNAME="Cubietruck"
+BR2_TARGET_GENERIC_ISSUE="Welcome to use Cubieboard!"
+BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
+BR2_ROOTFS_POST_IMAGE_SCRIPT="board/cubietech/cubieboard/post-image.sh"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_GIT=y
+BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux-sunxi/linux-sunxi.git"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="d47d367036be38c5180632ec8a3ad169a4593a88"
+BR2_LINUX_KERNEL_DEFCONFIG="sun7i"
+BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/cubietech/cubieboard/sun7i-cubietruck.config"
+BR2_PACKAGE_SUNXI_TOOLS=y
+BR2_PACKAGE_SUNXI_BOARDS=y
+BR2_PACKAGE_SUNXI_BOARDS_FEX_FILE="a20/cubietruck.fex"
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_BOARDNAME="Cubietruck"
+BR2_TARGET_UBOOT_SPL=y
+BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin"
+BR2_PACKAGE_HOST_UBOOT_TOOLS=y
-- 
2.4.6

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH 4/4] cubieboard: [PATCH] ipconfig: add nameserver IPs to kernel-parameter ip=
  2015-07-21  1:49 [Buildroot] [PATCH 3/4] cubieboard: update build support for cubieboard 1/2/3 Scott Fan
@ 2015-07-21  1:49 ` Scott Fan
  2015-07-21 21:26   ` Thomas Petazzoni
  2015-07-21 21:38 ` [Buildroot] [PATCH 3/4] cubieboard: update build support for cubieboard 1/2/3 Thomas Petazzoni
  1 sibling, 1 reply; 4+ messages in thread
From: Scott Fan @ 2015-07-21  1:49 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Scott Fan <fancp2007@gmail.com>
---
 .../5e953778a2aab04929a5e7b69f53dc26e39b079e.patch | 133 +++++++++++++++++++++
 configs/cubieboard2_defconfig                      |   1 +
 configs/cubieboard_defconfig                       |   1 +
 configs/cubietruck_defconfig                       |   1 +
 4 files changed, 136 insertions(+)
 create mode 100644 board/cubietech/cubieboard/5e953778a2aab04929a5e7b69f53dc26e39b079e.patch

diff --git a/board/cubietech/cubieboard/5e953778a2aab04929a5e7b69f53dc26e39b079e.patch b/board/cubietech/cubieboard/5e953778a2aab04929a5e7b69f53dc26e39b079e.patch
new file mode 100644
index 0000000..e473040
--- /dev/null
+++ b/board/cubietech/cubieboard/5e953778a2aab04929a5e7b69f53dc26e39b079e.patch
@@ -0,0 +1,133 @@
+From 5e953778a2aab04929a5e7b69f53dc26e39b079e Mon Sep 17 00:00:00 2001
+From: Christoph Fritz <chf.fritz@googlemail.com>
+Date: Fri, 21 Sep 2012 08:31:19 +0000
+Subject: [PATCH] ipconfig: add nameserver IPs to kernel-parameter ip=
+
+On small systems (e.g. embedded ones) IP addresses are often configured
+by bootloaders and get assigned to kernel via parameter "ip=".  If set to
+"ip=dhcp", even nameserver entries from DHCP daemons are handled. These
+entries exported in /proc/net/pnp are commonly linked by /etc/resolv.conf.
+
+To configure nameservers for networks without DHCP, this patch adds option
+<dns0-ip> and <dns1-ip> to kernel-parameter 'ip='.
+
+Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com>
+Tested-by: Jan Weitzel <j.weitzel@phytec.de>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+ Documentation/filesystems/nfs/nfsroot.txt | 10 +++++++-
+ net/ipv4/ipconfig.c                       | 39 ++++++++++++++++++++++++++++---
+ 2 files changed, 45 insertions(+), 4 deletions(-)
+
+diff --git a/Documentation/filesystems/nfs/nfsroot.txt b/Documentation/filesystems/nfs/nfsroot.txt
+index ffdd9d8..2d66ed6 100644
+--- a/Documentation/filesystems/nfs/nfsroot.txt
++++ b/Documentation/filesystems/nfs/nfsroot.txt
+@@ -78,7 +78,8 @@ nfsroot=[<server-ip>:]<root-dir>[,<nfs-options>]
+ 			flags		= hard, nointr, noposix, cto, ac
+ 
+ 
+-ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf>
++ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf>:
++   <dns0-ip>:<dns1-ip>
+ 
+   This parameter tells the kernel how to configure IP addresses of devices
+   and also how to set up the IP routing table. It was originally called
+@@ -158,6 +159,13 @@ ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf>
+ 
+                 Default: any
+ 
++  <dns0-ip>	IP address of first nameserver.
++		Value gets exported by /proc/net/pnp which is often linked
++		on embedded systems by /etc/resolv.conf.
++
++  <dns1-ip>	IP address of secound nameserver.
++		Same as above.
++
+ 
+ nfsrootdebug
+ 
+diff --git a/net/ipv4/ipconfig.c b/net/ipv4/ipconfig.c
+index 67e8a6b..1c0e7e0 100644
+--- a/net/ipv4/ipconfig.c
++++ b/net/ipv4/ipconfig.c
+@@ -743,14 +743,22 @@ static void __init ic_bootp_init_ext(u8 *e)
+ 
+ 
+ /*
+- *  Initialize the DHCP/BOOTP mechanism.
++ *  Predefine Nameservers
+  */
+-static inline void __init ic_bootp_init(void)
++static inline void __init ic_nameservers_predef(void)
+ {
+ 	int i;
+ 
+ 	for (i = 0; i < CONF_NAMESERVERS_MAX; i++)
+ 		ic_nameservers[i] = NONE;
++}
++
++/*
++ *  Initialize the DHCP/BOOTP mechanism.
++ */
++static inline void __init ic_bootp_init(void)
++{
++	ic_nameservers_predef();
+ 
+ 	dev_add_pack(&bootp_packet_type);
+ }
+@@ -1379,6 +1387,7 @@ static int __init ip_auto_config(void)
+ 	int retries = CONF_OPEN_RETRIES;
+ #endif
+ 	int err;
++	unsigned int i;
+ 
+ #ifdef CONFIG_PROC_FS
+ 	proc_net_fops_create(&init_net, "pnp", S_IRUGO, &pnp_seq_fops);
+@@ -1499,7 +1508,15 @@ static int __init ip_auto_config(void)
+ 		&ic_servaddr, &root_server_addr, root_server_path);
+ 	if (ic_dev_mtu)
+ 		pr_cont(", mtu=%d", ic_dev_mtu);
+-	pr_cont("\n");
++	for (i = 0; i < CONF_NAMESERVERS_MAX; i++)
++		if (ic_nameservers[i] != NONE) {
++			pr_info("     nameserver%u=%pI4",
++				i, &ic_nameservers[i]);
++			break;
++		}
++	for (i++; i < CONF_NAMESERVERS_MAX; i++)
++		if (ic_nameservers[i] != NONE)
++			pr_cont(", nameserver%u=%pI4\n", i, &ic_nameservers[i]);
+ #endif /* !SILENT */
+ 
+ 	return 0;
+@@ -1570,6 +1587,8 @@ static int __init ip_auto_config_setup(char *addrs)
+ 		return 1;
+ 	}
+ 
++	ic_nameservers_predef();
++
+ 	/* Parse string for static IP assignment.  */
+ 	ip = addrs;
+ 	while (ip && *ip) {
+@@ -1613,6 +1632,20 @@ static int __init ip_auto_config_setup(char *addrs)
+ 					ic_enable = 0;
+ 				}
+ 				break;
++			case 7:
++				if (CONF_NAMESERVERS_MAX >= 1) {
++					ic_nameservers[0] = in_aton(ip);
++					if (ic_nameservers[0] == ANY)
++						ic_nameservers[0] = NONE;
++				}
++				break;
++			case 8:
++				if (CONF_NAMESERVERS_MAX >= 2) {
++					ic_nameservers[1] = in_aton(ip);
++					if (ic_nameservers[1] == ANY)
++						ic_nameservers[1] = NONE;
++				}
++				break;
+ 			}
+ 		}
+ 		ip = cp;
diff --git a/configs/cubieboard2_defconfig b/configs/cubieboard2_defconfig
index 41d5266..a2b2aef 100644
--- a/configs/cubieboard2_defconfig
+++ b/configs/cubieboard2_defconfig
@@ -9,6 +9,7 @@ BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_GIT=y
 BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux-sunxi/linux-sunxi.git"
 BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="d47d367036be38c5180632ec8a3ad169a4593a88"
+BR2_LINUX_KERNEL_PATCH="board/cubietech/cubieboard/5e953778a2aab04929a5e7b69f53dc26e39b079e.patch"
 BR2_LINUX_KERNEL_DEFCONFIG="sun7i"
 BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/cubietech/cubieboard/sun7i-cubieboard2.config"
 BR2_PACKAGE_SUNXI_TOOLS=y
diff --git a/configs/cubieboard_defconfig b/configs/cubieboard_defconfig
index 85dc794..566f633 100644
--- a/configs/cubieboard_defconfig
+++ b/configs/cubieboard_defconfig
@@ -9,6 +9,7 @@ BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_GIT=y
 BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux-sunxi/linux-sunxi.git"
 BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="d47d367036be38c5180632ec8a3ad169a4593a88"
+BR2_LINUX_KERNEL_PATCH="board/cubietech/cubieboard/5e953778a2aab04929a5e7b69f53dc26e39b079e.patch"
 BR2_LINUX_KERNEL_DEFCONFIG="sun4i"
 BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/cubietech/cubieboard/sun4i-cubieboard.config"
 BR2_PACKAGE_SUNXI_TOOLS=y
diff --git a/configs/cubietruck_defconfig b/configs/cubietruck_defconfig
index 01a5fc2..419b64f 100644
--- a/configs/cubietruck_defconfig
+++ b/configs/cubietruck_defconfig
@@ -9,6 +9,7 @@ BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_GIT=y
 BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux-sunxi/linux-sunxi.git"
 BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="d47d367036be38c5180632ec8a3ad169a4593a88"
+BR2_LINUX_KERNEL_PATCH="board/cubietech/cubieboard/5e953778a2aab04929a5e7b69f53dc26e39b079e.patch"
 BR2_LINUX_KERNEL_DEFCONFIG="sun7i"
 BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/cubietech/cubieboard/sun7i-cubietruck.config"
 BR2_PACKAGE_SUNXI_TOOLS=y
-- 
2.4.6

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH 4/4] cubieboard: [PATCH] ipconfig: add nameserver IPs to kernel-parameter ip=
  2015-07-21  1:49 ` [Buildroot] [PATCH 4/4] cubieboard: [PATCH] ipconfig: add nameserver IPs to kernel-parameter ip= Scott Fan
@ 2015-07-21 21:26   ` Thomas Petazzoni
  0 siblings, 0 replies; 4+ messages in thread
From: Thomas Petazzoni @ 2015-07-21 21:26 UTC (permalink / raw)
  To: buildroot

Dear Scott Fan,

On Tue, 21 Jul 2015 09:49:22 +0800, Scott Fan wrote:
> Signed-off-by: Scott Fan <fancp2007@gmail.com>
> ---
>  .../5e953778a2aab04929a5e7b69f53dc26e39b079e.patch | 133 +++++++++++++++++++++
>  configs/cubieboard2_defconfig                      |   1 +
>  configs/cubieboard_defconfig                       |   1 +
>  configs/cubietruck_defconfig                       |   1 +
>  4 files changed, 136 insertions(+)
>  create mode 100644 board/cubietech/cubieboard/5e953778a2aab04929a5e7b69f53dc26e39b079e.patch

Thanks for the patch, but unfortunately, it's not acceptable. It's
clearly a feature patch for the kernel, and we generally don't accept
feature patches in Buildroot. If you want to be able to set the
nameserver from the ip= parameter, then please submit a patch to the
Linux kernel network maintainers and get it accepted. We don't want to
carry such patches forever in the Buildroot tree.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH 3/4] cubieboard: update build support for cubieboard 1/2/3.
  2015-07-21  1:49 [Buildroot] [PATCH 3/4] cubieboard: update build support for cubieboard 1/2/3 Scott Fan
  2015-07-21  1:49 ` [Buildroot] [PATCH 4/4] cubieboard: [PATCH] ipconfig: add nameserver IPs to kernel-parameter ip= Scott Fan
@ 2015-07-21 21:38 ` Thomas Petazzoni
  1 sibling, 0 replies; 4+ messages in thread
From: Thomas Petazzoni @ 2015-07-21 21:38 UTC (permalink / raw)
  To: buildroot

Dear Scott Fan,

On Tue, 21 Jul 2015 09:49:21 +0800, Scott Fan wrote:
> This patch update the cb1/cb2's defconfig to mainline u-boot version,
> and bump their linux-sunxi kernel to latest stage/sunxi-3.4 branch.
> 
> Additionally, add defconfig for cubieboard3 (a.k.a. cubietruck).
> 
> Finally, support set up the SD card only to boot from network.

Why? This is clearly not what we want as the default. What we want as
the default is that the system is entirely contained on the SD card.



> diff --git a/board/cubietech/cubieboard/mkcubiecard.sh b/board/cubietech/cubieboard/mkcubiecard.sh
> index f1d5a9f..a5bd8ec 100755
> --- a/board/cubietech/cubieboard/mkcubiecard.sh
> +++ b/board/cubietech/cubieboard/mkcubiecard.sh
> @@ -1,4 +1,9 @@
> -#! /bin/sh
> +#!/bin/sh
> +### BEGIN INTRO
> +# mkcubiecard.sh v0.2:
> +# 2015, Scott Fan <fancp2007@gmail.com>
> +# rewrite this script more clear;
> +# add the 'netboot' argument, to make a network-bootable card.

Ah, so netboot is in fact optional? Please don't make the script more
complicated. Our defconfigs are meant to be minimal and not offer
myriads of options. So can you please remove this "netboot" feature
from the script as well as the corresponding boot.env file?


> +####################
> +# Preparing
> +####################
> +echo `fdisk -l $DRIVE | grep Disk | grep bytes`

left-over debug print?


> diff --git a/board/cubietech/cubieboard/post-image.sh b/board/cubietech/cubieboard/post-image.sh
> new file mode 100755
> index 0000000..4d792a4
> --- /dev/null
> +++ b/board/cubietech/cubieboard/post-image.sh
> @@ -0,0 +1,26 @@
> +#!/bin/sh
> +# post-image.sh for CubieBoard
> +# 2015, Scott Fan <fancp2007@gmail.com>
> +# 2013, Carlo Caione <carlo.caione@gmail.com>
> +
> +BOARD_DIR="$(dirname $0)"
> +MKIMAGE=$HOST_DIR/usr/bin/mkimage
> +BOOT_CMD=$BOARD_DIR/boot.cmd
> +BOOT_CMD_H=$BINARIES_DIR/boot.scr
> +
> +MKENVIMAGE=$HOST_DIR/usr/bin/mkenvimage
> +BOOT_ENV_SIZE=0x20000
> +BOOT_ENV_SRC=$BOARD_DIR/boot.env
> +BOOT_ENV_BIN=$BINARIES_DIR/u-boot-env.bin
> +
> +# U-Boot script
> +if [ -e $MKIMAGE -a -e $BOOT_CMD ];
> +then
> +	$MKIMAGE -C none -A arm -T script -d $BOOT_CMD $BOOT_CMD_H
> +fi
> +
> +# U-Boot environment
> +if [ -e $MKENVIMAGE -a -e $BOOT_ENV_SRC ];
> +then
> +	$MKENVIMAGE -s $BOOT_ENV_SIZE -o $BOOT_ENV_BIN $BOOT_ENV_SRC
> +fi

Creating the binary environment can be done by Buildroot itself, use
the BR2_TARGET_UBOOT_ENVIMAGE option.



> @@ -31,10 +36,10 @@ After building, you should obtain this tree:
>      +-- rootfs.tar
>      +-- boot.scr
>      +-- script.bin
> -    +-- sunxi-spl.bin
>      +-- u-boot.bin
> -    +-- u-boot-sunxi-with-spl.bin (optional)
> -    `-- uImage
> +    +-- u-boot-env.bin
> +    +-- u-boot-sunxi-with-spl.bin
> +    +-- uImage

So now you always have u-boot-sunxi-with-spl.bin and never
sunxi-spl.bin ? If that's the case, why do you keep the logic testing
if SPL_IMG exists, and if yes use it, if not fall back to SPL_UBOOT ?

>  --------------------------
>  How setting up the SD card
> @@ -54,9 +59,21 @@ Use dmesg to find out where the SD card is attached in the /dev tree
>  where:
>   - <images_dir> is the directory containing the generated files (usually
>     output/images)
> - - <device> is the device file of the SD card (usually /dev/sdX)
> + - <device> is the device file of the SD card (usually /dev/mmcblk0 or /dev/sdX)

mmcblkX

> diff --git a/board/cubietech/cubieboard/sun4i-cubieboard.config b/board/cubietech/cubieboard/sun4i-cubieboard.config
> new file mode 100644
> index 0000000..43eee73
> --- /dev/null
> +++ b/board/cubietech/cubieboard/sun4i-cubieboard.config
> @@ -0,0 +1,4 @@
> +CONFIG_IP_PNP=y
> +CONFIG_IP_PNP_DHCP=y
> +CONFIG_ROOT_NFS=y
> +CONFIG_SUNXI_EMAC=y
> diff --git a/board/cubietech/cubieboard/sun7i-cubieboard2.config b/board/cubietech/cubieboard/sun7i-cubieboard2.config
> new file mode 100644
> index 0000000..43eee73
> --- /dev/null
> +++ b/board/cubietech/cubieboard/sun7i-cubieboard2.config
> @@ -0,0 +1,4 @@
> +CONFIG_IP_PNP=y
> +CONFIG_IP_PNP_DHCP=y
> +CONFIG_ROOT_NFS=y
> +CONFIG_SUNXI_EMAC=y
> diff --git a/board/cubietech/cubieboard/sun7i-cubietruck.config b/board/cubietech/cubieboard/sun7i-cubietruck.config
> new file mode 100644
> index 0000000..ff7813f
> --- /dev/null
> +++ b/board/cubietech/cubieboard/sun7i-cubietruck.config
> @@ -0,0 +1,4 @@
> +CONFIG_IP_PNP=y
> +CONFIG_IP_PNP_DHCP=y
> +CONFIG_ROOT_NFS=y
> +CONFIG_SUNXI_GMAC=y

This is great: I like the usage of config fragments!

> diff --git a/configs/cubieboard2_defconfig b/configs/cubieboard2_defconfig
> index f85760d..41d5266 100644
> --- a/configs/cubieboard2_defconfig
> +++ b/configs/cubieboard2_defconfig
> @@ -1,40 +1,21 @@
> -# Architecture

It would have been good to keep the comments and the general
organization/ordering of the defconfig.

>  BR2_arm=y
>  BR2_cortex_a7=y
> -
> -# System configuration
> +BR2_KERNEL_HEADERS_3_4=y
>  BR2_TARGET_GENERIC_HOSTNAME="Cubieboard2"
>  BR2_TARGET_GENERIC_ISSUE="Welcome to use Cubieboard!"
> -BR2_TARGET_GENERIC_GETTY=y
>  BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
> -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/cubietech/cubieboard/post-build.sh"
> -
> -# Additional tools
> -BR2_PACKAGE_HOST_SUNXI_TOOLS=y
> -BR2_PACKAGE_HOST_UBOOT_TOOLS=y
> -BR2_PACKAGE_SUNXI_TOOLS=y
> -BR2_PACKAGE_SUNXI_BOARDS=y
> -BR2_PACKAGE_SUNXI_BOARDS_FEX_FILE="a20/cubieboard2.fex"
> -
> -# Kernel headers
> -BR2_KERNEL_HEADERS_3_4=y
> -
> -# Kernel
> +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/cubietech/cubieboard/post-image.sh"
>  BR2_LINUX_KERNEL=y
>  BR2_LINUX_KERNEL_CUSTOM_GIT=y
>  BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux-sunxi/linux-sunxi.git"
> -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="5dda5145c877335e17bd9ca48954841acc0f785a"
> -BR2_LINUX_KERNEL_VERSION="sunxi-3.4"
> -BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
> -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/cubietech/cubieboard/linux-cubieboard2.config"
> -
> -# Bootloaders
> +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="d47d367036be38c5180632ec8a3ad169a4593a88"
> +BR2_LINUX_KERNEL_DEFCONFIG="sun7i"
> +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/cubietech/cubieboard/sun7i-cubieboard2.config"
> +BR2_PACKAGE_SUNXI_TOOLS=y
> +BR2_PACKAGE_SUNXI_BOARDS=y
> +BR2_PACKAGE_SUNXI_BOARDS_FEX_FILE="a20/cubieboard2.fex"
>  BR2_TARGET_UBOOT=y
> -BR2_TARGET_UBOOT_BOARDNAME="cubieboard2"
> -BR2_TARGET_UBOOT_CUSTOM_GIT=y
> -BR2_TARGET_UBOOT_VERSION="sunxi"
> -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux-sunxi/u-boot-sunxi.git"
> -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="b4bca5e0651b460a4511582f07a935cb48f74948"
> -BR2_TARGET_UBOOT_FORMAT_BIN=y
> +BR2_TARGET_UBOOT_BOARDNAME="Cubieboard2"
>  BR2_TARGET_UBOOT_SPL=y
>  BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin"
> +BR2_PACKAGE_HOST_UBOOT_TOOLS=y
> diff --git a/configs/cubieboard_defconfig b/configs/cubieboard_defconfig
> index 1da019f..85dc794 100644
> --- a/configs/cubieboard_defconfig
> +++ b/configs/cubieboard_defconfig
> @@ -1,39 +1,21 @@
> -# Architecture
>  BR2_arm=y
>  BR2_cortex_a8=y
> -
> -# System configuration
> +BR2_KERNEL_HEADERS_3_4=y
>  BR2_TARGET_GENERIC_HOSTNAME="Cubieboard"
>  BR2_TARGET_GENERIC_ISSUE="Welcome to use Cubieboard!"
> -BR2_TARGET_GENERIC_GETTY=y
>  BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
> -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/cubietech/cubieboard/post-build.sh"
> -
> -# Additional tools
> -BR2_PACKAGE_HOST_SUNXI_TOOLS=y
> -BR2_PACKAGE_HOST_UBOOT_TOOLS=y
> -BR2_PACKAGE_SUNXI_TOOLS=y
> -BR2_PACKAGE_SUNXI_BOARDS=y
> -BR2_PACKAGE_SUNXI_BOARDS_FEX_FILE="a10/cubieboard.fex"
> -
> -# Kernel headers
> -BR2_KERNEL_HEADERS_3_4=y
> -
> -# Kernel
> +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/cubietech/cubieboard/post-image.sh"
>  BR2_LINUX_KERNEL=y
>  BR2_LINUX_KERNEL_CUSTOM_GIT=y
>  BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux-sunxi/linux-sunxi.git"
> -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="274a66a7bfcbaabb88d63e4eba161965383cc416"
> -BR2_LINUX_KERNEL_VERSION="sunxi-3.4"
> +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="d47d367036be38c5180632ec8a3ad169a4593a88"
>  BR2_LINUX_KERNEL_DEFCONFIG="sun4i"
> -
> -# Bootloaders
> +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/cubietech/cubieboard/sun4i-cubieboard.config"
> +BR2_PACKAGE_SUNXI_TOOLS=y
> +BR2_PACKAGE_SUNXI_BOARDS=y
> +BR2_PACKAGE_SUNXI_BOARDS_FEX_FILE="a10/cubieboard.fex"
>  BR2_TARGET_UBOOT=y
> -BR2_TARGET_UBOOT_BOARDNAME="cubieboard"
> -BR2_TARGET_UBOOT_CUSTOM_GIT=y
> -BR2_TARGET_UBOOT_VERSION="sunxi"
> -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux-sunxi/u-boot-sunxi.git"
> -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="1a8ac55429f7f8cc9f100c1cf2dc0195cf81e76f"
> -BR2_TARGET_UBOOT_FORMAT_BIN=y
> +BR2_TARGET_UBOOT_BOARDNAME="Cubieboard"
>  BR2_TARGET_UBOOT_SPL=y
> -BR2_TARGET_UBOOT_SPL_NAME="spl/sunxi-spl.bin"
> +BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin"
> +BR2_PACKAGE_HOST_UBOOT_TOOLS=y
> diff --git a/configs/cubietruck_defconfig b/configs/cubietruck_defconfig
> new file mode 100644
> index 0000000..01a5fc2
> --- /dev/null
> +++ b/configs/cubietruck_defconfig
> @@ -0,0 +1,21 @@
> +BR2_arm=y
> +BR2_cortex_a7=y
> +BR2_KERNEL_HEADERS_3_4=y
> +BR2_TARGET_GENERIC_HOSTNAME="Cubietruck"
> +BR2_TARGET_GENERIC_ISSUE="Welcome to use Cubieboard!"
> +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
> +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/cubietech/cubieboard/post-image.sh"
> +BR2_LINUX_KERNEL=y
> +BR2_LINUX_KERNEL_CUSTOM_GIT=y
> +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux-sunxi/linux-sunxi.git"
> +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="d47d367036be38c5180632ec8a3ad169a4593a88"
> +BR2_LINUX_KERNEL_DEFCONFIG="sun7i"
> +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/cubietech/cubieboard/sun7i-cubietruck.config"
> +BR2_PACKAGE_SUNXI_TOOLS=y
> +BR2_PACKAGE_SUNXI_BOARDS=y
> +BR2_PACKAGE_SUNXI_BOARDS_FEX_FILE="a20/cubietruck.fex"
> +BR2_TARGET_UBOOT=y
> +BR2_TARGET_UBOOT_BOARDNAME="Cubietruck"
> +BR2_TARGET_UBOOT_SPL=y
> +BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin"
> +BR2_PACKAGE_HOST_UBOOT_TOOLS=y

Can you rework the patch according to these comments?

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-07-21 21:38 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-21  1:49 [Buildroot] [PATCH 3/4] cubieboard: update build support for cubieboard 1/2/3 Scott Fan
2015-07-21  1:49 ` [Buildroot] [PATCH 4/4] cubieboard: [PATCH] ipconfig: add nameserver IPs to kernel-parameter ip= Scott Fan
2015-07-21 21:26   ` Thomas Petazzoni
2015-07-21 21:38 ` [Buildroot] [PATCH 3/4] cubieboard: update build support for cubieboard 1/2/3 Thomas Petazzoni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox