当前位置:文档之家› yaffs2制作教程

yaffs2制作教程

yaffs2制作教程
yaffs2制作教程

Yaffs2根文件系统制作

环境:

交叉编译环境:4.3.3 (天嵌科技提供,存放路径/opt/EmbedSky/4.3.3)开发平台:TQ2440

1,编译busybox

获取busybox源码

busybox-1.17.2.tar (https://www.doczj.com/doc/6510138879.html,/downloads/)置于目录/opt/embed下

#tar jxvf busybox-1.17.2.tar.bz2

#cd busybox-1.17.2

#vim Makefile

将164行改为CROSS_COMPILE = arm-linux- 将190行改为ARCH = arm 保存推出进入配置菜单

#make menuconfig 采用默认配置保存推出

#make

#make install

在busybox-1.17.2的根目录下出现了一个_install目录在该目录下又有三个目录文件bin sbin usr 和一个链接文件 linuxrc 。

2,创建根文件系统必要的目录

回到/opt/embed目录下创建根文件系统必要的目录

#mkdir root_fs

#cd root_fs

将刚才生成的三个目录bin sbin usr和一个链接文件linuxrc考到目录root_fs下

#cp -rf ../busybox-1.17.2/_install/* ./

#mkdir dev etc home lib mnt opt proc root sys tmp var

创建几个必要的二级目录

#mkdir usr/lib usr/share

#mkdir etc/rc.d

#mkdir var/lib var/lock var/run var/tmp

3,创建必要文件

(1), 获取库文件 (我的交叉编译工具链放在目录 /opt/EmbedSky/下的)

#cp -rf /opt/EmbedSky/4.3.3/arm-none-linux-gn?i/libc/armv4t/lib/* so* lib -a

(2),将主机 etc 目录下的passwd、group、shadow文件拷贝到 root_fs/etc 目录下

#cp -f /etc/passwd /etc/group /etc/shadow etc

将目录/opt/embed/busybox-1.17.2/examples/bootfloppy/etc下的所有文件拷贝到

root_fs/etc下。在这个目录下有三个文件fstab, inittab, profile和一个目录init.d,

在目录init.d中有一个文件rcS。

#cp -rf ../busybox-1.17.2/examples/bootfloppy/etc/* etc

在目录etc下创建文件mdev.conf。mdev是?v的一个简化版本,我们可以通过文件mdev.conf自定义一些设备节点的名称或链接来满足特定的需要,但在此处让它为空。

#touch etc/mdev.conf

(3)创建两个设备文件dev/console dev/null。

在linux内核源码文件init/main.c中有打开设备文件dev/console 的操作如下:

static noinline int init_post(void)

__releases(kernel_lock)

{

………………………………

if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0 )

printk(KERN_WARNING "Warning: unable to open an initial console.\ n");

………………………………

}

内核启动执行到这里时mdev还没有构建dev目录,如果没有创建设备文件dev/console就将会打印警告Warning: unable to open an initial console。

在内核启动的过程中要将产生的一些垃圾信息丢弃就需要空设备dev/null。

#mknod dev/console c 5 1

#mknod dev/null c 1 3

4,几个必要文件的修改

在启动过程中bootloader会传递参数init=/linuxrc给内核的main( )函数,所以在文件系统被挂在后,运行的第一个程序是linuxrc,而linuxrc是一个指向/bin/busybox的链接文件,也就是说文件系统被挂在后运行的第一个程序是busybox。Busybox首先会解析文件/etc/inittab,这个文件中存放的是系统的配置信息,这些配置信息指明了接下来将要启动那些程序。

(1),修改文件etc/inittab如下

::sysinit:/etc/init.d/rcS

tq2440_serial0::askfirst:-/bin/sh

::ctrlaltdel:/sbin/reboot

::shutdown:/bin/umount -a -r

/etc/inittab 文件中每个条目用来定义一个子进程,并确定它的启动方法,格式如下

:::

:表示这个进程要使用的控制台(即标准输入、标准输出、标准错误设备)。如果省略,则使用与init进程一样的控制台。

:对于Busybox init程序,这个字段滑意义,可以省略。

:表示init程序如何控制这个子进程,

: 要执行的程序,它可以是可执行程序,也可以是脚本

文件etc/inittab配置条目说明如下:

::sysinit:/etc/init.d/rcS

启动系统初始化文件/etc/init.d/rcS。字段sysinit表明文件/etc/init.d/rcS在系统启动后最先执行,并且只执行一次,init进程等待它结束才继续执行其它动作。

(脚本文件名一般为rc,后缀S代表单用户运行级别脚本)

tq2440_serial0::askfirst:-/bin/sh

在串口tq2440_serial0上启动askfirst动作的shell。 S3C2410的串口名在/dev下是s3c2410_serialx。此时还没有移植自己的内核,用天嵌科技的内核所以串口名为tq2440_serial0。askfirst表明init进程先输出“Please press Enter to actvie this console”,等用户输入回车键之后才启动-/bin/sh。

::ctrlaltdel:/sbin/reboot

当按下Ctrl+Alt+Delete组合键时,init重启执行程序。字段ctrlaltdel表明当按下Ctrl+Alt+Delete组合键时,执行相应的进程。

::shutdown:/bin/umount -a -r

告诉init在关机时运行umount命令卸载所有的文件系统,如果卸载失败,试图以只读方式重新挂载。字段shutdown表明在重启关闭系统命令时执行相应进程。

(2),当解析完文件etc/inittab后就将启动这些进程,首先要执行的是启动脚本etc/init.d/rcS。

修改文件etc/init.d/rcS如下:

#! /bin/sh

PATH=/sbin:/bin:/usr/sbin:/usr/bin

runlevel=S

prevlevel=N

umask 022

export PATH runlevel prevlevel

/bin/hostname cyembed

echo "----------mount all----------"

/bin/mount -a

echo /sbin/mdev>/proc/sys/kernel/hotplug

mdev -s

echo "**************************************"

echo "**************************************"

echo "Kernel version:linux-2.6.30.4"

echo "Date:2010.09.16"

echo "**************************************"

说明如下:

#! /bin/sh 用busybox的shell

PATH=/sbin:/bin:/usr/sbin:/usr/bin //shell命令的搜索路径

runlevel=S //运行在单用户模式

prevlevel=N //前一个级别为n表示没有前一个级别

umask 022 //权限位掩码

export PATH runlevel prevlevel //将设置的变量导出到环境中

/bin/hostname cyembed //主机名,cyembed将出现在shell提示符中[root@cyembed/]#

/bin/mount -a //将文件etc/fstab中指明的文件系统挂载到对应挂载点上

echo /sbin/mdev>/proc/sys/kernel/hotplug //用mdev来处理内核的热插拔事件。

当有热插拔事件产生时,内核就会调用位于/sbin目录的 mdev。这时 mdev通过环境变量中的 ACTION 和 DEVPATH,(这两个变量是系统自带的)来确定此次热插拔事件的动作以及影响了/sys 中的那个目录。接着会看看这个目录中是否有“dev”的属性文件,如果有就利用这些信息为这个设备在/dev 下创建设备节点文件。

mdev -s //建立dev目录。以‘-s’为参数调用位于/sbin 目录写的 mdev (其实是个链接,作用是传递参数给/bin目录下的busybox 程序并调用它),mdev扫描 /sys/class 和/sys /block中所有的类设备目录,如果在目录中含有名为“dev”的文件,且文件中包含的是设备号,则 mdev 就利用这些信息为这个设备在/dev下创建设备节点文件。一般只在启动时才执行一次“mdev -s”。

(3),修改文件etc/fstab如下:

#device mount-point type option dump fsck ord er

proc /proc proc defaults 0 0

none /tmp ramfs defaults 0 0

sysfs /sys sysfs defaults 0 0

mdev /dev ramfs defaults 0 0

在系统启动初始化文件/etc/init.d/rcS中有执行挂载命令/bin/mount -a ,这便是

将文件etc/fstab中指定的文件系统挂载到对应的挂载点上。这些文件系统的挂在是执行

mdev -s命令建立dev目录的前提。

(4),在启动脚本etc/init.d/rcS执行完后将在串口tq2440_serial0启动一个shell。Shell启动过程中会根据文件/etc/profile配置登陆环境。

文件/etc/profile修改如下:

USER=" 'id -un' "

LOGNAME=$USER

PS1='[\u@\h \W]#'

PATH=$PATH

HOSTNAME='/bin/hostname'

export USER LOGNAME PS1 PATH

具体说明:

USER="id -un" //获取用户名id-un与whoami命令有相同的功能

PS1='[\u@\h \W]#' //PS1指定sh提示符的格式在本环境下将是[root@cyembed /]#

export USER LOGNAME PS1 PATH 将这些变量导出到环境。

(5),在用户登录时将在/etc下寻找三个文件passwd ,shadow, group匹配相关信息。

这三个文件修改如下:

/etc/passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

nobody:x:99:99:Nobody:/:/sbin/nologin

/etc/group

root:x:0:root

bin:x:1:root,bin,daemon

daemon:x:2:root,bin,daemon

ftp:x:50:

nobody:x:99:

/etc/shadow

root:$6$hnswPTgxzFaZHlLl$WMMV0Av6O6c4RA4pwpVSgcKSiURhUlP5dxF3/MKE ZlGzNXhoWMQeZA1rdf1z7VQbrrmOZe7YHw1rIQmAc8BNK/:14819:0:99999:7:::

bin:*:14715:0:99999:7:::

daemon:*:14715:0:99999:7:::

ftp:*:14715:0:99999:7:::

nobody:*:14715:0:99999:7:::

5,制作yaffs2根文件系统镜像

用天嵌科技提供的yaffs2文件系统镜像制作工具mkyaffs2image,制作根文件系统镜像。

#./mkyaffs2image root_fs root_fs.bin

6,将根文件系统镜像下载到nand flash并启动

启动信息如下:

Start Linux ...

Copy linux kernel from 0x00200000 to 0x30008000, size = 0x0020000 0 ... Copy Kernel to SDRAM done,NOW, Booting Linux......

Uncompressing Linux.............................................. ..................................................................... ....... done, booting the kernel.

Linux version 2.6.30.4-EmbedSky (root@EmbedSky) (gcc version 4.3.

3 (Sourcery G++ Lite 2009q1-203) ) #9 Wed Aug 26 15:49:19 CST 2009

CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177

CPU: VIVT data cache, VIVT instr tion cache

Machine: TQ2440

ATAG_INITRD is deprecated; please update your bootloader.

Memory policy: ECC disabled, Data cache writeback

CPU S3C2440A (id 0x32440001)

S3C24XX Clocks, (c) 2004 Simtec Electronics

S3C244X: core 400.000 MHz, memory 100.000 MHz, peripheral 50.000 MHz

CLOCK: Slow mode (1.500 MHz), fast, MPLL on, UPLL on

Built 1 zonelists in Zone order, mobility grouping on. Total pag es: 16256

Kernel command line: noinitrd root=/dev/mtdblock2 init=/linuxrc c onsole=ttySAC0

NR_IRQS:85

irq: clearing pending ext status 00080000

irq: clearing s pending status 00000003

irq: clearing s pending status 00000002

PID hash table entries: 256 (order: 8, 1024 bytes)

Console: colour dummy device 80x30

console [ttySAC0] enabled

Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)

Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)

Memory: 64MB = 64MB total

Memory: 60876KB available (3440K code, 374K data, 180K init, 0K h ighmem)

SL : Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, No des=1

Calibrating delay loop... 199.47 BogoMIPS (lpj=498688)

Mount-cache hash table entries: 512

CPU: Testing write b?r coherency: ok

net_namespace: 296 bytes

NET: Registered protocol family 16

S3C2440: Initialising architecture

S3C2440: IRQ Support

S3C24XX DMA Driver, (c) 2003-2004,2006 Simtec Electronics

DMA channel 0 at c4808000, irq 33

DMA channel 1 at c4808040, irq 34

DMA channel 2 at c4808080, irq 35

DMA channel 3 at c48080c0, irq 36

S3C244X: Clock Support, DVS off

bio: create slab at 0

SCSI s system initialized

usbcore: registered new interface driver usbfs

usbcore: registered new interface driver h

usbcore: registered new device driver usb

s3c2440-i2c s3c2440-i2c: slave address 0x10

s3c2440-i2c s3c2440-i2c: bus freq ncy set to 97 KHz

s3c2440-i2c s3c2440-i2c: i2c-0: S3C I2C adapter

cfg80211: Calling CRDA to update world regulatory domain

NET: Registered protocol family 2

IP route cache hash table entries: 1024 (order: 0, 4096 bytes) TCP established hash table entries: 2048 (order: 2, 16384 bytes) TCP bind hash table entries: 2048 (order: 1, 8192 bytes)

TCP: Hash tables configured (established 2048 bind 2048)

TCP reno registered

NET: Registered protocol family 1

yaffs Aug 26 2009 15:25:31 Installing.

msgmni has been set to 119

alg: No test for stdrng (krng)

io scheduler noop registered (default)

Console: switching to colour frame b?r device 40x15

fb0: s3c2410fb frame b?r device

backlight initialized

GPIO-Control initialized

PWM-Test initialized

adc initialized

s3c2440-

rt.0: tq2440_serial0 at MMIO 0x50000000 (irq = 70) is a S3C2440

s3c2440-

rt.1: tq2440_serial1 at MMIO 0x50004000 (irq = 73) is a S3C2440

s3c2440-

rt.2: tq2440_serial2 at MMIO 0x50008000 (irq = 76) is a S3C2440 loop: module loaded

Driver 'sd' needs updating - please use bus_type methods

dm9000 Ethernet Driver, V1.31

Now use the default MAC address: 10:23:45:67:89:ab

eth0 (dm9000): not using net_device_ops yet

eth0: dm9000e at c4814000,c4818004 IRQ 51 MAC: 10:23:45:67:89:ab (EmbedSky)

S3C24XX NAND Driver, (c) 2004 Simtec Electronics

s3c2440-nand s3c2440-nand: Tacls=3, 30ns Twrph0=7 70ns, Twrph1=3 30ns

NAND device: Man?turer ID: 0xec, Chip ID: 0xda (Samsung NAND 256M iB 3,3V 8-bit)

Scanning device for bad blocks

Bad eraseblock 1275 at 0x000009f60000

Bad eraseblock 1987 at 0x00000f860000

Creating 3 MTD partitions on "NAND 256MiB 3,3V 8-bit":

0x000000000000-0x000000040000 : "EmbedSky_Board_ oot"

0x000000200000-0x000000400000 : "EmbedSky_Board_kernel"

0x000000400000-0x00000ff80000 : "EmbedSky_Board_yaffs2"

ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver

s3c2410-ohci s3c2410-ohci: S3C24XX OHCI

s3c2410-ohci s3c2410-ohci: new USB bus registered, assigned bus n umber 1

s3c2410-ohci s3c2410-ohci: irq 42, io mem 0x49000000

usb usb1: New USB device found, idVendor=1d6b, idProd t=0001

usb usb1: New USB device strings: Mfr=3, Prod t=2, SerialNumber=1

usb usb1: Prod t: S3C24XX OHCI

usb usb1: Man?turer: Linux 2.6.30.4-EmbedSky ohci_hcd

usb usb1: SerialNumber: s3c24xx

usb usb1: configuration #1 chosen from 1 choice

h 1-0:1.0: USB h found

h 1-0:1.0: 2 ports detected

Initializing USB Mass Storage driver...

usbcore: registered new interface driver usb-storage

USB Mass Storage support registered.

usbcore: registered new interface driver usbserial

usbserial: USB Serial Driver core

USB Serial support registered for pl2303

usbcore: registered new interface driver pl2303

pl2303: Prolific PL2303 USB to serial adaptor driver

s3c2410_?: debugfs dir creation failed -19

s3c2440-usbgadget s3c2440-usbgadget: S3C2440: increasing FIFO to 128 bytes

mice: PS/2 mouse device common for all mice

TQ2440 To hScreen s cessfully loaded

input: TQ2440 To hScreen as /devices/virt l/input/input0

S3C24XX RTC, (c) 2004,2006 Simtec Electronics

s3c2410-rtc s3c2410-rtc: rtc disabled, re-enabling

s3c2410-rtc s3c2410-rtc: rtc core: registered s3c as rtc0

i2c /dev entries driver

Linux video capture interface: v2.00

zc0301: V4L2 driver for ZC0301[P] Image Processor and Control Chi p v1:1.10

usbcore: registered new interface driver zc0301

gspca: main v2.5.0 registered

usbcore: registered new interface driver zc3xx

zc3xx: registered

usbcore: registered new interface driver uvcvideo

USB Video Class driver (v0.1.0)

S3C2410 Watchdog Timer, (c) 2004 Simtec Electronics

s3c2410-wdt s3c2410-wdt: watchdog inactive, reset disabled, irq e nabled

mapped channel 0 to 0

s3c2440-sdi s3c2440-sdi: powered down.

s3c2440-sdi s3c2440-sdi: initialisation done.

s3c2440-sdi s3c2440-sdi: powered down.

usbcore: registered new interface driver usbhid

usbhid: v2.6:USB HID core driver

Advanced Linux Sound Architecture Driver Version 1.0.18a.

No device for DAI ?X

No device for DAI s3c24xx-i2s

S3C24XX_?X SoC A io driver

?X SoC A io Codec

asoc: ?X <-> s3c24xx-i2s mapping ok

ALSA device list:

#0: S3C24XX_?X (?X)

TCP c ic registered

RPC: Registered p transport module.

RPC: Registered tcp transport module.

lib80211: common routines for IEEE802.11 drivers

s3c2410-rtc s3c2410-rtc: setting system clock to 2028-01-02 05:53 :00 UTC (1830405180)

yaffs: dev is 32505858 name is "mtdblock2"

yaffs: passed flags ""

yaffs: Attempting MTD mount on 31.2, "mtdblock2"

yaffs: auto selecting yaffs2

block 1244 is bad

block 1956 is bad

yaffs_read_super: isCheckpointed 0

VFS: Mounted root (yaffs filesystem) on device 31:2.

Freeing init memory: 180K

----------mount all----------

**************************************

**************************************

Kernel version:linux-2.6.30.4

Date:2010.09.16

**************************************

Please press Enter to activate this console.

方案文本绘图及排版全教程

方案文本绘图及排版全教程 1平面填色 1.1软件 1.1.1AutoCAD Move, copy, line, pline, offset, 层面修改,对象属性,改字的大小 1.1.2Photoshop 基本命令全会 1.2总平面 1.2.1基本要求 A, 突出总平面图的各设计要素,明确各要素之间的主次关系 即:1建筑——2道路——3绿化——4景观——5其他 B,美观要求 即:色彩协调,整体风格统一,对比强烈 1.2.2读图 A,打开CAD原总平面图,看各层面名称即各层内容,了解总图上各区域是什么,以便在填色时区分 B,通过客户的介绍,作初步的了解,在黑白打印稿上用彩色笔勾画出基本的功能区域,作为填色的依据 1.2.3导图 A,调整文字大小 按照最终文本打印的尺寸将原CAD图黑白打印在A3纸上,首先文字不能太小,,一般字高为2-4mm,其次文字不太大,相 邻两个功能区文字标注不能出现重叠 B,整理层面 根据填色时photoshop文件中各层面内容,一般分为: 1,底一层,包括道路、绿地、建筑轮廓、铺地; 2,建筑一层 3,绿化,包括各树种,各低矮绿化,各分一层; 4,铺地填充分一层; 5,文字标注分一层; 6,尺寸分一层; 7,红线等控制线分一层; 8,现有建筑分一层。 将各线条分配到其应该归属的各层面,例如;在绿化层中画了建筑的线条,则应该将这些线条改到建筑层。 C,导图设置 1,幅面大小,在能看清楚图上各细节的前提下尽量小,例如导出的双线墙两条线不能并在一起,之间至少有两个象素的距离 2,横向与竖向选择 3,笔宽设置,通常让导出的线条都是一个象素,或者根据层面不同设置粗细(墙体一般会加粗到2-3个象素) 4,线条颜色,一般为全黑色,或者选择对象颜色 1.2.4叠图 A, 在Photoshop中打开各eps文件,打开设置;精度选择250dpi或者300dpi,关闭反锯齿选项,选择RGB模式 B, 将打开的各eps文件,拖到一个文件中,根据各层面功能修改其层面名称 C, 存盘 1.2.5填色 1.2.5.1填色层的位置:推荐在底层下建立一个填色层 1.2.5.2底板:先不要做很细的颜色区分,先区分大块颜色,区分大的道路、铺地、绿化、建筑区域、水区域之 间的关系;大区域基本确定后,再细化作进一步的颜色区分。 1.2.5.2.1道路系统:先用深灰色预填,若有颜色超出预期的区域,则需要寻找断线。 1.2.5.2.2绿地区域:先用绿色预填,若有颜色超出预期的区域,则需要寻找断线。 1.2.5.2.3建筑区域:先用很浅的灰色预填,若有颜色超出预期的区域,则需要寻找断线;或者先填其他区 域,填完后,建筑区域自然留白。 1.2.5.2.4铺地:用浅米色整体预填一个颜色,若有颜色超出预期的区域,则需要寻找断线;根据客户需要 可作进一步的细分,细分的颜色可以是与米黄色相近的也可以是不同色系,但颜色要协调。

魔兽模型制作教程第一讲 建模基础

教程附带模型源文件下载地址:猛击此处 开始教程前的准备条件: 1.3ds max的基本操作知识是必须的(一个好的模型需要一个出色的建模者). 2.下载并安装Warcraft Art Tools,这是一个3ds max的插件软件,安装前应该先安装3ds max(最好是1.01版的,以前版本会在制作链接点时出现bug). 3.会使用photoshop对你将有极大的帮助^_^ 4.建议使用3dmax R5 贴图会比较方便(官方文档要求使用3dmax4,经实验R5版会比较方便,更高版本没试过,不知能否正常安装) 第一讲基础知识及一个简单的war3模型的创建这一讲中,我们将学习魔兽模型的一些规定,并且完成一个简单模型的创建。 使用软件:3ds max 5 Photoshop 第一节创建war3模型的基础知识 想必你已经安装了暴雪官方的Warcraft Art Tools了(如果没有,那就赶快装去!!!!!!!) 这套工具包包含以下6个插件: 1. Model Exporter plug-in (ModelExp)将max文件转换为mdx和blp的插件 2. Warcraft III Material plug-in (War3bmtls) war3模型的专用材质 3. Warcraft III Preview (SGView)war3模型浏览器 4. User Property Editor (UserProp)物体属性编辑器 5. Warcraft III Particle plug-in (BlizPart)war3的粒子发射器(我的最爱,嘻嘻~~) 6. Warcraft III Ribbon plug-in (Ribbon)魔兽独有的”带状物” (以后会专门讲解) 魔兽中的尺寸(也就是单位的大小啦) 魔兽中的单位转化到3dmax中是一英寸,这就是说: 一个苦工在3dmax中大约70单位高 魔兽中最高的建筑在3dmax中约为300单位高 一个路径单元边长32单位 一个地形单元边长128单位 悬崖的高度为精确的128单位 3dmax中坐标的原点始终是人物的origin (也就是当你站立时地面上两脚之间的中点) 3dmax中前视图所指的方向就是魔兽中人物面对的方向。 模型的多边形数 为了让游戏流畅的运行,一个好的模型的多边形面数是应该严格控制的.除非你想把它用来测试机器的3d加速性能@_@ 下面是一些基本的数据: 苦工等级单位----------------------------300面 中型体积的单位--------------------------375面 大型单位或骑马的(大法师?)----------------500面 巨人------------------------------------525面 小型建筑--------------------------------300面

busybox详解制作根文件系统

详解制作根文件系统 单击,返回主页,查看更多内容 一、FHS(Filesystem Hierarchy Standard)标准介绍 当我们在linux下输入ls / 的时候,见到的目录结构以及这些目录下的内容都大同小异,这是因为所有的linux发行版在对根文件系统布局上都遵循FHS标准的建议规定。 该标准规定了根目录下各个子目录的名称及其存放的内容: 制作根文件系统就是要建立以上的目录,并在其中建立完整目录内容。其过程大体包括: ?编译/安装busybox,生成/bin、/sbin、/usr/bin、/usr/sbin目录 ?利用交叉编译工具链,构建/lib目录 ?手工构建/etc目录 ?手工构建最简化的/dev目录 ?创建其它空目录 ?配置系统自动生成/proc目录 ?利用udev构建完整的/dev目录 ?制作根文件系统的jffs2映像文件 下面就来详细介绍这个过程。 二、编译/安装busybox,生成/bin、/sbin、/usr/bin、/usr/sbin目录

这些目录下存储的主要是常用命令的二进制文件。如果要自己编写这几百个常用命令的源程序,my god,这简直是一个噩梦!好在我们有嵌入式Linux系统的瑞士军刀——busybox,事情就简单很多。 1、从https://www.doczj.com/doc/6510138879.html,/下载busybox-1.7.0.tar.bz2 2、tar xjvf busybox-1.7.0.tar.bz2解包 3、修改Makefile文件 175 ARCH ?= arm 176 CROSS_COMPILE ?= arm-linux- 4、make menuconfig配置busybox busybox配置主要分两部分。 第一部分是Busybox Settings,主要编译和安装busybox的一些选项。这里主要需要配置:

高手教你学画图 效果图与鸟瞰图系列教程

高手教你学画图效果图与鸟瞰图系列教程 -------------------------------------------------------------------------------- 来源:建商网作者:superlhy 一、建模 对于一张效果图的工作量来说,建模无疑占了一半以上的工作量,而且建模也是相当费神的。因为CAD没有3ds或3dmax那种object的隐藏功能,而且编辑功能也差,看着屏幕上花花绿绿密密麻麻的线框图会令人眼花瞭乱,因而许多人就打了退堂鼓而把自己的设计方案交给并不太熟悉自己意图的人去画效果图。 在建模之前首先要熟悉建筑方案,对层数,层高,体量,材质等有个大致的了解,必要时可勾一张徒手草图。然后规划好建模的步骤以及图层,一般可用不同的图层来对应不同的材质。在CAD 中先设定一个snap值(我一般设为50,对于建筑效果图来说已经足够了),然后把参考平面整理一下,使之变为只有一个图层的图,并把图层换一个比较灰的颜色,以免跟其它层混淆。将参考图的定位点(如柱子的角点)跟snap点对齐(我定于0,0,0),以便于今后的操作。 墙的模型可用PLINE线来绘制。有的人没养成良好的建模习惯,建的模型奇大无比,面数是我的2到3倍。因为不论什么墙他都用一条带宽度和厚度的PLINE线来画,画高层时也是建了一层后ARRAY 上去,大家想想,一条带宽度的PLINE线有12个面,那这样一来就很可怕了。在没有用上1GHz的电脑前还是要省面为好。我建一道墙时用的是一条零宽的多义线绕着轮廓走三道(有时只走两道),这样这道墙只有6个或4个面了。而且是一直升到顶不用ARRAY(当然要计算一下它的Thickness)。视点看不到的就不用建了。但是我建议室内的楼板和墙柱等也要建出,因为可能要用到透明玻璃。千万注意窗框栏杆等的尺度,不要建得太粗,否则会死的很惨的。 建模时最好设三到四个视窗,定义2个UCS(正立面和側立面各一个)。要熟悉UCS,VIEW,CHPROP 等命令。遇到了较为复杂的模型可用实体建模的方法,或是在3dmax之中再补上。建模时要适当考虑地形,一般要把路,草地,广场,台阶都建出来。然后用DVIEW命令设一个相机进行观察。 模型建完后可EXPORT成.3ds或.DXF的文件,以便在3dmax之中导入。也有人直接在3dmax中直接调入.dwg文件。 二布光的过程及原则 光的设置方法会根据每个人的布光习惯不同而有很大的差别,这也是灯光布置难于掌握的原因 之一.布光前应对画面的明暗及色彩分布有一定的设想,这主要是为了使灯光布置具有目的性.接下 来就是如何用3D STUDIO MAX中超现实的灯光去模拟自然光复杂的变化. 布光的原则有以下几条: 1. 在3D STUDIO MAX 场景中要注意留黑. 绘画时, 颜料的载体是白纸, 因此要尽量利用画纸的空白,为进一步修改留有余地, 并且将白色本身作为一种色彩进行处理. 在3D STUDIO MAX场景中黑色是基

实验四 ramdisk 根文件系统的制作

实验四ramdisk根文件系统的制作 一.实验目的 1.熟悉根文件系统组织结构; 2.定制、编译ramdisk根文件系统。 二.实验设备 1.硬件:EduKit-IV 嵌入式教学实验平台、Mini2410 核心子板、PC 机; 2.软件:Windows 2000/NT/XP、Ubuntu 8.04、其他嵌入式软件包。 三.实验内容 利用6.3 中的已经完成的文件系统,生成一个根文件系统镜像。 四.实验原理 ramdisk是内核初始化的时候用到的一个临时文件系统,是一个最小的linuxrootfs系统,它包含了除内核以外的所有linux系统在引导和管理时需要的工具,做为启动引导驱动,包含如下目录: bin,dev,etc,home,lib,mnt,proc,sbin,usr,var。还需要有一些基本的工具:sh,ls,cp,mv……(位于/bin 目录中);必要的配置文件:inittab,rc,fstab……位于(/etc目录种);必要的设备文件:/dev/tty*,/dev/console,/dev/men……(位于/dev目录中);sh,ls等工具必要的运行库:glibc。1.制作ramdisk根文件系统映像 1)单击菜单应用程序->附件->终端打开终端,设置环境变量: $ source /usr/local/src/EduKit-IV/Mini2410/set_env_linux.sh $ source /usr/crosstool/gcc-3.4.5-glibc-2.3.6/arm-linux/path.sh 2)执行命令切换到ramdisk实验目录下: $cd $SIMPLEDIR/6.4-ramdisk 3)运行脚本文件: $ sudosh ramdisk-install.sh shell 脚本命令说明: #!/bin/bash # # ramdisk-install.sh - Make ramdiskfilesystem. # # Copyright (C) 2002-2007

基于busybox的根文件系统制作

龙源期刊网 https://www.doczj.com/doc/6510138879.html, 基于busybox的根文件系统制作 作者:李飞,武金虎,石颖博 来源:《电脑知识与技术》2010年第17期 摘要:Busybox是构建嵌入式Linux文件系统的必备软件,它是所有文件和设备节点的起始点,是决定系统能否正常启动的关键。通过busybox-1.1.3为例,进行配置、编译、安装等过程,从而形成简单的根文件系统映像文件,为以后嵌入式Linux系统的移植打下了良好的开端。 关键词:Busybox;嵌入式Linux;Linux操作系统;根文件系统;cramfs 文件系统 中国分类号:TP316.81文献标识码:A文章编号:1009-3044(2010)17-4655-02 Making Root File System Based on Busybox LI Fei, WU Jin-hu, SHI Ying-bo (College of Computer Science and Information, Guizhou University, Guiyang 550025, China) Abstract: Busybox is an essentiaL software to buiLd an embedded Linux fiLe system. It is the starting node point of aLL the fiLes and devices and the key whether the system can have a normaL start. Taking busybox-1.1.3 for exampLe, making a simpLe root image system fiLe by configuration compiLation and instaLLation Lays a good foundation for migration of the embedded Linux system. Key words: busybox; embedded linux; Linux OS; root file system; cramfs file system 1 根文件系统结构 根文件系统是所有文件和设备节点的起始点,包括系统所必须的各种工具软件、库文件、 脚本、配置文件等一系列的文件。一个基本的Linux根文件系统包含有以下的目录:dev、proc、bin、etc、usr、Lib、temp、var、usr等等目录。其中dev是设备文件节点目录,proc是挂载proc文件系统所用的目录,bin目录下面包含了系统的基本命令,etc目录是系统启动脚本所在的目录,Lib是系统默认的动态链接库目录,usr是用户目录,temp是临时目录,用来保存临时文 件,var目录包含系统运行时要改变的数据。以上都是根文件系统所必须的目录 2 Busybox简介 熟练嵌入式Linux的朋友对busybox一定不会陌生,它是标准Linux工具的一个单个可执行实现,被形象的称为嵌入式Linux系统中的“瑞士军刀”,因为它将许多常用的UNIX工具和命令 结合到一个单独的可执行程序中。虽然busybox中的这些工具相对于GNU常用工具功能有所

室内设计教程全套+3dmax_vray_cad_ps室内教程

超越正版室内设计教学课程 3dmax vray ps cad室内教程本教学课程由方案吧整理而得 本套教程包括各室内设计软件的基础教程和实例教程 1.室内设计的方法 2.室内设计理论 3.室内设计图典 4.室内设计原理 5.室内外设计师认证专业班教学大纲 6.室内环境污染规范 7.室内设计色彩搭配 8.室内照明原理 9.室内装饰工程设计施工详细图集 10.室内设计规划 11.住宅建筑室内声光分析 12.住宅建筑室内振动限值及其测量方法 13.民用建筑工程室内环境污染控制规范 14.中国风水学 15.阳宅相法简析 16.建筑装饰色彩原理和运用 17.建筑装饰工程合同范本 18.风水理论中山水和审美的探讨 19.风尘学理论简析

20.风水和建筑 21.名师室内设计风水讲座----家居/办公室合理布局风水文化教学 22.色彩构成 23.色彩和室内设计使用 24.色彩知识 25.素描和设计 26.新版建筑规划规范大全 27.住宅装饰装修工程施工规范 28.浅谈住宅厨房室内设计 29.砖混结构设计详解 30.装饰工程施工合同 31.CAD制图统一规则 32.家庭居室装饰工程质量验收标准 33.建筑给水排水及采暖工程施工质量验收规范 34.给水排水制图标准 35.彩色效果图 36.城市规划规范 37.厨房的设计和布置 38.厨房设计原则 39.高层建筑防火规范2001 40.建设工程文件整理规范 41.建筑电器规范

42.建筑结构规范 43.建筑制图标准条文说明 44.美学原则 课程目录如下: 1.3dsmax中文版基础入门教程1盘,让学员从最基础开始认识3DSMAX软件,了解3D软件的界面布局,基本工具使用,达到初步认识的目的,本环节共安排了37个教学片段,教学时间约为487分钟.(对初学者来说,学习3D的中文版最为合适,容易入门) photoshop中文版基础入教程,PS软件本为平面设计软件,在室内制图中是为了将渲染图进行后期修饰加工处理,使图达到完美!本环节共安排了约280分钟的教学! 2.3dsmax英文版基础教程+3dsmax室内制图工具使用+室内实例制作2盘,进一步认识3dsmax软件英文版界面(设计师们还是统一习惯使用3D英文版本的,需要养成这个习惯才能通用),运用3D软件在室内制图过程中的技巧操作,了解制图思路和出图流程. CAD导图到室内单面无缝建模方法,泛光灯,聚光灯,物理灯光等3D灯光的室内运用,各种材质表现讲解,最后通过客厅,卫生间及卧室等室内实例来进一步了解室内制图,本环节教程约为1100分钟的教学时间,内容完整巨大!

魔兽模型制作教学教程第二讲骨骼

第二讲骨骼、皮肤和动画 教程附带模型源文件下载地址:猛击此处 第一节骨骼 演示环境:3dsmax 5.0做人物动画当然少不了骨骼啦。用骨骼带动皮肤运动可以达到关节的平滑过渡,也可以比直接操纵皮肤减少许多工作量。总之是好处多多啦。 Art tool支持max骨骼、几何体和帮助物体(helpers)作为动画的骨骼。做魔兽模型时一般用几何体来充当骨骼,因为用它比较随意操作起来也方便一点。当然,习惯用其他骨骼的高手也不必刻意更换,其实3种骨骼的用法都是一样的。 首先,打开上次做好的箱子模型。 创建骨骼的第一步是想好人物的动作、有几块骨骼、各骨骼的位置。仔细观察箱子的模型。我们希望箱子能走动,所以应该有2条腿;有腿就应该有连接腿的骨骼(chest);其次,我们希望箱盖可以一张一合,所以应该有一个类似嘴的骨骼(jaw)。 下面我们用基本形体box来构造骨骼。创建6个骨骼物体(英文为物体名字)如下图所示。(大小位置差不多就可以了)

呵呵,就像上面这个样子。(有点像变形金刚?……) 创建好骨骼以后一件非常重要的事就是确定骨骼的父子关系(也就是层级关系啦!)。 你问我什么是父子关系?……简单的讲就是儿子要跟着父亲运动。比如,把作为嘴的骨骼定义为作为身子的骨骼的儿子。这样,当身子骨骼运动时“嘴”是时时跟随的,而嘴也可以有自己的动画(一张一合之类)。也就是说“父亲”的动作可以影响“儿子”,而“儿子”的动作不影响“父亲”。 3dsmax提供了一个工具进行这种链接,如下图示: 使用方法如下: 1.打开链接工具(就是刚才的按钮)。 2.左键点击你想让其作为“儿子”的几何体,并按住左键不放。 3.拖动鼠标到“父亲”上(这时可以看到一条虚线),同时释放鼠标左键。 4.你可以看到“父亲”物体闪动一下(变白),表明链接成功。 为了使我们的链接工作不受影响。我们要先将箱子隐藏,只留下骨骼。

在硬盘上制作根文件系统.doc

在硬盘上制作根文件系统 一、实验目标: 在硬盘上建立一个根文件系统,硬盘镜像文件的名称为:hdc-0.11.new.img 二、实验环境: 1、Vmware workation, bochs虚拟机,ultraedit编辑环境 2、用到的四个重要的镜像文件:bootimage-0.11-hd,hdc-0.1.img,并将他们放到 mylinux0.11文件夹中。 3、实验环境:redhat linux 三、实验理论依据: 1、Linux引导启动时,默认使用的文件系统是根文件系统。其中一般都包括以下一些子目录和文件: etc/ 目录主要含有一些系统配置文件; dev/ 含有设备特殊文件,用于使用文件操作语句操作设备; bin/ 存放系统执行程序。例如sh、mkfs、fdisk等; usr/ 存放库函数、手册和其它一些文件; usr/bin 存放用户常用的普通命令; var/ 用于存放系统运行时可变的数据或者是日志等信息。 存放文件系统的设备就是文件系统设备。Linux 0.11内核所支持的文件系统是MINIX 1.0文件系统。 2、inode 译成中文就是索引节点。每个存储设备或存储设备的分区(存储设备是硬 盘、软盘、U盘... ... )被格式化为文件系统后,应该有两部份,一部份是inode,另一部份是Block,Block是用来存储数据用的。而inode呢,就是用来存储这些数据的信息,这些信息包括文件大小、属主、归属的用户组、读写权限等。inode为每个文件进行信息索引,所以就有了inode的数值。操作系统根据指令,能通过inode 值最快的找到相对应的文件。每一个文件开头都是一个inode。 做个比喻,比如一本书,存储设备或分区就相当于这本书,Block相当于书中的每一页,inode 就相当于这本书前面的目录,一本书有很多的内容,如果想查找某部份的内容,我们可以先查目录,通过目录能最快的找到我们想要看的内容。

航模制作教程(DOC)

第一章制作工具的准备 做为一个新入门的模型爱好者,首先遇到的问题就是:做模型需要一些什么工具呢?什么工具是即省钱又好用的呢?在这里我想谈一下自己的经验,希望对您有所帮助。 1.模型剪/钳 刃口由高强度金属制成且成斜口(也称斜口钳),是将模型零件从板子上取下的工具,由于是斜口的,所以不会损坏零件。建议购买国产奥迪的,价格在18元左右。 2.笔刀 将零件剪下后,要将零件上多余的流道削去,就要用到笔刀,建议购买田岛的28元/把(8片刀片)在这里要提醒初学者由于笔刀很锋利,使用笔刀时刀口不要朝向自己,以免造成伤害。 3.锉刀 零件取下之后,还要进行打磨的工作,这时你就需要它。锉刀可以分为钻石粉锉刀(表面上附有廉价的钻石粉)以及螺纹锉刀,前者很适合打磨塑料;后者可以打磨蚀刻片。建议购买有各种形状的套装,一般价格不贵在20~50元左右。锉刀的清理可以用废旧的牙刷刷几下既可。 4.砂纸 在经过锉刀的粗打磨后,就要使用砂纸进行细加工,砂纸分为各种号数,号数越大就越细,建议购买800,1000。1200号水砂纸(在五金店均有售,价格在0。6元/张左右)720 5.胶水 零件打磨完毕以后,就要使用专门的模型胶水进行粘接,在这里笔者强烈建议购买田宫的溜缝胶水(25元/瓶)它流动性相当好,而且粘接强度适中,最重要的是它具有“渗” 的作用,这样就避免了由于胶水涂太多而溢出损坏零件。其他胶水还有模王的瓶装(小瓶10元/瓶大瓶25元/瓶)威龙胶水(8元/瓶现以不多见)等。 6.镊子 模型制作中经常要碰到细小零件,这时你就需要一把好用的镊子,建议购买弯头尖嘴,而且后面有锁扣的那种。 7.补土 一些模型由于开模的原因,在组合后会产生缝隙,这时就需要使用补土来填补。补土有很多种类:水补土,牙膏状补土,AB补土,保丽补土,红补土等,就功能上可以分为填补类:牙膏状补土塑型类:AB补土,保丽补土,红补土表面处理类:水补土。这里只介绍属填补类的牙膏状补土:一般市面上常见的是田宫和郡仕的产品,价格均为25元/支,笔者个人认为田宫的补土较为细腻,容易上手,但有干后收缩大的缺点,但还是建议初学者使用;郡仕补土为胶状,干后硬度大,且收缩小,但较难上手,不太适合初学者。 以上几种就是模型制作中最最基础的工具(不包括涂装工具,将另文介绍),对于初学者来说这仅仅是踏向模型制作之路的第一步,如何使用好这些工具,是模型制作的基本功,也是成为高手的必经之路

黑马程序员:带你制作属于自己的微信公众号

黑马程序员:带你制作属于自己的微信公众号 如何制作自己的公众号 1.什么是微信公众平台 微信公众平台是腾讯为了让用户申请和管理微信公众账号而推出的一个Web平台,而微信公众账号的操作管理在这个平台下进行。所有用户都在腾讯提供的统一微信公众平台下进行相关操作: 平台地址:https://https://www.doczj.com/doc/6510138879.html,/ 2. 微信公众平台开发 开发者模式 1)微信公众平台账号(https://https://www.doczj.com/doc/6510138879.html,) 订阅号:个人版用户,每天可以群发一条消息 服务号:企业版用户,每月可以群发四条消息 2)在线虚拟主机或服务器(SAE云引擎、BAE云引擎、阿里云服务器) 3)TortoiseSVN(SVN客户端软件) 3.开发者模式原理图

二、自定义服务器(BAE) 1、登陆百度云平台 https://www.doczj.com/doc/6510138879.html,/index.html 2、登陆BAE云引擎 3、单击添加部署按钮

然后确认发布即可.单击域名,如出现如下图所示界面,代表创建成功 5、管理BAE云平台 在本地Apache工作目录创建wechat文件夹,然后使用SVN软件进行连接操作,然后输入用户名与密码(百度的账号与密码)即可下载服务端数据到本地。

6、可以修改index.php文件 修改index.php然后通过SVN软件提交到BAE云引擎. 记得一定要去手动发布一下!!!! 三、微信官方接口 1、对接微信公众平台 ①获取微信API接口 解压后:

③复制wx_sample.php文件到项目相关目录中,并更名为api.php,设置TOKEN密钥文件 通过SVN软件上传api.php文件到BAE。 ④打开微信公众平台开发者中心,填写以下信息: ⑥开启自动回复功能 再次提交数据到BAE云引擎中. ⑦再次测试

嵌入式Linux根文件系统制作

实训项目四-嵌入四Linux系统根文件系统制作一. 项目实施目的 了解 UP-CUP2440 型实验平台Linux 系统下根文件系统结构 掌握根文件系统的搭建过程 掌握busybox、mkcramfs等工具的使用方法 二. 项目主要任务 使用busybox生成文件系统中的命令部分,使用mkcramfs工具制作CRAMFS 格式的根文件系统。 分析根文件系统etc目录下重要配置文件的格式及语法,熟悉根文件系统的启动过程 三. 基本概念 1.文件系统基本概念 Linux的一个最重要特点就是它支持许多不同的文件系统。这使Linux非常灵活,能够与许多其他的操作系统共存。Linux支持的常见的文件系统有:JFS、ReiserFS、ext、ext2、ext3、ISO9660、XFS、Minx、MSDOS、UMSDOS、VFAT、NTFS、HPFS、NFS、SMB、SysV、PROC等。随着时间的推移, Linux支持的文件系统数还会增加。Linux是通过把系统支持的各种文件系统链接到一个单独的树形层次结构中,来实现对多文件系统的支持的。该树形层次结构把文件系统表示成一个整个的独立实体。无论什么类型的文件系统,都被装配到某个目录上,由被装配的文件系统的文件覆盖该目录原有的内容。该个目录被称为装配目录或装配点。在文件系统卸载时,装配目录中原有的文件才会显露出来。在Linux 文件系统中,文件用i节点来表示、目录只是包含有一组目录条目列表的简单文件,而设备可以通过特殊文件上的I/O 请求被访问。 2.常见的嵌入式文件系统 嵌入式Linux系统一般没有大容量的磁盘,多使用flash存储器,所以多采用基于Flash(NOR和NAND)的文件系统或者RAM内存的文件系统。 (1)Flash根据结构不同分为 NOR Flash和NAND Flash。基于flash的文件系统主要有: jffs2:RedHat基于jffs开发的文件系统。

自动模型制作教程

一模型的创建流程 1、创建模型前明确所引用的建模理念(如:亚盘理论、欧赔核心理论、赔率价值理论等等)。 2、明确建模所需的步数,即是以多步组合成模型还是以单步生成模型。 3、对第一步进行比赛筛选,将符合条件的比赛筛选出来。 4、从步骤3筛选出来的比赛中筛选选项,将符合条件的投注选项筛选出来。 5、对后续步(如果有)重复步骤3和4. 6、将不同步之间筛选出的比赛进行组合,(如:2串1或3串1等等)。 7、对步骤6的结果进行过滤,把符合过滤条件的单式保留下来。 二模型条件间逻辑关系 1、相同的条件之内,结果取并集。 2、不同条件之间,结果取交集。 三模型条件名词解释 l 场次号升序:对比赛按照场次号进行升序排序。 l 主胜初赔升序:对比赛按照主胜的初始赔率进行升序排序。 l 最小初赔升序:对所有比赛的胜平负赔率中的最小的赔率进行升序排序。 l 让球主胜初赔升序:对比赛按照让球的赔率进行升序排序。 l 新赔主胜升序:对比赛按照最新的赔率进行升序排序。 l 新赔让球主胜升序:对比赛按照最新的让球主胜赔率进行升序排序。 l 从第几场开始:即对排序完的结果进行截取时,从第几场开始,例如选择3,则是从第3场开始,前面两场丢l 截取场数:即对排序完的结果进行截取时,截取的个数。需和从第几场开始配合使用。 l 赔率积:单注中选项的赔率的乘积范围。 l 赔率大小码型:小中大分别表示一场比赛选项中的最小的赔率(一赔)、中间的赔率(二赔)、最大的赔率(比如选择小小、小大和中中。即留下第一场比赛中的一赔选项和第二场比赛中的一赔选项、第一场比赛中的一赔一场比赛中的二赔选项和第二场比赛中的二赔选项。其余的都过滤掉。 l 胜平负码型:此处以2串1码型作为说明,比如选择胜胜和负平。即留下第一场比赛中的主胜和第二场比赛中场比赛中的负平。 l 按注排序截取: 1)奖金由高到低排序。对所有单注按照奖金由高到低的顺序进行排序,然后截取特定范围内的单注。 2)概率由高到低排序。对所有单注按照概率由高到低的顺序进行排序,然后截取特定范围内的单注。 四模型创建实例 1、此处以胜平负+让球胜平负两步来组合生成模型。 2、对胜平负进行比赛筛选,筛选比赛为五大联赛和小联赛,然后按照最小初赔升序的方法对筛选出来的比赛进始,截取一场。比赛筛选条件如下图所示:

实验八 构建根文件系统

实验八构建根文件系统 一、实验目的 1、了解嵌入式Linux文件系统的作用和类型; 2、了解jffs2文件系统的优点和在嵌入式系统中的应用; 3、理解文件系统的挂载过程; 4、使用BusyBox制作一个根文件系统。 二、实验环境 预装redhat9.0(内核版本2.4.x)的pc机一台,XScale嵌入式实验箱一台(已构建嵌入式Linux系统),以太网线一根,交叉编译工具链,BusyBox软件包。 三、实验步骤 1、解压BusyBox软件包; 2、使用make menuconfig来配置BusyBox,修改交叉编译器前缀; Build Option [*] Build BusyBox as a static binary(no shared library) [*]Do you want to build BusyBox with a Cross ompile /usr/local/hybus-linux-R1.1/bin/arm-linux- Installation Option [*]Don't’t use /use Coreutils [*]ls

[*]cp [*]reboot [*]echo [*]mkdir [*]rm Editors [*]vi Login Utilities [*]getty 3、交叉编译BusyBox; make make install 4、建立BusyBox顶层目录结构 mkdir etc dev proc tmp lib var sys 5、在dev目录下创建必要的设备节点 (ram0,console,null,zero); mknod mdblock b 31 3 mknod console c 5 1 mknod null c 1 3 mknod zero c 1 5 cp –dpR /dev /_install/dev (假设busybox的安装目录为/_install)

效果图鸟瞰图教程

效果图与鸟瞰图系列教程 对于一张效果图的工作量来说,建模无疑占了一半以上的工作量,而且建模也是相当费神的。因为cad没有3ds或3dmax那种object的隐藏功能,而且编辑功能也差,看着屏幕上花花绿绿密密麻麻的线框图会令人眼花瞭乱,因而许多人就打了退堂鼓而把自己的设计方案交给并不太熟悉自己意图的人去画效果图。在建模之前首先要熟悉建筑方案,对层数,层高,体量,材质等有个大致的了解,必要时可勾一张徒手草图。然后规划好建模的步骤以及图层,一般可用不同的图层来对应不同的材质。在cad中先设定一个snap值(我一般设为50,对于建筑效果图来说已经足够了),然后把参考平面整理一下,使之变为只有一个图层的图,并把图层换一个比较灰的颜色,以免跟其它层混淆。将参考图的定位点(如柱子的角点)跟snap点对齐(我定于0,0,0),以便于今后的操作。墙的模型可用pline线来绘制。有的人没养成良好的建模习惯,建的模型奇大无比,面数是我的2到3倍。因为不论什么墙他都用一条带宽度和厚度的pline线来画,画高层时也是建了一层后array上去,大家想想,一条带宽度的pline 线有12个面,那这样一来就很可怕了。在没有用上1ghz的电脑前还是要省面为好。我建一道墙时用的是一条零宽的多义线绕着轮廓走三道(有时只走两道),这样这道墙只有6个或4个面了。而且是一直升到顶不用array(当然要计算一下它的thickness)。视点看不到的就不用建了。但是我建议室内的楼板和墙柱等也要建出,因为可能要用到透明玻璃。千万注意窗框栏杆等的尺度,不要建得太粗,否则会

死的很惨的。建模时最好设三到四个视窗,定义2个ucs(正立面和側立面各一个)。要熟悉ucs,view,chprop等命令。遇到了较为复杂的模型可用实体建模的方法,或是在3dmax之中再补上。建模时要适当考虑地形,一般要把路,草地,广场,台阶都建出来。然后用dview命令设一个相机进行观察。模型建完后可export成.3ds 或.dxf的文件,以便在3dmax之中导入。也有人直接在3dmax中直 接调入.dwg文件。二布光的过程及原则灯光的设置方法会根 据每个人的布光习惯不同而有很大的差别,这也是灯光布置难于掌握的原因之一.布光前应对画面的明暗及色彩分布有一定的设想,这主 要是为了使灯光布置具有目的性.接下来就是如何用3d studio max 中超现实的灯光去模拟自然光复杂的变化. 布光的原则有以下几条: 1. 在3d studio max 场景中要注意留黑. 绘画时, 颜料的载体是白纸, 因此要尽量利用画纸的空白,为进一步修改留有余地, 并且将白色本身作为一种色彩进行处理. 在3d studio max场景中黑色是基色, 所以应注意留黑, 这样会使灯光的设置有调节的余地,可以产生微妙的光影变化。切勿将灯光设置太多,太亮, 使整个场景一览无余, 亮得没有了一点层次和变化, 使渲染图显得更加生硬. 记住, 要谨慎 地使用黑色, 因为一切从黑色开始。 2. 灯光的设置不要有随意性, 应事前规划. 初学者都有随意摆放灯光的习惯, 致使成功率非常低。大部分时间要在此耗费掉。根据自己对灯光的设想有目的地去布置每一盏灯, 明确每一盏灯的控制对象是灯光布置中的首要因素, 使每 盏灯尽量负担少的光照任务,虽然这会增加灯光的数量,使场景渲染

微信公众平台快速上手教程

微信公众平台快速上手教程Part1 注册账户与认证 刘子骏微信微博营销微信, 微信公众平台17Comments发表评论 这段时间越来越多朋友和客户开始关注微信,我收到大量咨询微信公众平台在哪里注册等相关问题,所以不如写篇教程出来,以后大家看教程就可以了,本教程会根据微信最新变动而不断修改和完善的。 注册前最好做好以下准备: 1、想一个容易给客户识别和方便记忆的中文名称,毕竟用户通过中文名称搜索的频率是最高的,而且最好是品牌名,或者是企业名称的缩写,例如广州火鹰信息科技有限公司,注册名就可以改成火鹰科技,这样方便记忆也方便查询。如果你想加大被搜索几率,可以在名称后面加入主营业务信息,例如卡斯玛男装或卡斯玛正装,这样用户搜男装或正装都有机会找到你。这里还有一点要特别注意的是微信公众平台的名称注册后是不能修改的,所以填写时一定要先谨慎考虑。 2、准备好身份证正背面的扫描件 3、设计好微信头像图片,一般300×300像素就可以了 然后就可以直接登录https://www.doczj.com/doc/6510138879.html,/就可以开始注册。 点击注册按钮后进入注册界面

以前微信是强制要求使用QQ账户登陆注册的,现在改成了随便使用一个可以收发邮件的邮箱就可以注册了。完成这一步会提示需要到注册邮箱激活账户!

点击邮件的激活链接后,会出现以下页面,这也是微信公众账户注册的第三步,这就需要之前提到的身份证扫描件(特别提示一下,一个身份证可以注册5个帐号。),还需要用手机进行短信验证。该页面除了个人住址和单位地址是可以不填之外,其他都必须填写,而且资料一定要真实,否则微信日后检查发现资料有问题会随时有封号的危险,当你填写完成后,系统也会提醒说明的。

Ubuntu for Arm根文件系统制作

1.安装rootstock软件 rootstock是一个用来制作Ubuntu根文件系统的工具,可以使用apt-get install rootstock获取,也可以在官网直接下载:https://https://www.doczj.com/doc/6510138879.html,/project-rootstock 若选择前者:直接使用rootstock命令 若选择后者:解压下载文件rootstock-0.1.99.4.tar.gz得到rootstock可执行文件,可以将其拷贝到系统bin目录下 2.rootstock创建根文件系统 [html]view plaincopy 得到文件系统压缩文件qemu-armel-201408271515.tar.gz 创建一个空镜像: [html]view plaincopy 在镜像上创建文件系统: [html]view plaincopy 挂载镜像: [html]view plaincopy 将文件系统解压到挂载目录: [html]view plaincopy 这时可以修改挂载目录中的东西了: [html]view plaincopy 最后是得到最后的文件系统镜像: [html]view plaincopy

3.模拟器中运行根文件系统 下载模拟器qemu: [html]view plaincopy 在2中的“若干修改”中执行: [cpp]view plaincopy 在仿真环境中访问文件系统 [cpp]view plaincopy 此时在仿真环境下就可以安装SPICE了:[cpp]view plaincopy 安装完SPICE后保存文件系统: [cpp]view plaincopy

SVAR模型制作过程

设置月度数据MONTHLY>start date:2008M01>end date 2018M08 一,数据的季节调整(利用x-12进行季节性调整) 由于在建模时所选取的是宏观经济的月度数据,而月度数据容易受到季节因素的影 响,从而掩盖经济运行的客观规律,因此我们采用Census X13(功能时最强大的)调整方法对各个变量数据进行季节性调整。分别记做CPI’、FOOD’、HOUSE’、M2’、 VMI’。 时间序列按照时间次序排列的随机变量序列,任何时间序列经过合理的函数变换后都可以被认为由几个部分叠加而成。三个部分:趋势部分(T),季节部分(S) 和随机噪声部分(I)。常见的时间序列都是等间隔排列的。 时间序列调整各部分构成的基本模型 X t=T t++T t+I t对任何时刻有,E(I t)=0,Var(I t)=σ2加法模型 X t=T t*T t*I t对任何时刻有,E(I t)=1,Var(I t)=σ2加法模型 (1)判定一个数据序列究竟适合乘法模型还是加法模型,可考察其趋 势变化持性及季节变化的波动幅度。 (2)所谓季节调整就是按照上述两种模型将经济时间序列进行分解, 去掉季节项的序列成为调过序列。 对于时间序列而言是否存在整体趋势?如果是,趋势是显示持续存在还是显示将随时间而消逝? 对于时间序列而言是否显示季节性变化?如果是,那么这种季节的波动是随时间而加剧还是持续稳定存在? 对于时间序列的分解模型主要有加法模型和乘法模型。 加法模型适用于T、S、C相互独立的情形。 乘法模型适用于T、S、C相关的情形。由于时间序列分解的四大要素一般都存在相 互影响,因此大多数的经济数据都采用乘法模型进行季节性分解。 第一步:双击进行季节性调整的变量组CPI,proc >Seasonal Adjustment>x-12

ramdisk根文件系统制作

制作根文件系统有两种方法 1、利用开发板提供的映像文件制作ramdisk 2、利用busybox制作根文件系统(制作过程复杂) 采用第一种方法制作需要的ramdisk 1、拷贝已有的uramdisk.image.gz 到新建的tmp/下,cp uramdisk.image.gz tmp/ 2、去掉mkimage生成的64 bytes 的文件头,生成新的ramdisk.image.gz $ dd if=uramdisk.image.gz of=ramdisk.image.gz bs=64 skip=1 3、 gunzip解压ramdisk.image.gz 生成ramdisk.image $ gunzip ramdisk.image.gz 4、新建挂载目录“ramdisk”,并将ramdisk.image挂载 $ sudo mount -o loop,rwramdisk.imageramdisk 5、接下来,只需要将ramdisk目录下的内容全部拷贝到rootfs下即可 cp -R ramdisk /* rootfs 这样就有了自己的rootfs,省去利用busybox制作的麻烦了 有了制作好的rootfs,下面就开始制作映像文件了 1、创建镜像文件ramdisk8M.image,并设置大小为8M,文件系统格式为ext2 $dd if=/dev/zero of=ramdisk8M.image bs=1024 count=8192 $mke2fs -F ramdisk8M.image -L "ramdisk" -b 1024 -m 0 $tune2fs ramdisk8M.image -i 0 $chmod 777 ramdisk8M.image 大小可以按照需要自己调整,但是最好不要超过32M,创建ramdisk目录,将ramdisk8M.image 挂载到该目录下 $mkdirramdisk $mount -o loop ramdisk8M.image ramdisk/ 接下来,只需要将rootfs目录下的内容全部拷贝到ramdisk下即可 $cp -R rootfs/* ramdisk 注意,这里cp的参数一定是R而非r。 这样,这个镜像文件的内容就是rootfs目录下的内容了。将其卸载就可, $umountramdisk/ 到此,根文件系统镜像文件ramdisk8M.image 制作完成,将其压缩 gzip -9 ramdisk8M.image 用mkimage添加文件头,生成新的uramdisk.image.gz 供u-boot 使用 $ mkimage -A arm -T ramdisk -C gzip -n Ramdisk -d ramdisk8M.image.gzuramdisk.image.gz 可以制作一个文件buildfs,如下

相关主题
文本预览
相关文档 最新文档