mirror of
https://git.savannah.gnu.org/git/grub.git
synced 2026-10-28 01:59:49 +00:00
Import brltty
This commit is contained in:
1 parent
93c120754a
commit
16fba4d65d
982 files changed
+326586
No files matched your search
@@ -0,0 +1,69 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
# Make local mount points
|
||||
mkdir -p mnt1 mnt2
|
||||
# Mount bootdisk image read-only
|
||||
mount boot.img mnt1 -o loop,ro -t msdos
|
||||
# Get the initial ramdisk it contains
|
||||
cp mnt1/initrd.img .
|
||||
# Finished with boot image for now.
|
||||
umount mnt1
|
||||
# Unzip and mount it
|
||||
mv initrd.img initrd.gz
|
||||
gunzip initrd.gz
|
||||
# Prevent warning about having to check the filesystem
|
||||
tune2fs -c 0 -i 0 initrd >/dev/null
|
||||
mount initrd mnt2 -o loop
|
||||
|
||||
# Work in initial ramdisk
|
||||
# Rename it's init
|
||||
mv mnt2/sbin/init mnt2/sbin/init_real
|
||||
# Put BRLTTY on it
|
||||
cp brltty mnt2/sbin
|
||||
# New init is a link to BRLTTY
|
||||
ln -s brltty mnt2/sbin/init
|
||||
# Help files and tables (if the person isn't familiar...)
|
||||
if [ -d etcbrltty ]; then
|
||||
mkdir -p mnt2/etc/brltty
|
||||
install etcbrltty/* mnt2/etc/brltty
|
||||
fi
|
||||
# Make sure some needed device files are present
|
||||
# ttyS0 ttyS1 tty0
|
||||
for i in ttyS0 ttyS1 tty0; do
|
||||
if [ ! -e mnt2/dev/$i ]; then
|
||||
cp -a /dev/$i mnt2/dev/$i
|
||||
chown root:root mnt2/dev/$i
|
||||
fi
|
||||
done
|
||||
# vcsa or vcsa0
|
||||
# NB this doesn't handle devfs...
|
||||
if [ ! -e mnt2/dev/vcsa -a ! -e mnt2/dev/vcsa0 ]; then
|
||||
for i in vcsa vcsa0; do
|
||||
if [ -c /dev/$i ]; then
|
||||
if [ -h /dev/$i ]; then
|
||||
tgt="`readlink /dev/$i`"
|
||||
# This assumes the link is relative...
|
||||
if [ -c /dev/$tgt ]; then
|
||||
cp -a /dev/$tgt mnt2/dev
|
||||
else
|
||||
echo "Failed to get link target of /dev/$i"
|
||||
echo "Failed!!"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
cp -a /dev/$i mnt2/dev
|
||||
fi
|
||||
done
|
||||
fi
|
||||
if [ ! -e mnt2/dev/vcsa -a ! -e mnt2/dev/vcsa0 ]; then
|
||||
echo "Failed to create mnt2/dev/vcsa"
|
||||
echo "Failed!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Done with initial ramdisk. wrap it up.
|
||||
umount mnt2
|
||||
gzip -9 initrd
|
||||
mv initrd.gz myroot.img
|
||||
Reference in new issue
Block a user