From 375255ca7ce830c93a585c46df19f796900c11fa Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 9 Apr 2014 17:41:53 +0200 Subject: add -d and -k --- scripts/install-rpi.sh | 61 +++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 48 insertions(+), 13 deletions(-) (limited to 'scripts') diff --git a/scripts/install-rpi.sh b/scripts/install-rpi.sh index ed85cc53e..56a1af8bd 100755 --- a/scripts/install-rpi.sh +++ b/scripts/install-rpi.sh @@ -15,6 +15,20 @@ for tool in parted sfdisk mkfs.vfat mkfs.ext4;do done [[ $f -eq 1 ]] && exit 1 +datadir=0 +keep=0 +while getopts "dk" ch; do + case $ch in + d) + datadir=1 + ;; + k) + keep=1 + ;; + esac +done +shift $((OPTIND - 1)) + if [ -z $1 ];then echo "Please give your SD card device as first parameter" exit 1 @@ -66,28 +80,48 @@ 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-34)) -datasize=$(($maxsize-2)) + +if [ $datadir -eq 0 ];then + rootsize=$(($maxsize-2)) +else + rootsize=$(($maxsize-34)) + datasize=$(($maxsize-2)) +fi parted -s $1 unit cyl mkpart primary fat32 -- 0 16 -parted -s $1 unit cyl mkpart primary ext2 -- 16 $rootsize -parted -s $1 unit cyl mkpart primary ext2 $rootsize $datasize -parted -s $1 unit cyl mkpart primary fat32 $datasize $maxsize -parted -s $1 set 1 boot on -sfdisk --change-id $1 4 88 +if [ $datadir -eq 0 ];then + parted -s $1 unit cyl mkpart primary ext2 -- 16 $rootsize + parted -s $1 unit cyl mkpart primary fat32 $rootsize $maxsize + sfdisk --change-id $1 3 88 +else + parted -s $1 unit cyl mkpart primary ext2 -- 16 $rootsize + parted -s $1 unit cyl mkpart primary ext2 $rootsize $datasize + parted -s $1 unit cyl mkpart primary fat32 $datasize $maxsize + parted -s $1 set 1 boot on + sfdisk --change-id $1 4 88 +fi sleep 2 mkfs.vfat ${1}1 >/dev/null mkfs.ext4 -q -O ^huge_file ${1}2 -mkfs.ext4 -q -O ^huge_file ${1}3 +if [ $datadir -eq 1 ];then + if [ $keep -eq 0 ];then + mkfs.ext4 -q -O ^huge_file ${1}3 + fi +fi sync sleep 2 tmp=$(mktemp -d) mount -t ext4 ${rootpart} $tmp mkdir $tmp/boot -mkdir $tmp/data -mount -t ext4 ${1}3 $tmp/data -mkdir $tmp/data/mpd $tmp/data/xbmc +if [ $datadir -eq 1 ];then + if [ $keep -eq 0 ];then + mkdir $tmp/data + mount -t ext4 ${1}3 $tmp/data + mkdir $tmp/data/mpd $tmp/data/xbmc + umount $tmp/data + fi +fi mount -t vfat ${1}1 $tmp/boot sleep 1 echo "Extracting install archive" @@ -95,8 +129,9 @@ tar -C $tmp -xzpf $2 echo "Fixing permissions" chmod 1777 $tmp/tmp chmod 4755 $tmp/bin/busybox -echo "/dev/mmcblk0p3 /data ext4 rw 0 0" >>$tmp/etc/fstab -umount $tmp/data +if [ $datadir -eq 1 ];then + echo "/dev/mmcblk0p3 /data ext4 rw 0 0" >>$tmp/etc/fstab +fi umount $tmp/boot umount $tmp echo "Successfully installed." -- cgit v1.2.3 From 6b7b0ce0a8017092d8f18c09223b502067634cf2 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 9 Apr 2014 17:50:25 +0200 Subject: fix minor issues --- scripts/install-rpi.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'scripts') diff --git a/scripts/install-rpi.sh b/scripts/install-rpi.sh index 56a1af8bd..0cf88cf4c 100755 --- a/scripts/install-rpi.sh +++ b/scripts/install-rpi.sh @@ -7,13 +7,14 @@ if [ $(id -u) -ne 0 ];then exit 1 fi +f=0 for tool in parted sfdisk mkfs.vfat mkfs.ext4;do if ! which $tool >/dev/null; then echo "Checking if $tool is installed... failed" f=1 fi done -[[ $f -eq 1 ]] && exit 1 +if [ $f -eq 1 ];then exit 1;fi datadir=0 keep=0 @@ -48,7 +49,7 @@ else echo "WARNING: This will destroy all data on $1 - type Yes to continue!" read y if [ "$y" = "Yes" ];then - $sfdisk -l $1 2>&1 |grep 'No medium' + env LC_ALL=C sfdisk -l $1 2>&1 |grep 'No medium' if [ $? -eq 0 ];then echo "No medium found" exit 1 -- cgit v1.2.3 From cbce24b80358c0eb4968139c7695dd8eb2bb5378 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Thu, 10 Apr 2014 15:36:44 +0200 Subject: try to use new grub2 --- package/grub/Makefile | 4 +++- package/grub/files/core.img.i386-pc | Bin 0 -> 33638 bytes scripts/create.sh | 4 ++-- target/x86/Makefile | 4 ++++ 4 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 package/grub/files/core.img.i386-pc (limited to 'scripts') diff --git a/package/grub/Makefile b/package/grub/Makefile index 663d02d72..8d0b9ed48 100644 --- a/package/grub/Makefile +++ b/package/grub/Makefile @@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:= grub PKG_VERSION:= 2.00 -PKG_RELEASE:= 1 +PKG_RELEASE:= 2 PKG_MD5SUM:= e927540b6eda8b024fb0391eeaa4091c PKG_DESCR:= GRUB2 bootloader (source package) PKG_SECTION:= boot @@ -50,5 +50,7 @@ grub-install: $(IDIR_GRUB)/usr/lib/grub/${GRUB_ARCH}/ ${INSTALL_BIN} ${WRKINST}/usr/bin/* $(IDIR_GRUB)/usr/bin ${INSTALL_BIN} ${WRKINST}/usr/sbin/* $(IDIR_GRUB)/usr/sbin + ${CP} ./files/core.img.${GRUB_ARCH} \ + $(IDIR_GRUB)/usr/lib/grub/core.img include ${TOPDIR}/mk/pkg-bottom.mk diff --git a/package/grub/files/core.img.i386-pc b/package/grub/files/core.img.i386-pc new file mode 100644 index 000000000..7cde2740d Binary files /dev/null and b/package/grub/files/core.img.i386-pc differ diff --git a/scripts/create.sh b/scripts/create.sh index e3fb7ac45..ccfa2f8eb 100755 --- a/scripts/create.sh +++ b/scripts/create.sh @@ -152,7 +152,7 @@ else fi if (( usegrub )); then - tar -xOzf "$src" usr/share/grub-bin/core.img >"$T/core.img" + tar -xOzf "$src" usr/lib/grub/core.img >"$T/core.img" integer coreimgsz=$($statcmd "$T/core.img") if (( coreimgsz < 1024 )); then print -u2 core.img is probably too small: $coreimgsz @@ -275,7 +275,7 @@ if (( usegrub )); then ) >boot/grub/grub.cfg set -A grubfiles ngrubfiles=0 - for a in usr/lib/grub/*-pc/{*.mod,efiemu??.o,command.lst,moddep.lst,fs.lst,handler.lst,parttool.lst}; do + for a in usr/lib/grub/*-pc/{*.mod,*.lst}; do [[ -e $a ]] && grubfiles[ngrubfiles++]=$a done cp "${grubfiles[@]}" boot/grub/ diff --git a/target/x86/Makefile b/target/x86/Makefile index e72087ea9..27920819f 100644 --- a/target/x86/Makefile +++ b/target/x86/Makefile @@ -38,8 +38,12 @@ ifeq ($(ADK_HARDWARE_QEMU),y) @echo "Use following command to create a QEMU Image:" @echo "$(CREATE) qemu-${CPU_ARCH}.img $(FW_DIR)/$(ROOTFSTARBALL)" @echo "Start qemu with following command line:" +ifeq ($(ADK_TARGET_QEMU_WITH_BOOTLOADER),y) + @echo 'qemu-system-i386 ${ADK_QEMU_ARGS} -net user -net nic,model=e1000 qemu-${CPU_ARCH}.img' +else @echo 'qemu-system-i386 ${ADK_QEMU_ARGS} -net user -net nic,model=e1000 -kernel $(FW_DIR)/$(TARGET_KERNEL) qemu-${CPU_ARCH}.img' endif +endif ifeq ($(ADK_HARDWARE_VBOX),y) @cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL) @echo "Use following command to create a VirtualBox Image:" -- cgit v1.2.3