Updated the root FS generation process to support x86_64 machines. GNU libc dependencies have been reduced significantly and only the DNS related libraries are used. This works for x86_64 machines but hasn't been tested on pure 32-bit machines.
This commit is contained in:
parent
4c807ae189
commit
fb5ab6f49a
@ -21,9 +21,10 @@ cd ../../rootfs
|
|||||||
# Remove "linuxrc" which is used when we boot in "RAM disk" mode.
|
# Remove "linuxrc" which is used when we boot in "RAM disk" mode.
|
||||||
rm -f linuxrc
|
rm -f linuxrc
|
||||||
|
|
||||||
# Create root FS folders
|
# Create root FS folders.
|
||||||
mkdir dev
|
mkdir dev
|
||||||
mkdir etc
|
mkdir etc
|
||||||
|
mkdir lib
|
||||||
mkdir proc
|
mkdir proc
|
||||||
mkdir root
|
mkdir root
|
||||||
mkdir src
|
mkdir src
|
||||||
@ -107,32 +108,13 @@ tty4::respawn:/bin/sh
|
|||||||
|
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cat > nsswitch.conf << EOF
|
|
||||||
passwd: db files nis
|
|
||||||
shadow: files
|
|
||||||
group: db files nis
|
|
||||||
|
|
||||||
hosts: files nisplus nis dns
|
|
||||||
networks: nisplus [NOTFOUND=return] files
|
|
||||||
|
|
||||||
ethers: nisplus [NOTFOUND=return] db files
|
|
||||||
protocols: nisplus [NOTFOUND=return] db files
|
|
||||||
rpc: nisplus [NOTFOUND=return] db files
|
|
||||||
services: nisplus [NOTFOUND=return] db files
|
|
||||||
|
|
||||||
EOF
|
|
||||||
|
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
# The "/init" script passes the execution to "/sbin/init" which in turn looks
|
# The "/init" script passes the execution to "/sbin/init" which in turn looks
|
||||||
# for the configuration file "/etc/inittab".
|
# for the configuration file "/etc/inittab".
|
||||||
cat > init << EOF
|
cat > init << EOF
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
echo "1111111111111111"
|
|
||||||
echo "1111111111111111"
|
|
||||||
echo "1111111111111111"
|
|
||||||
PATH=/lib:$PATH
|
|
||||||
export PATH
|
|
||||||
exec /sbin/init
|
exec /sbin/init
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
@ -147,10 +129,16 @@ chmod +rx src/*.sh
|
|||||||
chmod +r src/.config
|
chmod +r src/.config
|
||||||
chmod +r src/*.txt
|
chmod +r src/*.txt
|
||||||
|
|
||||||
#cd bin
|
# Copy the necessary 'glibc' libraries for proper DNS resolving.
|
||||||
#cp -r $GLIBC_INSTALLED/lib/* .
|
cp $GLIBC_INSTALLED/lib/libm.so.6 ./lib
|
||||||
#cd ..
|
cp $GLIBC_INSTALLED/lib/libc.so.6 ./lib
|
||||||
cp -r $GLIBC_INSTALLED/* .
|
cp $GLIBC_INSTALLED/lib/ld-linux* ./lib
|
||||||
|
cp $GLIBC_INSTALLED/lib/libresolv.so.2 ./lib
|
||||||
|
cp $GLIBC_INSTALLED/lib/libnss_dns.so.2 ./lib
|
||||||
|
|
||||||
|
|
||||||
|
# Make sure x86_64 binaries can be loaded (for 64bit machines).
|
||||||
|
ln -s lib lib64
|
||||||
|
|
||||||
cd ../..
|
cd ../..
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
qemu-system-i386 -m 256M -cdrom minimal_linux_live.iso
|
qemu-system-i386 -m 64M -cdrom minimal_linux_live.iso
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
qemu-system-x86_64 -cdrom minimal_linux_live.iso
|
qemu-system-x86_64 -m 64M -cdrom minimal_linux_live.iso
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user