iglunix/createimg.sh

90 lines
2.1 KiB
Bash
Raw Normal View History

2021-01-31 13:41:39 +00:00
#!/bin/sh
2021-02-15 15:04:25 +00:00
echo "Createimg.sh"
2021-02-04 12:02:44 +00:00
rm iglunix.img
2021-02-13 13:24:03 +00:00
dd if=../tiny-linux-bootloader/disk of=iglunix.img
2021-02-13 13:24:03 +00:00
2021-02-15 15:04:25 +00:00
source build_utils
2021-02-04 12:02:44 +00:00
FILE_SIZE=$(stat -c %s iglunix.img)
echo "FILE_SIZE=${FILE_SIZE}"
PARTITION_START=$(($FILE_SIZE / 512))
PARTITION_START=$(($PARTITION_START + 1))
echo "PARTITION_START=${PARTITION_START}"
2021-02-04 12:02:44 +00:00
#create room for a partition
ls -al iglunix.img -h
2021-04-17 10:52:02 +00:00
dd if=/dev/zero bs=1 count=0 seek=20G of=iglunix.img
ls -al iglunix.img -h
2021-02-04 12:02:44 +00:00
echo "n
2021-01-30 07:29:13 +00:00
p
1
${PARTITION_START}
2021-01-30 07:29:13 +00:00
w
2021-02-10 19:00:20 +00:00
" | fdisk iglunix.img
2021-02-04 12:02:44 +00:00
2021-02-15 15:04:25 +00:00
PARTITION_START2=$((${PARTITION_START} * 512))
echo "PARTITION_START2: ${PARTITION_START2}"
LOOPBACK=$(losetup -o ${PARTITION_START2} -s -f iglunix.img)
echo "loopback interface: ${LOOPBACK}"
#ERROR IF NO LOOPBACK
[ -z "$LOOPBACK" ] && echo "loopback creation failed!" && exit -1
2021-02-15 15:04:25 +00:00
mke2fs -t ext4 -L "__IGLUNIX_ROOT" ${LOOPBACK}
ROOT=/mnt/__IGLUNIX_ROOT
umount ${ROOT}
rm -rf ${ROOT}
mkdir -p ${ROOT}
mount ${LOOPBACK} ${ROOT}
packages=(musl mksh bmake gmake llvm libressl cmake curl rsync flex byacc om4 zlib samurai libffi python ca-certificates zlib expat gettext-tiny git kati netbsd-curses kakoune iglunix rust toybox busybox less file pci-ids e2fsprogs util-linux linux-pam kbd)
2021-02-15 15:04:25 +00:00
cp_packages ${ROOT}
2021-04-08 10:27:54 +00:00
echo "Linked ld.lld (from llvm) to ld"
ln -s /usr/bin/ld.lld /usr/bin/ld
2021-03-29 18:10:56 +00:00
echo "Copying misc files & creating misc dirs for live-usb"
mkdir ${ROOT}/proc/
mkdir ${ROOT}/dev/
mkdir ${ROOT}/tmp/
mkdir ${ROOT}/sys/
2021-04-18 07:50:00 +00:00
mkdir ${ROOT}/mnt/
2021-03-27 17:53:32 +00:00
mkdir ${ROOT}/etc/
2021-03-29 18:10:56 +00:00
mkdir ${ROOT}/root/
2021-03-27 17:53:32 +00:00
cp ./pkgs/tiny-linux-bootloader/fstab ${ROOT}/etc/fstab
cp /etc/hostname ${ROOT}/etc/hostname
cp /etc/passwd ${ROOT}/etc/passwd
2021-04-07 19:39:35 +00:00
touch ${ROOT}/etc/shadow
2021-03-27 17:53:32 +00:00
2021-02-15 15:04:25 +00:00
echo "Using the host keymap"
cp /etc/vconsole.conf ${ROOT}/etc/vconsole.conf
#TODO: this is a systemd file,
# use udev/kbd
2021-02-15 15:04:25 +00:00
2021-04-17 10:52:02 +00:00
echo "Copying init.d files& inittab"
mkdir ${ROOT}/etc/init.d/
cp -r /iglunix/init/init.d ${ROOT}/etc/
cp /iglunix/init/inittab ${ROOT}/etc/
2021-02-15 15:04:25 +00:00
echo "Unmounting & closing loopback"
umount ${ROOT}
2021-02-13 13:24:03 +00:00
2021-02-15 15:04:25 +00:00
losetup -d ${LOOPBACK}
exit
2021-02-13 13:24:03 +00:00
2021-02-10 19:00:20 +00:00
# losetup -o 32256 /dev/loop0 iglunix.img
2021-02-04 12:02:44 +00:00
# mkfs.vfat /dev/loop0
# mount /dev/loop0 ./isoroot
# #rm -r isoroot/*
# #cp -r isoout/* isoroot
# umount ./isoroot