微型Linux:最小巧的操作系统选项 (最小巧的linux系统)
随着技术的发展和硬件的进步,操作系统的更新和升级已经成为了企业和个人必须要面对的问题。然而,一些特殊的应用场景,要求我们运行一个非常小巧的操作系统,以最小的硬件资源来达到更高的效能。这时,微型Linux系统成为了更佳的选择。
微型Linux系统是一个可以运行在最小配置硬件设备上的Linux操作系统,不需要太高的计算能力、内存容量和磁盘空间。因为它的自定义选项使它性能非常稳定且足够充分。
微型Linux系统可以被配置成两种类型:嵌入式和桌面。嵌入式系统往往用于智能家居,医疗设备和工业控制系统等。桌面系统则更多的用于测试和调试应用程序。
下面我们将深入探讨微型Linux系统在不同场景下的优势和适应性。
一、嵌入式Linux
嵌入式Linux系统是高度定制的,旨在在非常小的设备内运行。它可以为嵌入式设备提供非常小并且高效的OS环境,使它们能够满足各种功能要求,包括快速启动,迅速响应和低功耗等。
例如,一个家庭智能设备可以运行一个基于嵌入式Linux的操作系统,以实现智能家居的远程控制和操作。这些智能设备常常包括智能门铃,智能灯泡和智能恒温器等。作为嵌入式设备中的一种,微型Linux系统可以实现高效的远程控制和操作。
另一个重要的应用场景是工业控制系统。许多自动化和控制系统使用嵌入式Linux系统,使他们可以快速响应和控制各种工业设备。而且嵌入式Linux系统还提供了高度可靠性,适用于各种环境中的工业控制。
二、桌面Linux
桌面Linux则是指适用于消费电子产品和桌面应用等场景。桌面Linux系统比嵌入式Linux系统更大而且更多功能。它提供了更多通用的应用程序和用户界面,便于普通用户的操作。
常用的桌面Linux系统应用包括浏览器,办公套件和媒体播放器等。它们可以在像树莓派这样的小型计算机上运行,为开发者和测试人员提供绝佳的测试平台。
桌面Linux系统还可以用于带屏幕的设备和媒体播放器。它们消耗的资源很少,能够以高效的方式运行,并提供流畅的用户体验。
微型Linux系统的定制性质使其成为嵌入式设备和桌面应用的理想选择。无论是家庭智能设备,自动化控制系统还是桌面应用,都可以使用微型Linux系统来提供高效且稳定的性能。微型Linux系统在使用方面也越来越容易,由于众多的开源社区能提供各种支持和工具,使得这些系统更易于布署和维护。
随着技术的不断进步,以及硬件的不断减小,微型Linux系统将会变得更加广泛的运用于各种不同的应用场景之中。未来,也许在一些特殊领域中,微型Linux系统将成为运行非常庞大和复杂任务的更佳选择。
相关问题拓展阅读:
哪个版本的Linux占硬盘空间最小?
这要看你装那些慎或服务了哦,在安装Linux的最后会又一个旁者提示,看你需要哪些服务,安装的服务越少系统资源运孝薯占用的就越少,用RedHat Linux9.0如果只装几个必要服务,只要10几分钟就可以装完,所以建议你用9.0的试试。
还没有具体看过,呵呵.不过给你贴份我的收藏.
主流服务器UNIX操作系统用户帐号的设置
账号设置 HP-UX FreeBSD Solaris (SPARC)
密码文件 /etc/passwd
/tcb/files/auth/r/root /etc/passwd
/etc/master.passwd /etc/passwd
/etc/shadow
组文件 /etc/group
/etc/logingroup /etc/group /etc/group
允许更大用户ID
允许远程登录的用户文件设置 /etc/securetty
{console} /etc/ttys
{secure} /etc/default/login
{CONSOLE=/dev/console}
Nobody的UID1 & 65534(nobody4)
Nobody的GID -2(nogroup)& 65534(nogroup)
找回ROOT密码 >boot
Interact with IPL ? Y
ISL>hpux -iS
passwd root ok boot -s
passwd root boot cdrom -s
mkdir /tmp/a
mount /dev/c0t0d0s0 /tmp/a
vi /tmp/a/etc/shadow
创建新用户 useradd adduser Useradd
删除用孙局核户 userdel rmuser Userdel
列出用户 logins Logins
修改用户账号 usermod Usermod
账号设置 AIX Linux( RedHat )
密码文件 /etc/passwd
/etc/腊肆security/passwd /etc/passwd
/etc/shadow
组文件 /etc/group
/etc/security/group /etc/group
允许更大用户ID535
允许远程登录的用户文件设置 /etc/security/user
{rlogin=true} /etc/securetty
{ttyp1}
Nobody的UID
Nobody的GID
找回ROOT密码 Boot from CD/Tape
Installation/Maintenance
Start Limited Shell
getrootfs hdisk0
vi /etc/security/passwd {lilo}
control-x
linux S
passwd root
{grub}
c
kernel vmlinuz-2.4.9-13 single ro root=/dev/hda8
initrd /initrd-2.4.9-13.img
boot
passwd root
创建新用户 mkuser Useradd
删除用户 rmuser Userdel
列出用户 lsuser -f ALL
修改用户账号 chuser -a usermod
主流服务器UNIX操作系统目录结构对比
Directory Mappings AIX FreeBSD HP-UX
Root filesystem /则掘 {/dev/hd4} / {/dev/ad0s1a} / {/dev/vg00/lvol1}
Home Directory /home {/dev/hd1} /home {/dev/vg00/lvol4}
/tmp {/dev/hd3} /tmp {/dev/vg00/lvol6}
/usr {/dev/hd2} /usr {/dev/ad0s1f} /usr {/dev/vg00/lvol7}
/var {/dev/hd9var} /var {/dev/ad0s1e} /var {/dev/vg00/lvol8}
Sample configuration files – /usr/newconfig
Directory Mappings Linux( RedHat ) Solaris Tru64
Root filesystem / {/dev/sda1} /{/dev/vx/dsk/rootvol} / {/dev/rz0a}
Home Directory /export/home {dev/vx/dsk/home}
/tmp {dev/vx/dsk/swapvol}
/usr /usr {/dev/rz0g}
/var
Sample configuration files
主流服务器UNIX操作系统常用命令
General Commands AIX FreeBSD HP-UX Linux(RedHat) Solaris Tru64
Unique host ID Hostid uname -i hostid hostid hostid
Administrator Smit Sam linuxconf admintool netconfig
Performance monitor Topas(有过top)
monitor top Top
glance Top top top
System activity reporter Sar sa Sar sar
Virtual Memory statistics Vmstat vmstat vmstat vmstat vmstat vmstat
I/O statistics Iostat iostat iostat iostat iostat
Error logs alog -o -t boot
errpt dmesg dmesg Dmesg dmesg uerf -R -o full
Physical RAM 1M TB 4TB 64GB{>2.3.24} 16TB 4TB
Shared Memory 64K TB 8TB sysctl kernel.shmmax
Process Data Space 384K TB 4TB 900 MB
Swap device /dev/hd6 /dev/ad0s1b /dev/vg00/lvol2 /dev/sda2 /dev/vx/dsk/swapvol /dev/rz0b
Swap file type /etc/swapspaces swap swap partition type 82 swap raw
Display swap size lsps –a swapinfo swapinfo -a Free swap -l swapon -s
Activate Swap swapon -a swapon -a swapon -a swapon -a swap -a swapon -a
主流服务器UNIX操作系统打印机、TCP/IP设置
Printers AIX FreeBSD HP-UX
Printer Queues /etc/qconfig /var/spool/print /etc/lp/interface/*
Stop LP stopsrc -s lpd lpshut
Start LP startsrc -s lpd Lpd lpsched
Submit print jobs enq
lp
lpr
qprt Lp lp
LP statistics enq -A
lpq
lpstat
qchk Lpq lpstat
Remove print jobs cancel
lprm
qcan
enq –x Cancel
lprm cancel
Add printer queue it mkpq lpadmin -p pq
Remove Printer Q it rmpq lpadmin -x pq
Make default Prt export LPDEST=”pq” lpadmin -d pq
TCP/IP AIX FreeBSD HP-UX
Network IP configuration lsattr -E -l inet0 /etc/rc.conf /etc/rc.config.d/netconf
Hosts IP addresses /etc/hosts /etc/hosts /etc/hosts
Name service switch /etc/netsvc.conf /etc/host.conf /etc/nsswitch.conf
Network parameters no –a Sysctl ndd -h
Routing daemon Gated Routed gated
NIC Configurations ifconfig –a ifconfig -a lanscan -v
Secondary IP Addr ifconfig en0 alias IP ifconfig xl0 alias IP ifconfig lan0:1 IP
(solaris also)
Login prompt HERALD @
/etc/security/login.cfg telnetd –b /etc/issue
Increase the # of pseudo-terminals odmget -q “attribute=num and uniquetype=pty/pty/pty” PdAt | sed “s/0-64/0-512/” |
odmchange -q “attribute=num and uniquetype=pty/pty/pty” -o PdAt
chdev -l pty0 -anum=256 -P
reboot rebuild your kernel with these new values NPTY=#
NSTRPY=#
reboot
insf -d ptys -n #
insf -d ptym -n #
insf -d pts -s # -e -v
Maximum # of ptys{MAXUSERS}
Remote Shell Remsh
rsh Rsh remsh
YP/NIS service binder /usr/lib/netsvc/yp/ypbind /usr/in/ypbind /usr/lib/netsvc/yp/ypbind
主流服务器UNIX操作系统打印机、TCP/IP设置 续
Printers Linux (Redhat) Solaris (SPARC) Tru64
Printer Queues /var/spool/lpd/lp/* /etc/lp/interfaces/* /usr/spool/lpd
Stop LP /etc/init.d/lpd stop /usr/lib/lp/lpshut /in/init.d/lpd stop
Start LP /etc/init.d/lpd start /usr/lib/lp/lpsched /in/init.d/lpd start
Submit print jobs Lpr Lp
lpr Lp
lpr
LP statistics Lpq Lpstat Lpstat
Remove print jobs Lprm Cancel
lprm cancel
lprm
Add printer queue Printtool lpadmin -p pq Lprsetup
Remove Printer Q lpadmin -x pq Lprsetup
Make default Prt lpadmin -d pq export PRINTER=”lp”
TCP/IP Linux( RedHat ) Solaris (SPARC) Tru64
Network IP configuration /etc/sysconfig/network-scripts/ /etc/hostname.*
/etc/inet/*
/etc/defaultrouter /etc/rc.config
Hosts IP addresses /etc/hosts /etc/inet/hosts /etc/hosts
Name service switch /etc/nsswitch.conf /etc/nsswitch.conf /etc/svc.conf
Network parameters sysctl -a | grep net Ndd /dev/ ?
Routing daemon routed in.routed routed
NIC Configurations ifconfig -a ifconfig –a ifconfig -a
Secondary IP Addr modprobe ip_alias
ifconfig eth0:1 IP ifconfig hme0:1 IP up ifconfig ln0 alias
Login prompt /etc/issue BANNER @
/etc/default/telnetd /etc/issue
Increase the # of pseudo-terminals cd /dev
./MAKEDEV -v pty {/etc/system}
set pt_cnt = # {SYSV}
set npty = # {BSD}
{/etc/iu.ap}
ptsl 0 # ldterm ttcompat
halt
boot –r cd /dev
./MAKEDEV PTY_1
Maximum # of ptys {BSD}
{SYSV} 8192
Remote Shell rsh Rsh rsh
YP/NIS service binder /in/ypbind /usr/lib/netsvc/yp/ypbind /usr/in/ypbin
主流服务器UNIX操作系统系统文件
System Files AIX FreeBSD HP-UX
NFS exported /etc/exports /etc/exports /etc/exports
NFS Client mounted directories /etc/xtab /etc/xtab
Max File System 128 GBGB
Max File Size 64 GBGB
Max # File Descriptors 64 K 60~ K
System Files Linux (RedHat) Solaris Tru64
NFS exported /etc/exports /etc/dfs/dfstab
/etc/dfs/sharetab /etc/exports
NFS Client mounted directories /var/lib/nfs/xtab /etc/rmtab /var/adm/mountdtab
Max File System 2 TB 1 TB
8000 TB {vxfs} 128 GB {= 4.0}
16 TB {advfs}
Max File Size 2 GB {512B block size}
8192 GB {8KB block size} 1 TB
2 GB {== 4.0}
16 TB {advfs}
Max # File Descriptors sysctl fs.file-max 64 K 64 K
主流服务器UNIX操作系统磁盘与逻辑卷命令
DISK/LVM Commands AIX FreeBSD HP-UX
Filesystem table /etc/filesystems /etc/fstab /etc/fstab
Free disk blocks df -k df -k Bdf
Device listing lsdev -C /in/ioscan
Disk information bootinfo -s hdisk# fdisk -v ad0 diskinfo /dev/rdsk/c#t#d#
Disk Label lspv -l hdisk# disklabel ad0 pvdisplay -v /dev/dsk/C#t#d#
LVM Concepts Partition sub disk logical extents
Volume Volume logical volume
Plex
Volume group volume group
Journal Filesystem type jfs Vxfs
Default volume group /dev/rootvg /dev/vg00
Display volume group lsvg -l rootvg vgdisplay -v vg00
Modify physical volume chpv Pvchange
Prepare physical disk mkdev -c disk -l hdisk# pvcreate
List physical volume lspv vinum ld pvdisplay
Remove disk from volume group reducevg vgreduce
Move logical volumes to another physical volumes migratepv vinum move -f drive object pvmove
Create volume group mkvg vgcreate
Remove volume group vgremove
Volume group availability chvg
varyonvg
varyoffvg vgchange
Restore volume group vgcfgrestore
Exports volume group exportvg vgexport
Imports volume group importvg vgimport
Volume group listing lsvg Vgscan 是一样的么?
Change logical volume characteristics chlv lvchange
List logical volume lslv vinum lv lvdisplay
Make logical volume mklv lvcreate
Extend logical volume extendlv lvextend
Reduce logical volume AIX reduce LV Lvreduce 如何用?
Remove logical volume rmlv vinum rm vol lvremove
Prepare boot volumes bootlist -m normal lvlnboot
Remove boot volumes lvrmboot
Extend File system chfs -a size=# /mt extendfs /dev/vg00/lvol8
fsadm -F vxfs -b {LE * 1024} /mt
Reduce/Split mirrors rmlvcopy lvsplit
Merge mirrors lvmerge
Create mirrors mklv -c 2 vinum mirror drive lvcreate -m 1
Add mirrors mklvcopy lv 2 lvextend -m 1
Create striped volumes mklv -u 3 -S 64K vinum stripe drive lvcreate -i 3 -I 64
System recovery tape mksy -i /dev/rmt0 /opt/ignite/bin/make_recovery
Backup savevg -i rootvg vinum saveconfig fbackup
Restore restvg frecover
主流服务器UNIX操作系统磁盘与逻辑卷命令 续
DISK/LVM Commands Linux (RedHat) Solaris (SPARC) Tru64
Filesystem table /etc/fstab /etc/vfstab /etc/fstab
Free disk blocks df -k df –k df -k
Device listing cat /proc/devices Sysdef
Disk information cat /proc/scsi/scsi0/sda/model format -d c#t#d#
format>current
format>inquiry file /dev/rrz0c
Disk Label fdisk -l Prtvtoc disklabel -p rz0
LVM Concepts logical extents sub disk sub disk
logical volume Volume Volume
Plex Plex
volume group disk group disk group
Journal Filesystem type ext2 居然是jfs的? Vxfs Advfs 居然是jfs的?
Default volume group /dev/vx/dsk/rootdg
居然有 vg? /dev/vol/rootdg
居然有 vg?
Display volume group vgdisplay -v vxprint -l -g rootdg volprint -l -g rootdg
Modify physical volume pvchange
Prepare physical disk pvcreate vxdiskadd voldiskadd
List physical volume pvdisplay vxprint -dl volprint -dl
Remove disk from volume group vgreduce vxdg rmdisk voldg rmdisk
Move logical volumes to another physical volumes pvmove vxassist move volassist move
Create volume group vgcreate vxdg init voldg init
Remove volume group vgremove
Volume group availability vgchange
Restore volume group vgcfgrestore
Exports volume group vgexport vxdg deport voldg deport
Imports volume group vgimport vxdg import voldg import
Volume group listing vgscan
Change logical volume characteristics lvchange vxedit set voledit set
List logical volume lvdisplay vxprint -vl volprint -vl
Make logical volume lvcreate vxassist make volassist make
Extend logical volume lvextend vxassist growto volassist growto
Reduce logical volume lvreduce vxassist shrinkto volassist shrinkto
Remove logical volume lvremove vxedit rm voledit -g rootdg -rf rm vol1
Prepare boot volumes lilo vxbootsetup
Remove boot volumes
Extend File system resize2fs vxva
mkfs -M
Reduce/Split mirrors lvsplit
Merge mirrors lvmerge
Create mirrors vxassist mirror volassist make vol 100mb mirror=true
Add mirrors
Create striped volumes lvcreate -i 3 -I 64 vxassist make vol 100mb layout=raid5 volassist make vol 100mb layout=stripe
System recovery tape /usr/sys/bin/btcreate
Backup tar cvf /dev/rst0 / ufsdump vdump
Restore tar xvf /dev/rst0
这一列对不对? ufsrestore vrestore
主流服务器UNIX操作系统安装与卸载
Software AIX FreeBSD HP-UX
Install Software installp -a pkg_add swinstall
Uninstall software installp -u pkg_delete swremove
List installed software lslpp -L all pkg_info -a swlist
Verify installed software lppchk -v swlist -l fileset -a state
List all files lslpp -f fileset pkg_info -L package swlist -l file fileset
List installed patches instfix -i swlist -l patch
what /stand/vmunix
Package owner lslpp -w path swlist -l file | grep path
SW Directory /usr/lpp /var/db/pkg /var/adm/sw/
Software Linux (RedHat) Solaris (SPARC) Tru64
Install Software rpm -i package pkgadd setld -l
Uninstall software rpm -e package pkgrm setld -d
List installed software rpm -qa pkginfo setld -i
Verify installed software rpm -V package pkginfo -i
pkginfo -p setld -v
List all files rpm -ql package pkgchk -l package setld -i package
List installed patches patchadd -p dupatch -track -type patch
Package owner rpm -qf file pkgchk -l -p path
SW Directory /var/lib/rpm /var/sadm /var/adm/logs
主流服务器UNIX操作系统技术支持信息
Links AIX HP-UX Linux (RedHat)
FAQ AIX-FAQ
HP-UX FAQ 这个和我知道的一个? LINUX FAQ
Online Manual AIX 4.3 Books
HP-UX 11.00 Collection
Linux Documentation Project
Technical Support RS/6000 TechSupport
IT Resource Center
Red Hat support
Phone NumberCALL-AIXREDHAT1
Free Software Bull
HP-UX Ports
Linux Software Map
Certification
www.ibm.com
education.hp.com
RHCE
Links FreeBSD Solaris (SPARC) Tru64
FAQ FreeBSD FAQ
Solaris 2 FAQ
Tru64 FAQ
Online Manual FreeBSD Hand Book
Solaris 7 Documentation
Tru64 Documents
Technical Support SunSolve
Alpha Systems Support
Phone NumberUSA-4SUN
Free Software FreeBSD Primary Site
Sun Freeware
Tru64 Demos, Shareware & Freeware
Certification suned.sun.com
ASE Information
主流服务器UNIX操作系统其它命令
MISC AIX FreeBSD HP-UX
Startup script /etc/rc /etc/rc /in/rc
Kernel /usr/lib/boot/unix_up /kernel /stand/vmunix
Kernel Parameters lsattr -E -l sys0 sysctl -a sysdef kmtune kmsystem
Reconfigure the kernel
chdev -l sys0 -a cd /sys/i386/conf
vi KERNEL
config KERNEL
cd ../../compile\
/KERNEL
make depend
make
make install cd /stand/build\
/usr/lbin/sysadm\
/system_prep -v -s system
vi system
mk_kernel -s system
cd /stand
mv system system.prev
mv vmunix vmunix.prev
mv dlkm dlkm.prev
mv /stand/build\
/system system
kmupdate /stand/build\
/vmunix_test
List modules genkex kldstat kmadmin –s
Load module kldload kmadmin –L
Unload module kldunload kmadmin –U
Initialize system install_assist /stand/sysinstall set_parms initial
Physical RAM bootinfo -r sysctl hw.phyem grep -i Physical\ /var/adm/syslog\
/syslog.log
Kernel Bits bootinfo -k getconf KERNEL_BITS
Crash utility Crash crash Adb
Trace System Calls Syscalls truss tusc
Machine model uname -m
bootinfo -m uname -m model
uname -m
OS Level Oslevel uname -r uname -r
Run Level who –r who -r
Core dump files /var/adm/ras /var/adm/crash
Boot single user Key on service mode/F4
Boot from CD/Tape
Select Maintenance
Limited function Shell ok boot –s >boot
Interact with IPL ? Y
ISL>hpux -iS
Maintenance mode ok boot –as >boot
Interact with IPL ? Y
ISL>hpux -lm
Interrupt Key control-B
Return to console Co
Timezone Management /etc/environment
/etc/profile /etc/localtime /etc/TIMEZONE
NTP Daemon
如何用它? /etc/ntp.conf
startsrc -s xntpd /etc/rc.conf {xntpd enable=”YES”}
/etc/rc.network /etc/rc.config.d\
/netdaemons
/in/init.d/xntpd
主流服务器UNIX操作系统其它命令 续
MISC Linux (RedHat) Solaris (SPARC) Tru64
Startup script /etc/rc.d/rc /in/init.d /in/init.d
Kernel /boot/vmlinuz /kernel/genunix /vmunix
Kernel Parameters sysctl -a sysdef –I sysconfig dxkerneltuner
Reconfigure the kernel cd /usr/src/linux
make mrproper
make menuconfig
make dep;clean;bzImage;install
make modules
make modules_install
cp arch/i386/boot/bzImage /boot/vmlinuz
mkinitrd /boot/initrd-2.4.img 2.4
vi /etc/lilo.conf
lilo vi /etc/system
reboot doconfig
List modules lod modinfo
Load module inod modload
Unload module rmmod modunload
Initialize system netconf sys-unconfig netsetup
Physical RAM free prtconf uerf | grep memory
Kernel Bits getconf WORD_BIT isainfo -kv 64
Crash utility lcrash
crash kdbx
Trace System Calls strace truss trace
Machine model uname -m uname -imp uname -p
OS Level uname -r uname -r sizer -v
Run Level runlevel who -r who -r
Core dump files /var/crash/`uname -n`
Boot single user {lilo}
control-x
linux S
{grub}
c
kernel vmlinuz-2.4.9-13 single ro root=/dev/hda8
initrd /initrd-2.4.9-13.img
boot ok boot -s >>> boot -fl s
Maintenance mode ok boot -as
Interrupt Key Stop-A control-P
Return to console ok go
Timezone Management /etc/sysconfig/clock /etc/TIMEZONE
/etc/default/init /etc/svid3_tz
timezone
NTP Daemon /etc/ntp.conf
/etc/rc.d/init.d/xntpd /etc/inet/ntp.conf
/etc/init.d/xntpd rcmgr set XNTPD_CONF YES
/in/init.d/xntpd
主流服务器UNIX操作系统设备管理
Devices AIX FreeBSD HP-UX
Devices /dev /dev /dev
Install devices for attached peripherals cfgmgr –v /dev/MAKEDEV insf -e
Remove device rmdev –l rmsf
Device drivers Lscfg lsdev
CPU lsdev -Cc processor sysctl hw.model ioscan -fnC processor
List Terminal lsdev -Cc tty ioscan -fnC tty
Diagnostics Diag pciconf -l Stm
Whole Disk /dev/hdisk# /dev/ad0s1c /dev/dsk/c#t#d0
CDROM /dev/cd0 /dev/acd0c /dev/dsk/c#t2d0
CDROM file type Cdrfs cd9660 Cdfs
Rewinding tape drive /dev/rmt0 /dev/rwt0d /dev/rmt/0m
Floppy drive /dev/rfd0 /dev/fd0 –
Non-rewinding tape drive /dev/rmt0.1 /dev/nrwt0d /dev/rmt/0mn
Devices Linux (RedHat) Solaris (SPARC) Tru64
Devices /dev /devices /dev
Install devices for attached peripherals /dev/MAKEDEV drvconfig
devlinks
disks
tapes
ports scu scan edt
scsimgr -scan_all
Remove device rem_drv
Device drivers prtconf -D
CPU cat /proc/cpuinfo psrinfo -v psrinfo -v
List Terminal pmadm -l
Diagnostics /usr/platform/`uname -m`/
in/prtdiag
ok test-all
/opt/SUNWvts/bin/sunvts
Whole Disk /dev/sda /dev/c#t#d0s2 /dev/rz0c
CDROM /dev/cdrom /dev/dsk/c#t6d0s2 /dev/rz3c
CDROM file type iso9660 hsfs cdfs
Rewinding tape drive /dev/rst0 {c 9 0} /dev/rmt/0 /dev/rmt0
Floppy drive /dev/fd0 /dev/diskette /dev/fd0c
Non-rewinding tape drive /dev/nrst0 {c 9 128} /dev/rmt/0n /dev/nrmt0
在ubuntu中可以重复搭建linux最小系统么
使用虚拟机软件可以实现。
可以的。但是需要注意的是:
1、需要至少分给他二个分区,一个用作交换分区,大概2G左右;另一个做跟目录分区/,这个要大一些,起码20G。这个是主要的分区。
2、ubuntu安装好后可以挂载windows的磁盘。
具体步骤如下:
== A. 准备工作 ==
一、所需硬件
需要 Banana PI 开发板一块;
一台正常运行 Linux 系统的电脑(Linux 虚拟机也行);
容量大于 1GB SD 卡,或者 TF 配卡套,以及相应读卡设备;
另准备一张 4GB SD 卡,用于烧写现有 .img 以启动 BPI 作辅助操作;
二、所需软件
从 ubuntu 网站
下载 ubuntu-core-14.04.1-core-armhf.tar.gz 包文件(60MB)
从 banana pi 网站
下载 Raspbian_For_BananaPi_v3_0.img 包文件
从 sunxi 网站
下载 u-boot-sunxi-bananapi.tar.xz 包
== B. 主要步骤 ==
一、SD 卡分区
在 Linux 电脑上连接 SD 卡,查看设备编号:
$ sudo fdisk -l
如果系统中没有连接别的设备,通常此 SD 卡设备名为: /dev/sdb ;以下假设此卡就为 /dev/sdb,须根据实际情况进行替换;命令中写错设备名后果难料;
进入 fdisk 分区程序,用 n 子命令将正败此卡凯亏空间分成两个分区,提示输入之一分区大小时输入 +30M,其他参数均以回车接受默认值即可;
$ sudo fdisk /dev/sdb
以 p 子命令查看分区情况,确认无误后,输入 w 子命令确认分区写入卡设备中并退出;
二、格式化分区
将 SD 卡中两个分区分别进行格式化为 vfat 和 ext4 文件系统;
$ sudo mkfs.vfat /dev/sdb1
$ sudo mkfs.ext4 /dev/sdb2
三、写入 U-Boot 启动代码
从下载的 u-boot-sunxi-bananapi.tar.xz 包中取出 u-boot-sunxi-with-spl.bin 文件;
先清除 SD 卡前段内容;
$ sudo dd if=/dev/zero of=/dev/sdb bs=1k count=1023 seek=1
接着在特定位置写入启动代码和数据
$ sudo dd if=/path/to/u-boot-sunxi-with-spl.bin of=/dev/sdb bs=1024 seek=8
注意:此处命令行假设所有下载的文件包均存放在 /path/to 虚拟目录中,操作时须替换成实际目录;
四、安装内核启动文件
如果愿意,Linux 内核文件可以选择自行编译;这里为了方便,直接从厂商提供的 IMG 包中取出;这里选用从 Raspbian_For_BananaPi_v3_0.img 包中取出内核文件,主要就这三个:(uImage,script.bin,uEnv.txt);
先查看 IMG 包中之一分区的起始块位置,这里假设为 8192,将其乘以 512 的结果放入下面命令中;
$ sudo mkdir /mnt/img
$ fdisk -l /path/to/Raspbian_For_BananaPi_v3_0.img
$ sudo mount -t vfat -o loop,offset=
/path/to/Raspbian_For_BananaPi_v3_0.img /mnt/img
挂载成举孙颤功后,从 /mnt/img 目录中复制出来这三个内核文件即可;
$ cp /mnt/img/uEnv.txt ./
$ cp /mnt/img/bananapi/uImage ./
$ cp /mnt/img/bananapi/script.bin ./
$ sudo umount /mnt/img
由于 ./Raspbian_For_BananaPi_v3_0.img 包中内核放在子目录 ./bananapi 中,现在我们打算将此三个内核文件直接放在 SD 卡之一分区根目录中,所以还需要将复制出来的 uEnv.txt 内容用 vi 命令稍稍编辑一下,去掉内核文件的目录路径,使其内容写成这样子,然后保存退出 vi 命令;
bootargs=console=ttyS0,console=tty0
disp.screen0_output_mode=EDID:1280x720p50 hdmi.audio=EDID:0
console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline
rootwait
aload_script=fatload mmc 0 0xscript.bin;
aload_kernel=fatload mmc 0 0xuImage; bootm 0x;
uenvcmd=run aload_script aload_kernel
内核文件提取出来后,就可以复制到 SD 卡之一分区中;
$ sudo mkdir /mnt/sd
$ sudo mount -o vfat /dev/sdb1 /mnt/sd
$ cp uEnv.txt script.bin uImage /mnt/sd
$ sudo umount /mnt/sd
如果需要调整 script.bin 中参数,比如AV口接电视机,则需要先用 bin2fex 软件来实现文件格式转换成文本文件,再作修改,参见:linux-sunxi.org/Fex_Guide
五、安装 rootfs
将下载得到的 ubuntu-core-14.04.1-core-armhf.tar.gz 包文件直接释放到 SD 卡第二分区即可;
$ sudo mount /dev/sdb2 /mnt/sd
$ cd /mnt/sd
$ tar /path/to/xzvf ubuntu-core-14.04.1-core-armhf.tar.gz
六、安装 modules 和 firmware 文件
采用与前面第四步相同的方法,直接从现成 Raspbian_For_BananaPi_v3_0.img 中取出内核对应的 modules/firmware 文件;
先查出 IMG 包中第二分区的起始块位置,这里假设为,将其乘以 512 的结果放入下面命令中;
$ fdisk -l /path/to/Raspbian_For_BananaPi_v3_0.img
$ sudo mount -t vfat -o loop,offset=/path/to/Raspbian_For_BananaPi_v3_0.img /mnt/img
挂载成功后,从 /mnt/img 目录中复制内核版本对应的 modules/firmware 硬件驱动相关文件到 /mnt/sd;
$ sudo cp -r /mnt/img/lib/firmware /mnt/sd/lib/
$ sudo cp -r /mnt/img/lib/modules/3.4.90 /mnt/sd/lib/modules
从宿主系统复制 DNS 服务器地址信息 resolv.conf 到 /mnt/sd/etc,稍后可能需要在线安装软件;
$ sudo cp -p /etc/resolv.conf /mnt/etc
完成以上步骤,SD 卡中 core 系统所需文件基本都已就绪,只待对新系统稍作配置即可开始工作了;
七、初步配置新系统
为了完成 SD 卡中新系统基本配置,需要使用 chroot 命令,方便对新系统设置 root 密码,安装必要软件包等操作;
由于上述操作过程均是在一台 x86 Linux 主系统上进行,而 chroot 需要使用 arm 架构的主系统,所以,这里利用另一张 SD 卡启动 Banana PI 作为主系统进行操作;如果你使用的主系统电脑本身就是 arm 架构,就不必另启 BPI 了,可直接利主系统进行其余操作;
为了切换到 BPI arm 主系统中进行 chroot 操作,须先卸载 x86 系统上挂载的 SD 卡,同时清除临时目录;
$ sync
$ sudo umount /mnt/img
$ sudo umount /mnt/sd
$ sudo rm -r /mnt/img /mnt/sd
用烧写好的另一张 SD 卡启动 BPI(可以采用 Raspbian_For_BananaPi_v3_0.img),并将新系统 SD 卡通过读卡器连接到 BPI USB端口,先查看系统中已自动识别的 USB
设备,以确定新 SD 卡的设备名称,这里假设新SD卡设备名称为:/dev/sdb
$ lsu
$ llk
挂载新SD卡的第二分区到 /mnt 目录,然后进入 chroot 状态;
$ sudo mount /dev/sdb2 /mnt
$ sudo chroot /mnt /bin/bash
正常进入 chroot 后,所有命令均直接针对新系统进行操作;首先,设置 root 密码;
# passwd
然后配置主机名称、设置 noatime、添加用户帐户、并开启网络接口等;
# echo “ucore14” > /etc/hostname
# adduser newid
在启动命令文件 /etc/rc.local 中插入一行:mount -o remount -o noatime / ,以提升性能同时防止频繁擦写弄坏 SD 卡;
# vi /etc/rc.local
然后设置时区;
# mv /etc/localtime /etc/localtime.0
# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
在 /etc/network/interfaces 输入网卡配置,比如,打算以 DHCP 方式连接路由器,则在其中填入以下内容:
auto lo
iface lo inet loopback
auto eth0
allow-hotplug eth0
iface eth0 inet dhcp
如果还需要配置 wifi 网络,则须另购一只兼容的 USB 接口 wifi 网卡,然后通过 wpa_supplicant 软件进行配置;这里暂时不考虑安装wifi网卡,待新系统正常运行起来再配置其他子系统即可;
至此,一个最基本的 Ubuntu 核心系统即安装完成,如果一切正常,便可使用此 SD 卡正常启动 Banana PI 了;不过得注意,下载得到的 ubuntu-core-14.04.1-core-armhf.tar.gz 包文件中并未安装 sshd 软件包,这意味着无法远程登录进入系统;假如你没有 HDMI 显示器可用,或者你的 Banana PI 只作服务器运行,则在退出 chroot 状态前,安装上 ssh 软件包是很有必要的,为此,需要跳转到下一步骤;
如果此时不打算安装 ssh 服务,也不再进行其他配置和操作,则可以考虑退出 chroot 状态,并卸载 SD 卡;
# exit
# sync
# sudo umount /mnt
八、安装 SSH 远程登录(无屏必需)
在上面 chroot 状态中继续安装 ssh 软件包;如果此前已退出 chroot 则需再次进入 chroot ;
# apt-get update
# apt-get install ssh
此命令需要在线下载软件包,这也是前面需要事先复制 /etc/resolv.conf 到 SD 卡 rootfs 的原因;网速正常的话,通常几分钟即可下载安装完成;
由于默认安装的 sshd_config 配置,基于对安全性的考虑,不允许以密码方式远程登录 root 帐户和空密码远程登录,只允许使用 ssh-key 远程登录 root 帐户;这里为了方便登录,决定暂时开启密码登录,编辑 /etc/ssh/sshd_config 配置文件;
# vi /etc/ssh/sshd_config
将此项设置的值由 “without-password” 改为 “yes” 即可,或者将原设置行注释掉,再输入新的设置行,如下:
# PermitRootLogin without-password
PermitRootLogin yes
保存此项设置修改后,必要的安装和配置就全部完成了,退出 chroot,卸载 SD 卡并关机;
# exit
# sync
# sudo umount /mnt
# sudo poweroff
至此,此 SD 卡中已包含有一个可启动的 Ubuntu Core 14.04 for Banana PI;将此 SD 卡插入 Banana PI 开机,如果顺利,很快就可启动出来,并可以 ssh 远程登录进入系统;上面配置 Banana PI 以 DHCP 方式从路由器自动获取 IP 地址,所以,在 ssh 登录前,可在路由器管理界面 DHCP 栏目中查看路由器为 BPI 分配的 IP 地址;
由于 Ubuntu Core 只是一个 Core,没有包含其他任何应用系统,如:APACHE、MYSQL、PHP、X11、OFFICE 等等,不过,可利用 Debian 系的 apt-get install 很方便的安装其余所需要的软件。。。
== C. 小结 ==
以上试验步骤实现了在目标 SD 卡中从分区开始配置一个可启动 Banana PI 的 Ubuntu Core 系统,操作步骤较多,为了省事,也可以采用逆向操作,即直接在 SD 卡中烧写一个现成的 IMG 系统,然后用目标 rootfs 替换掉原系统即可;网上有许多针对 arm 架构的 rootfs 可用,较小的解压后只有30M左右,比如:linaro-image-minimal-initramfs-genericarmv7a;不过,为了方便安装应用软件,还是选用 debian core, ubuntu core 这类要方便一些,尽管尺寸稍大些;
另外,基于以上操作步骤,稍作变通,即可根据需要制作自己的 .img 系统;过程大致相同,只需将 SD 卡换成一个 .img 文件,将 .img 文件挂载为 loop 设备即可;具体操作此处不再赘述;
关于最小巧的linux系统的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。