Add x86/x86_64 support
This commit is contained in:
parent
e23edc73ca
commit
6752f8de1e
|
|
@ -0,0 +1,17 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# Generate initrd.uimg and update U-Boot boot.scr
|
||||||
|
|
||||||
|
# Kernel ABI string
|
||||||
|
ABI="${1}"
|
||||||
|
|
||||||
|
# Create U-Boot boot script
|
||||||
|
cat << EOF > /boot/boot.cmd
|
||||||
|
load \${devtype} \${devnum}:\${distro_bootpart} \${kernel_addr_r} /boot/vmlinuz-${ABI}
|
||||||
|
load \${devtype} \${devnum}:\${distro_bootpart} \${ramdisk_addr_r} /boot/initrd.img-${ABI}
|
||||||
|
part uuid \${devtype} \${devnum}:\${distro_bootpart} partuuid
|
||||||
|
setenv bootargs root=PARTUUID=\${partuuid} rw rootwait
|
||||||
|
zboot \${kernel_addr_r} - \${ramdisk_addr_r} 0x2000000
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# Create U-Boot boot script
|
||||||
|
mkimage -A x86_64 -T script -C none -d /boot/boot.cmd /boot/boot.scr
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# Generate initrd.uimg and update U-Boot boot.scr
|
||||||
|
|
||||||
|
# Kernel ABI string
|
||||||
|
ABI="${1}"
|
||||||
|
|
||||||
|
# Create U-Boot boot script
|
||||||
|
cat << EOF > /boot/boot.cmd
|
||||||
|
load \${devtype} \${devnum}:\${distro_bootpart} \${kernel_addr_r} /boot/vmlinuz-${ABI}
|
||||||
|
load \${devtype} \${devnum}:\${distro_bootpart} \${ramdisk_addr_r} /boot/initrd.img-${ABI}
|
||||||
|
part uuid \${devtype} \${devnum}:\${distro_bootpart} partuuid
|
||||||
|
setenv bootargs root=PARTUUID=\${partuuid} rw rootwait
|
||||||
|
zboot \${kernel_addr_r} - \${ramdisk_addr_r} 0x2000000
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# Create U-Boot boot script
|
||||||
|
mkimage -A x86 -T script -C none -d /boot/boot.cmd /boot/boot.scr
|
||||||
|
|
@ -31,11 +31,14 @@ RUN apt-get update && \
|
||||||
awscli && \
|
awscli && \
|
||||||
([ "$(uname -m)" = "aarch64" ] && \
|
([ "$(uname -m)" = "aarch64" ] && \
|
||||||
apt-get --assume-yes \
|
apt-get --assume-yes \
|
||||||
install gcc-arm-linux-gnueabihf || :) && \
|
install gcc-arm-linux-gnueabihf \
|
||||||
|
gcc-i686-linux-gnu \
|
||||||
|
gcc-x86-64-linux-gnu || :) && \
|
||||||
([ "$(uname -m)" = "x86_64" ] && \
|
([ "$(uname -m)" = "x86_64" ] && \
|
||||||
apt-get --assume-yes \
|
apt-get --assume-yes \
|
||||||
install gcc-aarch64-linux-gnu \
|
install gcc-arm-linux-gnueabihf \
|
||||||
gcc-arm-linux-gnueabihf || :) && \
|
gcc-aarch64-linux-gnu \
|
||||||
|
gcc-i686-linux-gnu || :) && \
|
||||||
apt-get clean && \
|
apt-get clean && \
|
||||||
rm -rf /var/lib/apt/lists/* && \
|
rm -rf /var/lib/apt/lists/* && \
|
||||||
rm -f /var/log/*.log
|
rm -f /var/log/*.log
|
||||||
|
|
|
||||||
|
|
@ -154,3 +154,5 @@ merrii_a80_optimus,Merrii A80 Optimus,Merrii,allwinner-a80,Merrii_A80_Optimus_de
|
||||||
|
|
||||||
qemu_arm_virt,QEMU arm virt,QEMU,qemu-arm,qemu_arm_defconfig,arm-linux-gnueabihf,N/A
|
qemu_arm_virt,QEMU arm virt,QEMU,qemu-arm,qemu_arm_defconfig,arm-linux-gnueabihf,N/A
|
||||||
qemu_aarch64_virt,QEMU aarch64 virt,QEMU,qemu-aarch64,qemu_arm64_defconfig,aarch64-linux-gnu,N/A
|
qemu_aarch64_virt,QEMU aarch64 virt,QEMU,qemu-aarch64,qemu_arm64_defconfig,aarch64-linux-gnu,N/A
|
||||||
|
qemu_x86_virt,QEMU x86 virt,QEMU,qemu-x86,qemu-x86_defconfig,i686-linux-gnu,N/A
|
||||||
|
qemu_x86_64_virt,QEMU x86_64 virt,QEMU,qemu-x86_64,qemu-x86_64_defconfig,x86_64-linux-gnu,N/A
|
||||||
|
|
|
||||||
|
|
|
@ -33,3 +33,5 @@ rk3399,RK3399,Rockchip,ARM Cortex A72/A53,armv8
|
||||||
|
|
||||||
qemu-arm,arm,QEMU,ARM Cortex A15,armv7
|
qemu-arm,arm,QEMU,ARM Cortex A15,armv7
|
||||||
qemu-aarch64,aarch64,QEMU,ARM Cortex A53,armv8
|
qemu-aarch64,aarch64,QEMU,ARM Cortex A53,armv8
|
||||||
|
qemu-x86_64,x86_64,QEMU,x86 qemu64,x86-64
|
||||||
|
qemu-x86,x86,QEMU,x86 qemu64,x86
|
||||||
|
|
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
OS,Dist,Arch
|
||||||
|
|
||||||
|
debian,buster,i386
|
||||||
|
debian,buster,amd64
|
||||||
|
|
||||||
|
debian,bullseye,i386
|
||||||
|
debian,bullseye,amd64
|
||||||
|
|
||||||
|
debian,sid,i386
|
||||||
|
debian,sid,amd64
|
||||||
|
|
|
@ -10,5 +10,17 @@ set -ex
|
||||||
|
|
||||||
build-u_boot "${DEFCONFIG}" "${TUPLE}"
|
build-u_boot "${DEFCONFIG}" "${TUPLE}"
|
||||||
|
|
||||||
|
case "${CHIP_ID}" in
|
||||||
|
qemu-x86|qemu-x86_64)
|
||||||
|
FILE=u-boot.rom
|
||||||
|
;;
|
||||||
|
qemu-arm|qemu-aarch64)
|
||||||
|
FILE=u-boot.bin
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Unknown CHIP_ID \"${CHIP_ID}\""
|
||||||
|
exit 1
|
||||||
|
esac
|
||||||
|
|
||||||
# Copy U-Boot to 16 sectors from start
|
# Copy U-Boot to 16 sectors from start
|
||||||
dd if=u-boot/u-boot.bin of=tmp.img seek=16
|
dd if=u-boot/"${FILE}" of=tmp.img seek=16 conv=notrunc
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# Build SD card image
|
||||||
|
|
||||||
|
BOARD_ID="${1}" # For example "bananapi"
|
||||||
|
CHIP_ID="${2}" # For example "allwinner-a10"
|
||||||
|
DEFCONFIG="${3}" # For example "Bananapi_defconfig"
|
||||||
|
TUPLE="${4}" # For example "arm-linux-gnueabihf"
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
build-u_boot "${DEFCONFIG}" "${TUPLE}"
|
||||||
|
|
||||||
|
# Copy U-Boot to 16 sectors from start
|
||||||
|
dd if=u-boot/u-boot.rom of=tmp.img seek=16 conv=notrunc
|
||||||
|
|
@ -20,4 +20,4 @@ esac
|
||||||
build-u_boot "${DEFCONFIG}" "${TUPLE}"
|
build-u_boot "${DEFCONFIG}" "${TUPLE}"
|
||||||
|
|
||||||
# Copy U-Boot to 64 sectors from start
|
# Copy U-Boot to 64 sectors from start
|
||||||
dd if=u-boot/u-boot-rockchip.bin of=tmp.img seek=64
|
dd if=u-boot/u-boot-rockchip.bin of=tmp.img seek=64 conv=notrunc
|
||||||
|
|
|
||||||
|
|
@ -44,11 +44,11 @@ sed -i -e "s/BOOT_UART=0/BOOT_UART=1/" bootcode.bin
|
||||||
|
|
||||||
# Create empty FAT partition
|
# Create empty FAT partition
|
||||||
rm -f vfat.img
|
rm -f vfat.img
|
||||||
fallocate -l 31MiB vfat.img
|
fallocate -l 28MiB vfat.img
|
||||||
mkfs.vfat vfat.img
|
mkfs.vfat vfat.img
|
||||||
|
|
||||||
# Copy boot files to FAT partition
|
# Copy boot files to FAT partition
|
||||||
mcopy -v -i vfat.img u-boot/u-boot.bin config.txt fixup*.dat start*.elf bootcode.bin ::
|
mcopy -v -i vfat.img u-boot/u-boot.bin config.txt fixup*.dat start*.elf bootcode.bin ::
|
||||||
|
|
||||||
# Copy FAT partition to image
|
# Copy FAT partition to image
|
||||||
dd if=vfat.img of=tmp.img bs=1K seek=1K
|
dd if=vfat.img of=tmp.img bs=1K seek=1K conv=notrunc
|
||||||
|
|
|
||||||
|
|
@ -24,4 +24,4 @@ esac
|
||||||
build-u_boot "${DEFCONFIG}" "${TUPLE}"
|
build-u_boot "${DEFCONFIG}" "${TUPLE}"
|
||||||
|
|
||||||
# Copy U-Boot to 8192 bytes from start
|
# Copy U-Boot to 8192 bytes from start
|
||||||
dd if=u-boot/u-boot-sunxi-with-spl.bin of=tmp.img bs=1K seek=8
|
dd if=u-boot/u-boot-sunxi-with-spl.bin of=tmp.img bs=1K seek=8 conv=notrunc
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,17 @@ debian-arm64)
|
||||||
URL=http://deb.debian.org/debian
|
URL=http://deb.debian.org/debian
|
||||||
SCRIPT=/usr/share/debootstrap/scripts/sid
|
SCRIPT=/usr/share/debootstrap/scripts/sid
|
||||||
;;
|
;;
|
||||||
ubuntu-armhf|ubuntu-arm64)
|
debian-i386)
|
||||||
|
KERNEL=linux-image-686
|
||||||
|
URL=http://deb.debian.org/debian
|
||||||
|
SCRIPT=/usr/share/debootstrap/scripts/sid
|
||||||
|
;;
|
||||||
|
debian-amd64)
|
||||||
|
KERNEL=linux-image-amd64
|
||||||
|
URL=http://deb.debian.org/debian
|
||||||
|
SCRIPT=/usr/share/debootstrap/scripts/sid
|
||||||
|
;;
|
||||||
|
ubuntu-armhf|ubuntu-arm64|ubuntu-amd64)
|
||||||
KERNEL=linux-image-generic
|
KERNEL=linux-image-generic
|
||||||
URL=http://ports.ubuntu.com/ubuntu-ports
|
URL=http://ports.ubuntu.com/ubuntu-ports
|
||||||
SCRIPT=/usr/share/debootstrap/scripts/gutsy
|
SCRIPT=/usr/share/debootstrap/scripts/gutsy
|
||||||
|
|
|
||||||
|
|
@ -6,9 +6,17 @@ IMAGE="${1}"
|
||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
rm -f "${IMAGE}"
|
rm -f "${IMAGE}"
|
||||||
fallocate -l 2GB "${IMAGE}" # 2,000,000,000 bytes
|
fallocate -v -l 2GB "${IMAGE}" # 2,000,000,000 bytes
|
||||||
|
|
||||||
parted -s "${IMAGE}" mklabel msdos
|
parted -s "${IMAGE}" mklabel msdos
|
||||||
parted -s "${IMAGE}" mkpart primary fat32 -- 1MiB 32MiB # 31 MiB (32,505,856 bytes)
|
parted -s "${IMAGE}" mkpart primary fat32 -- 4MiB 32MiB # 28 MiB (50,331,648 bytes)
|
||||||
parted -s "${IMAGE}" mkpart primary ext2 -- 32MiB -1
|
parted -s "${IMAGE}" mkpart primary ext2 -- 32MiB -1
|
||||||
parted -s "${IMAGE}" set 2 boot on
|
parted -s "${IMAGE}" set 2 boot on
|
||||||
|
|
||||||
|
# Create empty FAT partition
|
||||||
|
rm -f vfat.img
|
||||||
|
fallocate -l 28MiB vfat.img
|
||||||
|
mkfs.vfat vfat.img
|
||||||
|
|
||||||
|
# Copy FAT partition to image
|
||||||
|
dd if=vfat.img of="${IMAGE}" bs=1K seek=4K conv=notrunc
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,9 @@ arm-*)
|
||||||
aarch64-*)
|
aarch64-*)
|
||||||
export ARCH="aarch64"
|
export ARCH="aarch64"
|
||||||
;;
|
;;
|
||||||
|
x86_64-*|i?86-*)
|
||||||
|
export ARCH="x86"
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Can't decide \$ARCH for tuple \"${TUPLE}\""
|
echo "Can't decide \$ARCH for tuple \"${TUPLE}\""
|
||||||
exit 1
|
exit 1
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue