updated
This commit is contained in:
parent
c6604a9e3d
commit
9e94a4e515
11 changed files with 189 additions and 19 deletions
4
03-mkiso
4
03-mkiso
|
@ -55,6 +55,8 @@ source $CWD/config
|
||||||
|
|
||||||
isolinux_files="chain.c32 isolinux.bin ldlinux.c32 libutil.c32 reboot.c32 menu.c32 libcom32.c32 poweroff.c32"
|
isolinux_files="chain.c32 isolinux.bin ldlinux.c32 libutil.c32 reboot.c32 menu.c32 libcom32.c32 poweroff.c32"
|
||||||
|
|
||||||
|
OUTPUT=$OUTPUT.iso
|
||||||
|
|
||||||
rm -fr $WDIR
|
rm -fr $WDIR
|
||||||
mkdir -p $WDIR
|
mkdir -p $WDIR
|
||||||
|
|
||||||
|
@ -81,7 +83,7 @@ cp $LFS/boot/vmlinuz-lfs $WDIR/boot/vmlinuz || die "failed copying kernel"
|
||||||
cp files/livecd.hook $LFS/etc/mkinitramfs.d
|
cp files/livecd.hook $LFS/etc/mkinitramfs.d
|
||||||
kernver=$(file $LFS/boot/vmlinuz-lfs | cut -d ' ' -f9)
|
kernver=$(file $LFS/boot/vmlinuz-lfs | cut -d ' ' -f9)
|
||||||
chroot_run mkinitramfs -k $kernver -a livecd -o /boot/initrd-lfs.img || die "failed create initramfs"
|
chroot_run mkinitramfs -k $kernver -a livecd -o /boot/initrd-lfs.img || die "failed create initramfs"
|
||||||
cp $LFS/boot/initrd-lfs.img $WDIR/boot/initrd || die "failed copying initrd"
|
mv $LFS/boot/initrd-lfs.img $WDIR/boot/initrd || die "failed copying initrd"
|
||||||
|
|
||||||
printstep "Setup UEFI mode..."
|
printstep "Setup UEFI mode..."
|
||||||
mkdir -p $WDIR/boot/{grub/{fonts,x86_64-efi},EFI}
|
mkdir -p $WDIR/boot/{grub/{fonts,x86_64-efi},EFI}
|
||||||
|
|
2
config
2
config
|
@ -10,7 +10,7 @@ FILEDIR=$CWD/files
|
||||||
WORKDIR=/tmp
|
WORKDIR=/tmp
|
||||||
|
|
||||||
LABEL=LFSLIVECD
|
LABEL=LFSLIVECD
|
||||||
OUTPUT=lfslivecd.iso
|
OUTPUT=lfs-livecd-$(date +"%Y%m%d")
|
||||||
WDIR=/tmp/lfsiso
|
WDIR=/tmp/lfsiso
|
||||||
|
|
||||||
#MULTILIB=yes
|
#MULTILIB=yes
|
||||||
|
|
|
@ -23,9 +23,9 @@ build() {
|
||||||
|
|
||||||
mkdir -p $PKG/etc/sysconfig/
|
mkdir -p $PKG/etc/sysconfig/
|
||||||
cat > $PKG/etc/sysconfig/ifconfig.eth0 << "EOF"
|
cat > $PKG/etc/sysconfig/ifconfig.eth0 << "EOF"
|
||||||
#ONBOOT="yes"
|
ONBOOT="no"
|
||||||
#IFACE="eth0"
|
IFACE="eth0"
|
||||||
#SERVICE="dhcpcd"
|
SERVICE="dhcpcd"
|
||||||
#DHCP_START="-b -q <insert appropriate start options here>"
|
#DHCP_START="-b -q <insert appropriate start options here>"
|
||||||
#DHCP_STOP="-k <insert additional stop options here>"
|
#DHCP_STOP="-k <insert additional stop options here>"
|
||||||
EOF
|
EOF
|
||||||
|
|
|
@ -70,7 +70,7 @@ build() {
|
||||||
|
|
||||||
# /etc
|
# /etc
|
||||||
install -d $PKG/etc
|
install -d $PKG/etc
|
||||||
for p in profile bashrc resolv.conf inputrc fstab hostname hosts shells passwd group; do
|
for p in profile bashrc resolv.conf inputrc fstab hostname hosts passwd group; do
|
||||||
install -m0644 $p $PKG/etc
|
install -m0644 $p $PKG/etc
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
|
@ -5,10 +5,7 @@
|
||||||
|
|
||||||
#/dev/<xxx> / <fff> defaults 1 1
|
#/dev/<xxx> / <fff> defaults 1 1
|
||||||
#/dev/<yyy> swap swap pri=1 0 0
|
#/dev/<yyy> swap swap pri=1 0 0
|
||||||
proc /proc proc nosuid,noexec,nodev 0 0
|
|
||||||
sysfs /sys sysfs nosuid,noexec,nodev 0 0
|
|
||||||
devpts /dev/pts devpts gid=5,mode=620 0 0
|
devpts /dev/pts devpts gid=5,mode=620 0 0
|
||||||
tmpfs /run tmpfs defaults 0 0
|
tmpfs /run tmpfs defaults 0 0
|
||||||
devtmpfs /dev devtmpfs mode=0755,nosuid 0 0
|
|
||||||
|
|
||||||
# End /etc/fstab
|
# End /etc/fstab
|
||||||
|
|
|
@ -6,8 +6,7 @@
|
||||||
name=grub
|
name=grub
|
||||||
version=2.04
|
version=2.04
|
||||||
release=1
|
release=1
|
||||||
backup=(etc/default/grub)
|
source=(https://ftp.gnu.org/gnu/$name/$name-$version.tar.xz grub.default)
|
||||||
source=(https://ftp.gnu.org/gnu/$name/$name-$version.tar.xz)
|
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
cd $name-$version
|
cd $name-$version
|
||||||
|
@ -20,4 +19,6 @@ build() {
|
||||||
--enable-grub-mount
|
--enable-grub-mount
|
||||||
make
|
make
|
||||||
make DESTDIR=$PKG install
|
make DESTDIR=$PKG install
|
||||||
|
|
||||||
|
install -D -m0644 $SRC/grub.default $PKG/etc/default/grub
|
||||||
}
|
}
|
||||||
|
|
54
ports/grub/grub.default
Executable file
54
ports/grub/grub.default
Executable file
|
@ -0,0 +1,54 @@
|
||||||
|
# GRUB boot loader configuration
|
||||||
|
|
||||||
|
GRUB_DEFAULT=0
|
||||||
|
GRUB_TIMEOUT=5
|
||||||
|
GRUB_DISTRIBUTOR="Linux From Scratch"
|
||||||
|
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
|
||||||
|
GRUB_CMDLINE_LINUX=""
|
||||||
|
|
||||||
|
# Preload both GPT and MBR modules so that they are not missed
|
||||||
|
GRUB_PRELOAD_MODULES="part_gpt part_msdos"
|
||||||
|
|
||||||
|
# Uncomment to enable booting from LUKS encrypted devices
|
||||||
|
#GRUB_ENABLE_CRYPTODISK=y
|
||||||
|
|
||||||
|
# Uncomment to enable Hidden Menu, and optionally hide the timeout count
|
||||||
|
#GRUB_HIDDEN_TIMEOUT=5
|
||||||
|
#GRUB_HIDDEN_TIMEOUT_QUIET=true
|
||||||
|
|
||||||
|
# Uncomment to use basic console
|
||||||
|
GRUB_TERMINAL_INPUT=console
|
||||||
|
|
||||||
|
# Uncomment to disable graphical terminal
|
||||||
|
#GRUB_TERMINAL_OUTPUT=console
|
||||||
|
|
||||||
|
# The resolution used on graphical terminal
|
||||||
|
# note that you can use only modes which your graphic card supports via VBE
|
||||||
|
# you can see them in real GRUB with the command `vbeinfo'
|
||||||
|
GRUB_GFXMODE=auto
|
||||||
|
|
||||||
|
# Uncomment to allow the kernel use the same resolution used by grub
|
||||||
|
GRUB_GFXPAYLOAD_LINUX=keep
|
||||||
|
|
||||||
|
# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
|
||||||
|
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
|
||||||
|
#GRUB_DISABLE_LINUX_UUID=true
|
||||||
|
|
||||||
|
# Uncomment to disable generation of recovery mode menu entries
|
||||||
|
GRUB_DISABLE_RECOVERY=true
|
||||||
|
|
||||||
|
# Uncomment and set to the desired menu colors. Used by normal and wallpaper
|
||||||
|
# modes only. Entries specified as foreground/background.
|
||||||
|
#GRUB_COLOR_NORMAL="light-blue/black"
|
||||||
|
#GRUB_COLOR_HIGHLIGHT="light-cyan/blue"
|
||||||
|
|
||||||
|
# Uncomment one of them for the gfx desired, a image background or a gfxtheme
|
||||||
|
#GRUB_BACKGROUND="/path/to/wallpaper"
|
||||||
|
#GRUB_THEME="/path/to/gfxtheme"
|
||||||
|
|
||||||
|
# Uncomment to get a beep at GRUB start
|
||||||
|
#GRUB_INIT_TUNE="480 440 1"
|
||||||
|
|
||||||
|
# Uncomment to make GRUB remember the last selection. This requires to
|
||||||
|
# set 'GRUB_DEFAULT=saved' above.
|
||||||
|
#GRUB_SAVEDEFAULT="true"
|
|
@ -4,13 +4,11 @@
|
||||||
# Depends on:
|
# Depends on:
|
||||||
|
|
||||||
name=linux-firmware
|
name=linux-firmware
|
||||||
version=20190717
|
version=20190923
|
||||||
release=1
|
release=1
|
||||||
source=(https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/snapshot/linux-firmware-$version.tar.gz)
|
source=(https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/snapshot/linux-firmware-$version.tar.gz)
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
cd $name-$version
|
cd $name-$version
|
||||||
|
|
||||||
make DESTDIR=$PKG install
|
make DESTDIR=$PKG install
|
||||||
rm $PKG/lib/firmware/{Makefile,README,configure,GPL-3,*.txt,check_whence.py}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -67,14 +67,14 @@ EOF
|
||||||
|
|
||||||
mkdir -p $PKG/etc/sysconfig
|
mkdir -p $PKG/etc/sysconfig
|
||||||
cat > $PKG/etc/sysconfig/ifconfig.wifi0 << "EOF"
|
cat > $PKG/etc/sysconfig/ifconfig.wifi0 << "EOF"
|
||||||
#ONBOOT="yes"
|
ONBOOT="no"
|
||||||
#IFACE="wlan0"
|
IFACE="wlan0"
|
||||||
#SERVICE="wpa"
|
SERVICE="wpa"
|
||||||
|
|
||||||
# Additional arguments to wpa_supplicant
|
# Additional arguments to wpa_supplicant
|
||||||
#WPA_ARGS=""
|
WPA_ARGS=""
|
||||||
|
|
||||||
#WPA_SERVICE="dhcpcd"
|
WPA_SERVICE="dhcpcd"
|
||||||
#DHCP_START="-b -q <insert appropriate start options here>"
|
#DHCP_START="-b -q <insert appropriate start options here>"
|
||||||
#DHCP_STOP="-k <insert additional stop options here>"
|
#DHCP_STOP="-k <insert additional stop options here>"
|
||||||
EOF
|
EOF
|
||||||
|
|
85
rootfs/sbin/lfs-chroot
Executable file
85
rootfs/sbin/lfs-chroot
Executable file
|
@ -0,0 +1,85 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
printhelp() {
|
||||||
|
cat << EOF
|
||||||
|
|
||||||
|
Usage:
|
||||||
|
$(basename $0) <newroot> <command>
|
||||||
|
|
||||||
|
(omit command to chroot only)
|
||||||
|
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
msgerr() {
|
||||||
|
echo -e "ERROR: $@"
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ "$UID" != "0" ]; then
|
||||||
|
msgerr "$(basename $0) need root access!"
|
||||||
|
printhelp
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
LFS=$1
|
||||||
|
|
||||||
|
if [ -z $1 ]; then
|
||||||
|
msgerr "Please set directory for chroot!"
|
||||||
|
printhelp
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -d $LFS ]; then
|
||||||
|
msgerr "Directory '$LFS' not exist"
|
||||||
|
printhelp
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
shift
|
||||||
|
|
||||||
|
CMD=$@
|
||||||
|
if [ -z $2 ]; then
|
||||||
|
CMD="/bin/bash --login"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -e /sys/firmware/efi/systab ]; then
|
||||||
|
EFI_SYSTEM=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
pushd $LFS &>/dev/null
|
||||||
|
|
||||||
|
mount --bind /dev $LFS/dev
|
||||||
|
mount -t devpts devpts $LFS/dev/pts -o gid=5,mode=620
|
||||||
|
mount -t proc proc $LFS/proc
|
||||||
|
mount -t sysfs sysfs $LFS/sys
|
||||||
|
if [ -n "$EFI_SYSTEM" ]; then
|
||||||
|
mount --bind /sys/firmware/efi/efivars $LFS/sys/firmware/efi/efivars
|
||||||
|
fi
|
||||||
|
mount -t tmpfs tmpfs $LFS/run
|
||||||
|
|
||||||
|
if [ -h $LFS/dev/shm ]; then
|
||||||
|
mkdir -p $LFS/$(readlink $LFS/dev/shm)
|
||||||
|
fi
|
||||||
|
|
||||||
|
cp -L /etc/resolv.conf $LFS/etc
|
||||||
|
|
||||||
|
chroot "$LFS" /usr/bin/env -i \
|
||||||
|
HOME=/root \
|
||||||
|
TERM="$TERM" \
|
||||||
|
PS1='\u:\w\$ ' \
|
||||||
|
PATH=/bin:/usr/bin:/sbin:/usr/sbin $CMD
|
||||||
|
|
||||||
|
retval=$?
|
||||||
|
|
||||||
|
popd &>/dev/null
|
||||||
|
|
||||||
|
umount $LFS/dev/pts
|
||||||
|
umount $LFS/dev
|
||||||
|
umount $LFS/run
|
||||||
|
umount $LFS/proc
|
||||||
|
if [ -n "$EFI_SYSTEM" ]; then
|
||||||
|
umount $LFS/sys/firmware/efi/efivars
|
||||||
|
fi
|
||||||
|
umount $LFS/sys
|
||||||
|
|
||||||
|
exit $retval
|
33
rootfs/sbin/lfs-install
Executable file
33
rootfs/sbin/lfs-install
Executable file
|
@ -0,0 +1,33 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
LFSMOUNT=$1
|
||||||
|
|
||||||
|
if [ ! "$LFSMOUNT" ]; then
|
||||||
|
echo "mounted location for install not define!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! mountpoint -q $LFSMOUNT; then
|
||||||
|
echo "'$LFSMOUNT' is not a mountpoint!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f "/run/initramfs/ram/root.sfs" ]; then
|
||||||
|
ROOTSFS="/run/initramfs/ram/root.sfs"
|
||||||
|
elif [ -f "/run/initramfs/medium/lfs/root.sfs" ]; then
|
||||||
|
ROOTSFS="/run/initramfs/medium/lfs/root.sfs"
|
||||||
|
else
|
||||||
|
echo "squashed image not found!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
unsquashfs -f -i -d $LFSMOUNT $ROOTSFS
|
||||||
|
|
||||||
|
if [ "$?" = "0" ]; then
|
||||||
|
echo "Successfully installed to '$LFSMOUNT'"
|
||||||
|
else
|
||||||
|
echo "failed to install lfs system"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit 0
|
Loading…
Add table
Reference in a new issue