z8300平台驱动linux,为Z8300平板做个简单的linux系统
x86-64的開機順序是
UEFI->grub2->kernel->rootfs
本系統使用一個8G U盤做主硬盤,
UEFI, grub2, kernel在第一分區,格式為fat,大小為1G。
rootfs在第二分區,格式為EXT4分區,大小為2G。
為U盤建立GPT分區表
$ sudo gdisk /dev/sdb
Command (? for help): o
Command (? for help): w
Do you want to proceed? (Y/N): y
創建第一分區
$ sudo gdisk /dev/sdb
Command (? for help): n
Partition number (1-128, default 1):
First sector (34-16367582, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-16367582, default = 16367582) or {+-}size{KMGTP}: +1G
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): ef00
Changed type of partition to 'EFI System'
創建第二分區
Command (? for help): n
Partition number (2-128, default 2): 2
First sector (34-16367582, default = 2099200) or {+-}size{KMGTP}:
Last sector (2099200-16367582, default = 16367582) or {+-}size{KMGTP}: +2G
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
寫入GPT分區表
Command (? for help): w
$ ls /dev/ | grep sdb
sdb
sdb1
sdb2
OK,兩個分區出來了。
格式化兩個分區
$ sudo mkfs.vfat -F32 -n GRUB2EFI /dev/sdb1
$ sudo mkfs.ext4 -L ROOTFS /dev/sdb2
拔掉U盤重新插,只會自動掛載ROOTFS這個分區
掛載第一分區
sudo mount -t vfat /dev/sdb1 /mnt -o uid=1000,gid=1000,umask=022
把ubuntu安裝光盤鏡像掛載,拷貝boot和EFI文件夾到/mnt
把boot/grub/grub.cfg里面的選項改為
menuentry "Mylinux4.17.11" {
linux? ? ? ? /linux4.17.11/vmlinuz4.17.11 boot=/dev/sda2 rootwait ---
}
編譯linux 4.17.11并將內核鏡像拷到/mnt/linux1.17.11文件夾,命名為vmlinuz4.17.11
在ROOTFS分區創建以下腳本并運行
#!/bin/bash
echo "--------Create root,dev....----------"
mkdir root dev etc boot tmp var sys proc lib mnt home usr
mkdir etc/init.d etc/rc.d etc/sysconfig
mkdir usr/lib usr/modules
echo "make node in dev/console dev/null"
sudo mknod -m 600 dev/console c 5 1
sudo mknod -m 600 dev/null??c 1 3
mkdir dev/pts -p
# mkdir mnt/etc mnt/jffs2 mnt/yaffs mnt/data mnt/temp
mkdir var/lib var/lock var/run var/tmp??var/log
chmod 1777 tmp
chmod 1777 var/tmp
# create etc config /etc/inittab
echo -e "::sysinit:/etc/init.d/rcS " >etc/inittab
echo -e "::askfirst:-/bin/sh " >>etc/inittab
echo -e "::ctrlaltdel:/sbin/reboot " >>etc/inittab
echo -e "::shutdown:/bin/umount -a -r " >>etc/inittab
# create etc config /etc/init.d/rcs
echo -e "#! /bin/sh " >etc/init.d/rcS
echo -e "mount -t sysfs none /sys " >>etc/init.d/rcS
echo -e "mount -t proc none /proc " >>etc/init.d/rcS
echo -e "mount -t tmpfs tmpfs /tmp" >>etc/init.d/rcS
echo -e "/bin/hostname -F /etc/sysconfig/HOSTNAME " >>etc/init.d/rcS
echo -e "mdev -s " >>etc/init.d/rcS
chmod +x etc/init.d/rcS
# create etc config /etc/fstab
echo -e "proc? ?? ? /proc? ?? ? proc? ?? ???defaults 0 0 " >etc/fstab
echo -e "sysfs? ?? ?/sys? ?? ???sysfs? ?? ? defaults 0 0 " >>etc/fstab
echo -e "devtmpfs? ?/dev? ?? ???devtmpfs? ? defaults 0 0 " >>etc/fstab
echo -e "tmpfs? ?? ?/tmp? ?? ???tmpfs? ?? ? defaults 0 0 " >>etc/fstab
echo -e "tmpfs? ?? ?/var? ?? ???tmpfs? ?? ? defaults 0 0 " >>etc/fstab
echo -e "none? ?? ? /dev/pts? ? devpts? ?? ?defaults 0 0 " >>etc/fstab
# create etc config /etc/group
echo -e "root:x:0: " >etc/group
# create etc config /etc/passwd
echo -e "root:x:0:0:root:/root:/bin/sh " >etc/passwd
# create etc config /etc/profile
echo -e "PATH=/bin:/sbin:/usr/bin:/usr/sbin? ?" >etc/profile
echo -e "export PATH " >>etc/profile
echo -e "#set hostname??" >>etc/profile
echo -e "HOSTNAME='/bin/hostname' " >>etc/profile
echo -e "export HOSTNAME " >>etc/profile
echo -e "# Set PS1 " >>etc/profile
echo -e "PS1='\u@\h:\w\\$ ' " >>etc/profile
echo -e "export PS1 " >>etc/profile
# create etc config /etc/sysconfig/HOSTNAME
echo -e "hostname " >etc/sysconfig/HOSTNAME
echo "-------make direction done---------"
編譯busybox-1.29.3,也拷貝到ROOTFS分區。
end
最后,十分感謝老司機??dr2001??帶路
總結
以上是生活随笔為你收集整理的z8300平台驱动linux,为Z8300平板做个简单的linux系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Xcode10 报错 target xx
- 下一篇: linux centos7 增加ipv6