Skip to content

Commit 91666ae

Browse files
authored
Merge pull request zhovner#16 from foxpdll/master
Auto build script
2 parents fc15652 + c71a63d commit 91666ae

File tree

13 files changed

+5628
-0
lines changed

13 files changed

+5628
-0
lines changed

FoxBuild/01_get.sh

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#/bin/bash
2+
3+
alpineminirootfsfile="alpine-minirootfs-3.11.6-x86_64.tar.gz"
4+
linuxver="linux-5.6.8"
5+
6+
wget -4 http://dl-cdn.alpinelinux.org/alpine/v3.11/releases/x86_64/$alpineminirootfsfile
7+
mkdir alpine-minirootfs
8+
tar -C ./alpine-minirootfs -xf $alpineminirootfsfile
9+
wget -4 https://cdn.kernel.org/pub/linux/kernel/v5.x/$linuxver.tar.xz
10+
tar -xf $linuxver.tar.xz
11+
12+
ln -s $linuxver linux

FoxBuild/02_chrootandinstall.sh

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#!/bin/bash
2+
cat > alpine-minirootfs/etc/resolv.conf << EOF
3+
nameserver 8.8.8.8
4+
nameserver 8.8.4.4
5+
EOF
6+
cat > alpine-minirootfs/mk.sh << EOF
7+
apk update
8+
apk upgrade
9+
apk add openrc nano mc htop tcpdump parted wpa_supplicant dropbear dropbear-ssh efibootmgr busybox-initscripts
10+
echo "exit from here typing exit"
11+
exit
12+
EOF
13+
chmod +x alpine-minirootfs/mk.sh
14+
echo "run ./mk.sh"
15+
16+
chroot alpine-minirootfs /bin/ash
17+
rm alpine-minirootfs/mk.sh

FoxBuild/03_conf.sh

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#/bin/bash
2+
3+
ln -s /etc/init.d/mdev ./alpine-minirootfs/etc/runlevels/sysinit/mdev
4+
ln -s /etc/init.d/devfs ./alpine-minirootfs/etc/runlevels/sysinit/devfs
5+
ln -s /etc/init.d/dmesg ./alpine-minirootfs/etc/runlevels/sysinit/dmesg
6+
ln -s /etc/init.d/syslog ./alpine-minirootfs/etc/runlevels/sysinit/syslog
7+
ln -s /etc/init.d/hwdrivers ./alpine-minirootfs/etc/runlevels/sysinit/hwdrivers
8+
ln -s /etc/init.d/networking ./alpine-minirootfs/etc/runlevels/sysinit/networking
9+
ln -s /etc/init.d/networking ./alpine-minirootfs/etc/runlevels/sysinit/networking
10+
ln -s /etc/init.d/wpa_supplicant ./alpine-minirootfs/etc/runlevels/sysinit/wpa_supplicant
11+
12+
cat ./zfiles/wpa_supplicant.conf > ./alpine-minirootfs/etc/wpa_supplicant/wpa_supplicant.conf
13+
cat ./zfiles/interfaces > ./alpine-minirootfs/etc/network/interfaces
14+
cat ./zfiles/resolv.conf > ./alpine-minirootfs/etc/resolv.conf
15+
cat ./zfiles/profile > ./alpine-minirootfs/etc/profile
16+
cat ./zfiles/shadow > ./alpine-minirootfs/etc/shadow
17+
cat ./zfiles/init > ./alpine-minirootfs/init
18+
chmod +x ./alpine-minirootfs/init
19+
20+
#mv ./alpine-minirootfs/etc/profile.d/color_prompt ./alpine-minirootfs/etc/profile.d/color_prompt.sh
21+
#mv ./alpine-minirootfs/etc/profile.d/locale ./alpine-minirootfs/etc/profile.d/locale.sh
22+
#chmod +x ./alpine-minirootfs/etc/profile.d/*.sh
23+
#mkdir ./alpine-minirootfs/media/ubuntu
24+
#cat > ./alpine-minirootfs/etc/fstab << EOF
25+
#/dev/cdrom /media/cdrom iso9660 noauto,ro 0 0
26+
#/dev/usbdisk /media/usb vfat noauto,ro 0 0
27+
#/dev/sda5 /media/ubuntu ext4 rw,relatime 0 0
28+
#EOF
29+
30+
mkdir -p alpine-minirootfs/lib/
31+
tar -C alpine-minirootfs/lib/ -xf zfiles/firmware.tar.xz
32+
cp zfiles/.config linux/
33+
34+
cd linux
35+
make oldconfig

FoxBuild/04_build.sh

Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
#!/bin/bash
2+
3+
set -e
4+
5+
# RootFS variables
6+
ROOTFS="alpine-minirootfs"
7+
CACHEPATH="$ROOTFS/var/cache/apk/"
8+
SHELLHISTORY="$ROOTFS/root/.ash_history"
9+
DEVCONSOLE="$ROOTFS/dev/console"
10+
MODULESPATH="$ROOTFS/lib/modules/"
11+
DEVURANDOM="$ROOTFS/dev/urandom"
12+
13+
# Kernel variables
14+
KERNELVERSION="5.6.8"
15+
KERNELPATH="linux-5.6.8"
16+
export INSTALL_MOD_PATH="../$ROOTFS/"
17+
18+
# Build threads equall CPU cores
19+
THREADS=$(getconf _NPROCESSORS_ONLN)
20+
21+
echo " ____________ "
22+
echo " /|------------| "
23+
echo " /_| .---. | "
24+
echo " | / \ | "
25+
echo " | \.6-6./ | "
26+
echo " | /\`\_/\`\ | "
27+
echo " | // _ \\\ | "
28+
echo " | | \ / | | "
29+
echo " | /\`\_\`> <_/\`\ | "
30+
echo " | \__/'---'\__/ | "
31+
echo " |_______________| "
32+
echo " "
33+
echo " OneFileLinux.efi "
34+
35+
##########################
36+
# Checking root filesystem
37+
##########################
38+
39+
echo "----------------------------------------------------"
40+
echo -e "Checking root filesystem\n"
41+
42+
# Clearing apk cache
43+
if [ "$(ls -A $CACHEPATH)" ]; then
44+
echo -e "Apk cache folder is not empty: $CACHEPATH \nRemoving cache...\n"
45+
rm $CACHEPATH*
46+
fi
47+
48+
# Remove shell history
49+
if [ -f $SHELLHISTORY ]; then
50+
echo -e "Shell history found: $SHELLHISTORY \nRemoving history file...\n"
51+
rm $SHELLHISTORY
52+
fi
53+
54+
# Clearing kernel modules folder
55+
if [ "$(ls -A $MODULESPATH)" ]; then
56+
echo -e "Kernel modules folder is not empty: $MODULESPATH \nRemoving modules...\n"
57+
rm -r $MODULESPATH*
58+
fi
59+
60+
# Removing dev bindings
61+
if [ -e $DEVURANDOM ]; then
62+
echo -e "/dev/ bindings found: $DEVURANDOM. Unmounting...\n"
63+
umount $DEVURANDOM || echo -e "Not mounted. \n"
64+
rm $DEVURANDOM
65+
fi
66+
67+
68+
## Check if console character file exist
69+
#if [ ! -e $DEVCONSOLE ]; then
70+
# echo -e "ERROR: Console device does not exist: $DEVCONSOLE \nPlease create device file: mknod -m 600 $DEVCONSOLE c 5 1"
71+
# exit 1
72+
#else
73+
# if [ -d $DEVCONSOLE ]; then # Check that console device is not a folder
74+
# echo -e "ERROR: Console device is a folder: $DEVCONSOLE \nPlease create device file: mknod -m 600 $DEVCONSOLE c 5 1"
75+
# exit 1
76+
# fi
77+
#
78+
# if [ -f $DEVCONSOLE ]; then # Check that console device is not a regular file
79+
# echo -e "ERROR: Console device is a regular: $DEVCONSOLE \nPlease create device file: mknod -m 600 $DEVCONSOLE c 5 1"
80+
# fi
81+
#fi
82+
83+
# Print rootfs uncompressed size
84+
echo -e "Uncompressed root filesystem size WITHOUT kernel modules: $(du -sh $ROOTFS | cut -f1)\n"
85+
86+
87+
cd $KERNELPATH
88+
89+
##########################
90+
# Bulding kernel
91+
##########################
92+
echo "----------------------------------------------------"
93+
echo -e "Building kernel with initrams using $THREADS threads...\n"
94+
make -j$THREADS
95+
96+
##########################
97+
# Bulding kernel modules
98+
##########################
99+
100+
echo "----------------------------------------------------"
101+
echo -e "Building kernel mobules using $THREADS threads...\n"
102+
make modules -j$THREADS
103+
104+
# Copying kernel modules in root filesystem
105+
echo "----------------------------------------------------"
106+
echo -e "Copying kernel modules in root filesystem\n"
107+
make modules_install
108+
echo -e "Uncompressed root filesystem size WITH kernel modules: $(du -sh ../$ROOTFS | cut -f1)\n"
109+
110+
# Creating modules.dep
111+
echo "----------------------------------------------------"
112+
echo -e "Copying modules.dep\n"
113+
depmod -b ../$ROOTFS -F System.map $KERNELVERSION-onefile
114+
115+
##########################
116+
# Bulding kernel
117+
##########################
118+
echo "----------------------------------------------------"
119+
echo -e "Building kernel with initrams using $THREADS threads...\n"
120+
make -j$THREADS
121+
122+
123+
##########################
124+
# Get builded file
125+
##########################
126+
127+
#rm /boot/efi/EFI/OneFileLinux.efi
128+
#cp arch/x86/boot/bzImage /boot/efi/EFI/OneFileLinux.efi
129+
cp arch/x86/boot/bzImage ../OneFileLinux.efi
130+
#cd ..
131+
echo "----------------------------------------------------"
132+
echo -e "\nBuilded successfully: $(pwd)/OneFileLinux.efi\n"
133+
echo -e "File size: $(du -sh ../OneFileLinux.efi | cut -f1)\n"

FoxBuild/README.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
## FoxBuild
2+
Scripts for building LiveLinux OneFileLinux distro
3+
4+
## Firmware for eth10k_pci driver
5+
6+
In firmware.tar.gz firmware for eth10k_pci driver for ThinkPad E470
7+
8+
## Configure
9+
All configuration file in zfiles
10+
11+
## Building
12+
Install gcc make and so on
13+
Run 01..
14+
Run 02..
15+
Run 03..
16+
Run 04..

0 commit comments

Comments
 (0)